Every note is a tickable, i.e., it can be mutated by the Formatter
class for
positioning and layout.
To enable logging for this class. Set Vex.Flow.NoteHead.DEBUG
to true
.
Default font for text. This is not related to music engraving. Instead, see Flow.setMusicFont(...fontNames)
to customize the font for musical symbols placed on the score.
Returns the CSS compatible font string.
Provide a CSS compatible font string (e.g., 'bold 16px Arial').
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').
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').
the font size in px
.
the font size in pt
.
a CSS font-style string (e.g., 'italic').
a CSS font-style string (e.g., 'italic').
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.
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.
Set postformatted status.
Set postformatted status.
Set preformatted status.
Set preformatted status.
Add a class label (An element can have multiple class labels).
Add self to the provided ModifierContext mc
.
If this tickable has modifiers, set modifierContext.
this
Apply the element style to context
.
Apply a tick multiplier.
Check and get the beam.
Validate and return the context.
Check and get ModifierContext
.
Check and get the target stave.
Draw the notehead.
Draw the element and all its sub-elements (ie.: Modifiers in a Stave) with the element style.
Get the canvas x
coordinate position of the notehead.
Return an attribute.
Return the element attributes.
Get the beam.
Get the BoundingBox
for the NoteHead
.
Return the center x
shift.
Return the context.
Accessor to duration.
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.
Return the formatterMetrics.
Get the glyph data.
Get the glyph width.
Return the intrinsic ticks.
Get spacing to the left of the notes.
Get the stave line the notehead is placed on.
Get the stave line number for rest.
Get the stave line number for the note.
Get the metrics for this note.
Get ModifierContext
.
Get the coordinates for where modifiers begin.
Get the list of associated modifiers.
Get all modifiers of a specific type in this.modifiers
.
Accessor to note type.
Get the play note, which is arbitrary data that can be used by an audio player.
Get spacing to the right of the notes.
Get the target stave.
Get the direction of the stem.
Get the top and bottom y
values of the stem.
Get the element style used for rendering.
Get the TickContext
for this note.
Get the tick multiplier.
Return the ticks.
Get the x
coordinate to the left of the note.
Get the x
coordinate to the right of the note.
Get the tuplet.
Return the intrinsic ticks.
Return the voice that this note belongs in.
Get the width of the notehead.
Get x
position of this tick context.
Get the x
displaced pixels of the note.
Get the Y coordinate.
Get the Y position of the space above the stave onto which text can be rendered.
Get Y positions for this note. Each Y value is associated with an individual pitch/key within the note/chord.
Check it has a beam.
Check if it has a class label (An element can have multiple class labels).
Accessor to hasStem.
Determine if the notehead is displaced.
Accessor to isDotted.
Return the rendered status.
true if this note is a type of rest.
Rests don't have pitches, but take up space in the score. Subclasses should override this default implementation.
Postformat the Tickable.
Pre-render formatting.
Remove a class label (An element can have multiple class labels).
Reset the Tickable, this function will be overloaded.
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.
Restore the style of context
.
Set an attribute.
Set the center x
shift.
Set the context.
Set the duration.
Set the element's font family, size, weight, style (e.g., Arial
, 10pt
, bold
, italic
).
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 (at least one of size
, weight
, or style
must also be provided).
a string specifying the font size and unit (e.g., '16pt'), or a number (the unit is assumed to be 'pt').
is a string (e.g., 'bold', 'normal') or a number (100, 200, ... 900).
is a string (e.g., 'italic', 'normal').
If no arguments are provided, then the font is set to the default font.
Each Element subclass may specify its own default by overriding the static TEXT_FONT
property.
Change the font size, while keeping everything else the same.
Set the element & associated children style used for rendering.
Ignore the ticks.
Set the intrinsic ticks.
Set spacing to the left of the notes.
Set the stave line the notehead is placed on.
Attach this note to a modifier context.
Set the rendered status.
Set spacing to the right of the notes.
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();
Set the TickContext
for this note.
Set width of note. Used by the formatter for positioning.
Set the X coordinate.
Displace note by x
pixels. Used by the formatter.
Set the Y coordinate.
Set Y positions for this note. Each Y value is associated with an individual pitch/key within the note/chord.
True if this note has no duration (e.g., bar notes, spacers, etc.).
Debug helper. Displays various note metrics for the given note.
NoteHeads
are typically not manipulated directly, but used internally inStaveNote
.See
tests/notehead_tests.ts
for usage examples.