Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ChordSymbol

ChordSymbol is a modifier that creates a chord symbol above/below a chord. As a modifier, it is attached to an existing note.

Hierarchy

Index

Constructors

Properties

DEBUG: boolean = false
HorizontalJustify: typeof ChordSymbolHorizontalJustify = ChordSymbolHorizontalJustify
HorizontalJustifyString: Record<string, ChordSymbolHorizontalJustify> = ...
VerticalJustify: typeof ChordSymbolVerticalJustify = ChordSymbolVerticalJustify
VerticalJustifyString: Record<string, ChordSymbolVerticalJustify> = ...
glyphs: Record<string, { code: string }> = ...
symbolModifiers: typeof SymbolModifiers = SymbolModifiers
symbolTypes: typeof SymbolTypes = SymbolTypes

Accessors

  • get font(): string
  • set font(f: string): void
  • Returns the CSS compatible font string.

    Returns string

  • Provide a CSS compatible font string (e.g., 'bold 16px Arial').

    Parameters

    • f: string

    Returns void

  • Return a copy of the current FontInfo object.

    Returns Required<FontInfo>

  • Return a copy of the current FontInfo object.

    Parameters

    Returns void

  • get fontSize(): string
  • set fontSize(size: string | number): void
  • The size is 1) a string of the form '10pt' or '16px', compatible with the CSS font-size property. or 2) a number, which is interpreted as a point size (i.e. 12 == '12pt').

    Returns string

    a CSS font-size string (e.g., '18pt', '12px', '1em').

  • The size is 1) a string of the form '10pt' or '16px', compatible with the CSS font-size property. or 2) a number, which is interpreted as a point size (i.e. 12 == '12pt').

    Parameters

    • size: string | number

    Returns void

  • get fontSizeInPixels(): number
  • Returns number

    the font size in px.

  • get fontSizeInPoints(): number
  • Returns number

    the font size in pt.

  • get fontStyle(): string
  • set fontStyle(style: string): void
  • Returns string

    a CSS font-style string (e.g., 'italic').

  • Parameters

    • style: string

    Returns void

    a CSS font-style string (e.g., 'italic').

  • get fontWeight(): string
  • set fontWeight(weight: string | number): void
  • Returns string

    a CSS font-weight string (e.g., 'bold'). As in CSS, font-weight is always returned as a string, even if it was set as a number.

  • Parameters

    • weight: string | number

    Returns void

    a CSS font-weight string (e.g., 'bold'). As in CSS, font-weight is always returned as a string, even if it was set as a number.

  • get subscriptOffset(): number
  • Returns number

  • get superscriptOffset(): number
  • The offset is specified in em. Scale this value by the font size in pixels.

    Returns number

  • get CATEGORY(): string
  • Returns string

  • get NO_TEXT_FORMAT(): boolean
  • set NO_TEXT_FORMAT(val: boolean): void
  • Currently unused: Globally turn off text formatting, if the built-in formatting does not work for your font.

    Returns boolean

  • Currently unused: Globally turn off text formatting, if the built-in formatting does not work for your font.

    Parameters

    • val: boolean

    Returns void

  • Modifiers can be positioned almost anywhere, relative to a note.

    Returns typeof ModifierPosition

  • get PositionString(): Record<string, number>
  • Returns Record<string, number>

  • Default text font. Choose a font family that works well with the current music engraving font.

    override

    Element.TEXT_FONT.

    Returns Required<FontInfo>

  • get engravingFontResolution(): number
  • Returns number

  • get kerningOffset(): number
  • Returns number

  • get lowerKerningText(): string[]
  • Returns string[]

  • get metrics(): any
  • Returns any

  • get minPadding(): number
  • Returns number

  • get spacingBetweenBlocks(): number
  • Returns number

  • get subscriptOffset(): number
  • Returns number

  • get superSubRatio(): number
  • Returns number

  • get superscriptOffset(): number
  • Returns number

  • get upperKerningText(): string[]
  • Returns string[]

Methods

  • Add a class label (An element can have multiple class labels).

    Parameters

    • className: string

    Returns ChordSymbol

  • Add a glyph block.

    Parameters

    • glyph: string
    • params: any = {}

    Returns ChordSymbol

  • addGlyphOrText(text: string, params?: any): ChordSymbol
  • Add a glyph for each character in 'text'. If the glyph is not available, use text from the font. e.g. addGlyphOrText('(+5#11)') will use text for the '5' and '11', and glyphs for everything else.

    Parameters

    • text: string
    • params: any = {}

    Returns ChordSymbol

  • Add a glyph block with superscript modifier.

    Parameters

    • glyph: string

    Returns ChordSymbol

  • Add a line of the given width, used as a continuation of the previous symbol in analysis, or lyrics, etc.

    Parameters

    • width: number
    • params: any = {}

    Returns ChordSymbol

  • Add a symbol to this chord, could be text, glyph or line.

    Parameters

    • parameters: any

    Returns ChordSymbol

  • Add a text block.

    Parameters

    • text: string
    • parameters: any = {}

    Returns ChordSymbol

  • Add a text block with subscript modifier.

    Parameters

    • text: string

    Returns ChordSymbol

  • Add a text block with superscript modifier.

    Parameters

    • text: string

    Returns ChordSymbol

  • alignSubNotesWithNote(subNotes: Note[], note: Note): void
  • checkAttachedNote(): Note
  • Used in draw() to check and get the attached note (StaveNote, TabNote, etc.). Also verifies that the index is valid.

    Returns Note

  • checkIndex(): number
  • Check and get note index, which is a specific note in a chord.

    Returns number

  • draw(): void
  • Render text and glyphs above/below the note.

    Returns void

  • drawWithStyle(): void
  • Draw the element and all its sub-elements (ie.: Modifiers in a Stave) with the element style.

    Returns void

  • getAttribute(name: string): any
  • getCategory(): string
  • getFont(): string
  • getFontSize(): string
  • Returns string

    a CSS font-size string (e.g., '18pt', '12px', '1em'). See Element.fontSizeInPixels or Element.fontSizeInPoints if you need to get a number for calculation purposes.

  • getHorizontal(): number
  • Returns number

  • getIndex(): undefined | number
  • Get note index, which is a specific note in a chord.

    Returns undefined | number

  • getKerningAdjustment(j: number): number
  • Do some basic kerning so that letter chords like 'A' don't have the extensions hanging off to the right.

    Parameters

    • j: number

    Returns number

  • getPosition(): number
  • getReportWidth(): boolean
  • Returns boolean

  • getSVGElement(suffix?: string): undefined | SVGElement
  • Return associated SVGElement.

    Parameters

    • suffix: string = ''

    Returns undefined | SVGElement

  • getSpacingFromNextModifier(): number
  • ChordSymbol allows multiple blocks so we can mix glyphs and font text. Each block can have its own vertical orientation.

    Parameters

    • params: any = {}

    Returns ChordSymbolBlock

  • getVertical(): number
  • Returns number

  • getWidth(): number
  • getXShift(): number
  • getYOffsetForText(text: string): number
  • Parameters

    • text: string

    Returns number

  • hasClass(className: string): boolean
  • Check if it has a class label (An element can have multiple class labels).

    Parameters

    • className: string

    Returns boolean

  • isRendered(): boolean
  • resetFont(): void
  • Reset the text font to the style indicated by the static TEXT_FONT property. Subclasses can call this to initialize textFont for the first time.

    Returns void

  • setAttribute(name: string, value: undefined | string): ChordSymbol
  • setFont(f?: string | FontInfo, size?: string | number, weight?: string | number, style?: string): ChordSymbol
  • Set the chord symbol's font family, size, weight, style (e.g., Arial, 10pt, bold, italic).

    override

    See: Element.

    Parameters

    • Optional f: string | FontInfo

      is 1) a FontInfo object or 2) a string formatted as CSS font shorthand (e.g., 'bold 10pt Arial') or 3) a string representing the font family (one of size, weight, or style must also be provided).

    • Optional size: string | number

      a string specifying the font size and unit (e.g., '16pt'), or a number (the unit is assumed to be 'pt').

    • Optional weight: string | number

      is a string (e.g., 'bold', 'normal') or a number (100, 200, ... 900).

    • Optional style: string

      is a string (e.g., 'italic', 'normal').

    Returns ChordSymbol

  • Change the font size, while keeping everything else the same.

    Parameters

    • Optional size: string | number

    Returns ChordSymbol

  • Set horizontal justification.

    Parameters

    • hj: string | number

    Returns ChordSymbol

  • setSpacingFromNextModifier(x: number): void
  • Set the element style used to render.

    Example:

    element.setStyle({ fillStyle: 'red', strokeStyle: 'red' });
    element.draw();

    Note: If the element draws additional sub-elements (ie.: Modifiers in a Stave), the style can be applied to all of them by means of the context:

    element.setStyle({ fillStyle: 'red', strokeStyle: 'red' });
    element.getContext().setFillStyle('red');
    element.getContext().setStrokeStyle('red');
    element.draw();

    or using drawWithStyle:

    element.setStyle({ fillStyle: 'red', strokeStyle: 'red' });
    element.drawWithStyle();

    Parameters

    Returns ChordSymbol

  • Set vertical position of text (above or below stave).

    Parameters

    • vj: string | number

    Returns ChordSymbol

  • Shift modifier x pixels in the direction of the modifier. Negative values shift reverse.

    Parameters

    • x: number

    Returns ChordSymbol

  • updateKerningAdjustments(): void
  • Returns void

  • updateOverBarAdjustments(): void
  • Returns void

  • Estimate the width of the whole chord symbol, based on the sum of the widths of the individual blocks. Estimate how many lines above/below the staff we need.

    Parameters

    Returns boolean

  • getMetricForGlyph(glyphCode: string): any
  • Parameters

    • glyphCode: string

    Returns any

  • getWidthForGlyph(glyph: Glyph): number
  • Parameters

    Returns number

  • getXShiftForGlyph(glyph: Glyph): number
  • Parameters

    Returns number

  • getYShiftForGlyph(glyph: Glyph): number
  • Parameters

    Returns number