OptionalalignWhether to let Vexflow align rests to preceding or following notes (Vexflow option). Default false (0). This can naturally reduce collisions of rest notes with other notes. Auto mode (2) only aligns rests when there are multiple voices in a measure, and at least once at the same x-coordinate. Auto is the recommended setting, and would be default, if it couldn't in rare cases deteriorate rest placement for existing users. The on mode (1) always aligns rests, also changing their position when there is no simultaneous note at the same x-coordinate, which is nonstandard.
OptionalautoWhether to automatically create beams for notes that don't have beams set in XML.
OptionalautoOptions for autoBeaming like whether to beam over rests. See AutoBeamOptions interface.
OptionalautoSet to true if subsequent measures full of rests should be auto-converted to multi-rest measure. Default is true This works across instruments- If all instruments have subsequent measures with nothing but rests, multirest measures are generated
OptionalautoAutomatically resize score with canvas size. Default is true.
OptionalbackendRender Backend, will be SVG if given undefined, "SVG" or "svg", otherwise Canvas.
OptionalcoloringWhether to enable coloring noteheads and stems, depending on coloringMode.
OptionalcoloringDefines the mode that is used for coloring: XML (0), Boomwhacker(1), CustomColorSet (2). Default XML. If coloringMode.CustomColorSet (2) is chosen, a coloringSetCustom parameter must be added.
OptionalcoloringSet of 8 colors for automatic coloring of 7 notes from C to B + rest note in HTML form (e.g. "#00ff00" for green).
OptionalcolorWhether to color the stems of notes the same as their noteheads. Default false.
OptionalcursorsDefines multiple simultaneous cursors. If left undefined the standard cursor will be used.
OptionaldarkDark mode (black background, white notes). Simply sets defaultColorMusic and EngravingRules.PageBackgroundColor.
OptionaldefaultDefault color for Labels like title or lyrics. Default black (undefined).
OptionaldefaultDefault color for all musical elements including key signature etc. Can be used for dark mode etc. Default undefined.
OptionaldefaultDefault color for a note head (without stem). Default black (undefined).
Only considered before loading a sample, not before render.
To change the color after loading a sample and before render, use note(.sourceNote).NoteheadColor.
The format is Vexflow format, either "#rrggbb" or "#rrggbboo" where
OptionaldefaultDefault color for rests. Default black (undefined).
OptionaldefaultDefault color for a note stem. Default black (undefined).
OptionaldefaultDefault color for labels in the title. Overrides defaultColorLabel for title labels like composer. Default black (undefined).
OptionaldefaultDefault font used for text and labels, e.g. title or lyrics. Default Times New Roman Note that OSMD originally always used Times New Roman, so things like layout and spacing may still be optimized for it. Valid options are CSS font families available in the browser used for rendering, e.g. Times New Roman, Helvetica.
OptionaldefaultDefault font style, e.g. FontStyles.Bold (1). Default Regular (0).
OptionaldisableDon't show/load cursor. Will override disableCursor in drawingParameters.
OptionaldrawWhether to draw the composer name (top right of the score).
OptionaldrawWhether to draw credits (title, subtitle, composer, lyricist) (in future: copyright etc., see
OptionaldrawWhether to draw fingerings (only left to the note for now). Default true (unless solo part).
OptionaldrawOnly draw measure n to m, where n is the number you specify. (for m, see drawUpToMeasureNumber)
OptionaldrawWhether to draw hidden/invisible notes (print-object="no" in XML). Default false. Not yet supported.
OptionaldrawingBroad Parameters like compact or preview mode. Also try "compacttight", which is like compact but also reduces margins. To see what this mode does and maybe adjust the spacing parameters yourself instead of using the mode, see DrawingParameters.ts:setForCompactTightMode().
OptionaldrawWhether to draw the lyricist's name, if given (top left of the score).
OptionaldrawWhether to draw lyrics (and their extensions and dashes).
OptionaldrawWhether to draw measure numbers (labels). Default true. Draws a measure number label at first measure, system start measure, and every [measureNumberInterval] measures. See the [measureNumberInterval] option, default is 2.
OptionaldrawWhether to only draw measure numbers at the start of a system ("new line"), instead of every [measureNumberInterval] measures. Default false.
OptionaldrawWhether to draw metronome marks. Default true. (currently OSMD can only draw one at the beginning)
OptionaldrawWhether to draw part (instrument) name abbreviations each system after the first. Only draws if drawPartNames. Default true.
OptionaldrawWhether to draw part (instrument) names. Setting this to false also disables drawPartAbbreviations, unless explicitly enabled (drawPartNames: false, drawPartAbbreviations: true).
OptionaldrawWhether to calculate extra slurs with bezier curves not covered by Vexflow slurs. Default true.
OptionaldrawWhether to draw the subtitle of the piece. If true, enables drawing Title as well.
OptionaldrawWhether to draw time signatures (e.g. 4/4). Default true.
OptionaldrawWhether to draw the title of the piece. If false, disables drawing Subtitle as well.
OptionaldrawOnly draw measure n to m, where m is the number specified. (for n, see drawFromMeasureNumber)
OptionaldrawOnly draw the first n pages, where n is the number specified.
OptionaldrawOnly draw the first n systems, where n is the number specified.
OptionalfillWhether to fill measures that don't have notes given in the XML with whole rests (visible = 1, invisible = 2, for layouting). Default No (0).
OptionalfingeringFor above/below fingerings, whether to draw them directly above/below notes (default), or above/below staffline.
OptionalfingeringWhere to draw fingerings (above, below, aboveorbelow, left, right, or auto). Default AboveOrBelow. Auto experimental
OptionalfollowFollow Cursor: Scroll the page when cursor.next() is called and the cursor moves into a new system outside of the current view frame.
OptionalmeasureThe interval of measure numbers to draw, i.e. it draws the measure number above the beginning label every x measures. Default 2.
OptionalnewWhether to begin a new page ("page break") when given in XML ('new-page="yes"'). Default false, because OSMD does its own layout that will do page breaks interactively (when given a PageFormat) at different measures. So this option may result in a page break after a single measure on a page.
OptionalnewWhether to begin a new system ("line break") when given a new page in XML ('new-page="yes"'), but newPageFromXML is false. Default false, because OSMD does its own layout that will do line breaks interactively at different measures. So this option may result in a system break after a single measure in a system.
OptionalnewWhether to begin a new system ("line break") when given in XML ('new-system="yes"'). Default false, because OSMD does its own layout that will do line breaks interactively at different measures. So this option may result in a system break after a single measure in a system.
OptionalpageA custom page/canvas background color. Default undefined/transparent. Example: "#FFFFFF" = white. "#12345600" = transparent. This can be useful when you want to export an image with e.g. white background color instead of transparent, from a CanvasBackend. Note: Using a background color will prevent the cursor from being visible for now (will be fixed at some point).
OptionalpageSee OpenSheetMusicDisplay.PageFormatStandards for standard options like "A4 P" or "Endless". Default Endless. Uses OpenSheetMusicDisplay.StringToPageFormat(). Unfortunately it would be error-prone to set a PageFormat type directly.
OptionalpercussionThis property is only active if the above property is active (percussionOneLineCutoff) This is the cutoff for forcing all voices to the single line, instead of rendering them at different positions above/below the line. The default is 3, so if a part has less than voices, all of them will be rendered on the line. This is for cases like a Concert snare, which has multiple 'instruments' available (snare, side stick) should still render only on the line since there is no ambiguity. If this value is 0, the feature is turned off. IF this value is -1, it will render all percussion clef voices on the single line.
OptionalpercussionThe cutoff number for rendering percussion clef stafflines as a single line. Default is 4.
This is number of instruments specified, e.g. a drumset:
OptionalpreferredDefines which skyline and bottom-line batch calculation algorithm to use.
OptionalrenderThis makes OSMD render on one single horizontal (staff-)line. This option should be set before loading a score. It only starts working after load(), calling setOptions() after load and then render() doesn't work in this case.
OptionalsetWhether to set the wanted stem direction by xml (default) or automatically.
OptionalskyDefines the minimum number of measures in the entire sheet music where the skyline and bottom-line batch calculation is enabled.
OptionalspacingNumber in pixels, of spacing between multi-line labels
OptionalspacingThe softmaxFactor for Vexflow's formatter. Default is 5, default in Vexflow is 100 (voice.js). Lowering this factor makes the spacing between individual notes smaller (especially from one half note to the next). So, to get more compact scores, try lowering this value (or set osmd.zoom, which simply scales), or try 100 for a more expansive layout. Setting this is the same as setting osmd.EngravingRules.SoftmaxFactorVexFlow.
OptionalstretchSet to true if the last system line should be streched across the whole page just as the other systems. Default is false
OptionaltripletsWhether all triplets should be bracketed. Overrides tupletsBracketed for triplets. If false, only triplets given as bracketed in XML (bracket="yes") will be bracketed. (Bracketing all triplets can be cluttering)
OptionaltupletsWhether all tuplets should be bracketed (e.g. |--5--| instead of 5). Default false. If false, only tuplets given as bracketed in XML (bracket="yes") will be bracketed.
OptionaltupletsWhether tuplets are labeled with ratio (e.g. 5:2 instead of 5 for quintuplets). Default false.
OptionaluseXMLMeasureWhether to read measure numbers from the "number" attribute in the xml file as opposed to defaulting to start at measure 1. Default true.
Possible options for the OpenSheetMusicDisplay constructor and osmd.setOptions(). None are mandatory. Note that after using setOptions(), you have to call osmd.render() again to make changes visible. Example: osmd.setOptions({defaultColorRest: "#AAAAAA", drawSubtitle: false}); osmd.render();
Note that some additional, usually more small scale options are available in EngravingRules, though not all of them are meant to be manipulated. The OSMDOptions are the main options we support.