This website works better with JavaScript
0.9.4 (2021-02-22)
Bug Fixes
Slurs: The parameters for slur flattening were fine tuned to not flatten mid-length, mid-angle slurs (#971 )
Transposing: Some necessary changes for the transposition plugin hotfix (Sponsor early access build)
0.9.3 (2021-02-18)
Bug Fixes
Beams: Fix long stems for notes in beams (#954 ) when different (wrong) stems given in XML (8b1d898 )
Clefs: Fix mid-measure clef added at wrong position (#954 ) because of forward/backup node. (1a77ae8 )
NotePositions: GraphicalNote boundingbox position improved (#966 , #967 ), osmd.graphic.GetNearestNote working (1fde0f6 )
Slurs: Read slur orientation from xml (#962 ) (Sibelius alternative to placement) (4ab1c44 )
Slurs: Reduce height of long, steep slurs by flattening them (#971 ) (f128913 )
Stems: Respect stem "None" in XML: don't display stems (#964 ) (941c50b ), closes #951
StringNumbersClassical: Write as roman numerals, offset positioning, etc (#957 , #949 ) (20b8cc9 )
Features
ChordSymbols: Add osmd.rules.RenderChordSymbols (false now supported) (fe19427 )
Cursor: Add rules.DefaultColorCursor (#961 ) (3170486 )
Drawer: Add drawer.DrawBoundingBox() as standalone method ((#969 ), (#961 ))
Overlays: drawLine(), drawRectangle() etc returns removable svg node, add backend.removeNode() (#970 ) (dc9c66a ), closes #961 #b5f3f5
String Numbers: Add option osmd.rules.RenderStringNumbersClassical (#949 ) (boolean) (5500251 )
0.9.2 (2021-01-27)
Bug Fixes
Cursor: Fix bounding box/cursor position when only one vertical measure has an endClef (#872 ) (8b40dd3 ), related to #797
Features
Chords: Add options for chord alignment, relative x offset (#948 ) (143899b )
Rehearsal Marks: Render Rehearsal Marks (#919 ), add several RehearsalMarks EngravingRules (c931341 )
Rehearsal Marks: Add osmd.rules.RehearsalMarkXOffsetSystemStartMeasure (#919 ) (default -20[px]) (84d60e1 )
StringNumber: Display XML String number (e.g. violin) (#949 ) (9aba63c )
0.9.1 (2021-01-26)
Bug Fixes
Accidentals: Remove many unnecessary extra courtesy accidentals not given in XML (#747 ) (7493be9 )
PercussionOneLineXMLDisplayStep: Display XML position correctly in all cases (#945 ) (3eb4747 )
0.9.0 (2021-01-25)
Bug Fixes
Articulations: Don't assume placement above by default (#921 ) (e.g. staccato) (6f4dc27 )
Chords: Fix rare error with chords having accidentals on the wrong note (#944 ) (5177806 )
Cursor: Ignore hidden parts for cursor.next: Always move to next visible voice entry (#929 ) (7ca20d1 )
Directions: Fix Segno, Coda and To Coda positioning (#920 ): To Coda at end, Segno at beginning of measure (9643493 ), closes #920 #920 #920
Exports: Add 4 missing exports from MusicalScore/Graphical/Vexflow (#935 ) (cab1a23 )
Fingerings: Display fingerings and arpeggios for grace notes (#878 ) (e02556d )
Layout: Fix tuplets starting with rest notes not layouted correctly (shorter length) (#936 ) (1e70f83 )
Layout: Pickup measures aren't unnecessarily wide anymore (#938 ) (f02bce1 )
Layout: Widen pickup measure per staffentry accidental (#938 ) (e1f6277 )
Lyrics: Read and display multiple text nodes separated by elision on single syllabic (#941 ) (1883ddd )
Metronome: Better avoid collisions with tempo instructions, especially at the beginning of a sheet (eed0606 )
Options: SystemComposerDistance leaves same distance for single and multiple composer lines (#917 ) (61ae292 )
StaveRepetitions: Fix To Coda, D.S. etc. not positioned correctly (#920 ). Add EngravingRule RepetitionSymbolsYOffset (06a86b0 )
Stems: Don't auto-stem beams for tuplets (#945 ), respect SetWantedStemDirectionByXml (026db91 )
Stems: Don't force direction for beamed notes with SetWantedStemDirectionByXml=true (#945 ) (40d822e )
Features
Chords: Display complex (Jazz) Chords correctly (#933 ), e.g. G7(b9,#11 )/B, add EngravingRules.renameChord(), addChordName() (9ee524a ), closes #930 #873 #590 #786
Chords: Elongate measures for chords - prevent most chord collisions (merge PR #928 ) (ba3ae42 )
Export: Add SVG export to OSMD and generateImages_browserless.js -> png|svg option (#670 ) (8cf4567 ), closes #932 #932
GraphicalNote: Add osmd.rules.GNote(note) (#660 ) to get GraphicalNote from Note (d1d12c9 ), closes #559
GraphicalNote: Add static GraphicalNote.FromNote(note, osmd.rules) (#660 , #659 ) (acf1c6e )
KeySignatures: Add EngravingRules.RenderKeySignatures (#894 ) (false now supported) (09c8c61 )
Options: Add PickupMeasureWidthMultiplier to EngravingRules (#938 ) (530d078 )
PercussionOneLine: Add EngravingRules.PercussionOneLineUseXMLDisplayStep (#945 ) (33a7184 )
PercussionOneLine: Add osmd.rules.PercussionOneLineXMLDisplayStepOctaveOffset (#945 ) (5f5d4e9 )
0.8.7 (2020-11-05)
Bug Fixes
Accidentals: Remember quarter sharp/flat, don't automatically put a natural after them (#903 ) (0696624 )
Beams: Fix beams in tuplets with disconnected stems (#907 ) (8a97d47 )
Beams: Fix beams with tuplets (#907 ). Add EngravingRules FlatBeams, FlatBeamOffset, FlatBeamOffsetPerBeam (7207676 )
Beams: Fix nested beams, erroneous xml beam numbers (#909 ). Save IsGrace in Note (a0df576 )
ChordSymbols: Render Natural Harmonic (#887 )
Compact mode: Compact mode is now even more compact, doesn't add system margin (#898 )
Empty Measures: Prevent a Vexflow bug where a measure was empty because a modifier width was NaN (a0dbc4f ), closes #899 #49
Fingering: Associate fingering with correct note when not all notes have fingerings, save Note.Fingering (#889 ) (a59e5d9 )
Iterator: Fix iterator.clone(): start at iterator.currentTimeStamp if startTimeStamp undefined (#896 )
Layout: Don't add first system's border to margin below title. Saves a lot of space. (5c32ff1 ), closes #898
Octave Shifts: Fix ottavas (octave shifts) not generated correctly over multiple systems (#591 ) (PR #777 ) (11e9c20 )
Rhythm: Don't print rhythm twice even if given in pickup measure and following measure (#890 ) (d34f5e4 )
Skyline: Replace undefined values with neighboring values. Fix some tab scores (#911 ) (e824928 )
Zoom: Fix pageBackgroundColor not filling entire page for zoom < 1 (#904 ) (d795e7b )
Zoom: Fix using += with osmd.Zoom by adding osmd.Zoom getter (3cb7fc2 ), closes mpat#75
Features
Slurs: Take slur placement from XML by default (#827 ). add EngravingRules.SlurPlacementFromXML (4cb3de9 )
Log: Add log level silent (no console.logs)
osmd.Sheet: Add setter for TitleString, SubtitleString, ComposerString, LyricistString (no need to give Label)
Tremolo: Add TremoloStrokeScale and TremoloYSpacingScale in EngravingRules (887 )
0.8.6 (2020-09-15)
Bug Fixes
Voltas, Tabs : Fix regression in 0.8.5 where repetition volta shift and tabnote svg id fixes were not applied (will soon be automatically fixed by vexflow patch script)
Miscellaneous
Build : Build size down to 1.1MB again from mysterious increase to 1.3MB in 0.8.5
0.8.5 (2020-09-08)
Bug Fixes
Container height: Small scores don't significantly exceed bounding box anymore (SVG height). Fix PageBottomMargin (#875 ) etc (c43565c ), closes #788
Rests: Fix rests in pickup measures (e.g. 8th pickup in 4/4 time) turned into whole measure rests or multiple measure rests. (f1478a6 )
Tabs: Fix multi-rest for tabs. Never create fingerings for tabs, for now (ed8d174 )
Features
Measure Numbers: Display measure numbers (labels) as given in XML (#541 ) (6f5d77a ), closes #879
Options: Add drawUpToPageNumber and drawUpToSystemNumber options (#835 )
0.8.4 (2020-08-14)
Bug Fixes
Barline: Better detect measure ending barline from XML in some cases (#868 ) (bfc5892 )
Beams: Fix beams with bad slopes by always recalculating beams. (#843 ) (7b1297e )
Chords: Prevent undefined error (2cff998 )
Cursor: Attach to correct page HTMLElement (canvas) (#817 ) (decb3f1 )
Cursor: Position correctly on page 2+ (#817 ) (ca7dffc )
Cursor: Show correctly for MultiRestMeasures, interpolated by MeasureNumber (progress) (f80697b )
Layout: Don't automatically create new system after final barline. add EngravingRules.NewPartAndSystemAfterFinalBarline (7a0a1e4 )
Layout: Fix lyrics dashes causing errors with drawUpToMeasureNumber (#838 ), fix dynamic expressions missing (1128c8b )
MeasureNumbers: Don't reset measure number count if this.rules.NewPartAndSystemAfterFinalBarline disabled (0991aac )
Metronome marks: Draw all metronome marks, not just in first measure (#804 ) (f37cabb ), closes #848
OctaveShift: Fix occasional error when no start or end note found (#860 ) (f91e5d0 )
OctaveShift: Fix rare null error (#860 ) (deb21e3 )
Ornaments: Mordent and inverted mordent reversed (mordent with line), according to MusicXML definition (#866 ) (1237bec )
Rest note positioning: Rest notes respect the display-step and display-octave tags now (#759 ) (e894bc8 ), closes #852
Tabs: By default, don't draw tuplet numbers in tabs (#805 ) (89a9f0f )
Tabs: Fix setLedgerLineStyle not found on rests (907fede )
Ties: Ties render correctly again, fix tie cross-up (#844 ) (efee071 )
Tuplet: Respect placement below from XML (#867 ) (cf7ecfe )
Visible: Fix some errors when setting sheet.Instrument[i].Visible to false on multiple instruments. (9037f67 )
Volta: Fix y-alignment for multiple rest measures (fix #789 ) (539e7d0 )
Features
Fonts: Read and apply fontStyle for UnknownExpressions like dolce (#348 ) (28b313d )
Labels: Add option for additional spacing between multiline text labels (EngravingRules.SpacingBetweenTextLines) (b530316 )
Multirest: Auto-generate multirest measure from subsequent rest-only measures (#861 ) (f7d6424 )
Options: Add option StretchLastSystemLine to stretch last system to full width (#842 ) (88d1a5a ), closes #847
Options: Add osmd.EngravingRules.LyricsYOffsetToStaffHeight (#865 ) (3ca5dd0 )
Rests: For rests encircled by beamed notes, if no display-step given, put the rest on the same y-height as previous note to avoid collisions. (a74d77b ), closes #66
0.8.3 (2020-07-28)
Bug Fixes
MetronomeMark: render correct beat unit (e.g. half instead of quarter). fix #828 (b2fb539 )
Parsing: fix missing default-y value for credit-words causing parse error (4773487 ), closes #62
Repeat: don't draw vertical line at the beginning of a system for single staff systems (#834 ) (e556978 )
Slur: Slurs avoid note collision (c114296 )
Slur: Slurs avoid note collision (#802 ) (18397f2 )
Slur: Tweaks to slur rendering from matt-uib (b6d628f )
Tabs: by default, don't draw tuplet numbers in tabs (#805 ) (89a9f0f )
Transparency: ledger lines of invisible notes are now invisible as well. (#799 ) (d73e8ac )
fixed right alignment (and also x-center alingment) of text lines in multi-line-label (e.g. for Composer on the right side) (3988fde )
Features
Articulation: render marcato, up and down (8104dfa )
Label: Add support for no-print on part names (c3e6c8d )
Label: Add support for multiline labels (#801 ) (eda4cbf )
Lyrics: Spacing: add maximum measure elongation factor in EngravingRules. (b575746 )
MultipleRest: Render multiple measure rests. add option to not render them. (#506 ) (7a04814 )
Noteheads: support breve type (brevis) (#803 ) (09fc5e7 )
Options: add EngravingRules.PageBottomExtraWhiteSpace (#788 ). merge #822 (6e5ae88 )
Options: add new EngravingRules for notationFontScale, stemWidth, staffLineColor (#836 ) (2e1ab25 )
Options: add option to draw measure numbers only at the start of a system (line) (ca9b88e ), closes #59
Options: add option to not render time signatures (drawTimeSignatures: false). (#793 ) (21b089b )
Options: set default ledger line color to black (instead of grey). set in EngravingRules.LedgerLineColorDefault (cb31c98 ), closes #799
Spacing: Tweaks to compress spacing more (#820 ) (682f77c )
Spacing: optimize vexflow voice spacing/scaling, refactor (817762a )
Tabs: Add Slides, Bends, Hammer-on and Pull-offs (PR #839 ) (8de1400 )
0.8.2 (2020-06-13)
Features
PDF: Remove createPDF from OSMD object (move to demo), reducing bundle size (from 1.5MB to 1.1MB). Fix FileReader pollution (64c8ccf )
0.8.1 (2020-06-10)
Bug Fixes
OctaveShift: avoid some errors when end of octaveshift not found (#778 ) (86e6726 ), closes #777 #591
0.8.0 (2020-06-10)
Bug Fixes
Beams: Recalculate beams on resize, so they fit to stem (#724 ) (50b0864 )
ChordSymbols: add 5 for power chord (e.g. C5, C plus fifth) (#760 ) (6e1558d )
ChordSymbols: read augmented and dim in abbreviated form (aug, dim) (a291f6f )
ChordSymbols: write Cm(maj7) for C kind 'major-minor' (#784 ) (d00f29e )
Cursor: fix cursor undefined for canvas backend, improve cursor creation (#736 ) (cb193d2 )
Layout: more lenient Measure Number Label collision checks, place them slightly to left (#782 ) (616de17 )
Rendering: catch Vexflow errors while rendering a measure, prevent render loop stopping. (#773 ) (e2079a3 )
Refactor undefined checks to also check null (#783 ) (12766fb )
Options: drawPartNames: false now also disables drawPartAbbreviations, unless set explicitly (#388 ) (cd50b68 )
Skyline: Fix Measure number skyline offset (b97439e )
fixed breaking the system if the last measure has an endline (thin-bold line) (9d98357 )
implemented always showing the current rhythm if there was an end line given in the last system. (b2b31bf )
Expressions: don't align expressions when there are no edges involved. manual merge of #768 (ff77b46 )
Expressions: fix alignment in most cases, fix distance calculation (#758 , #768 ) (6d5e752 )
improved chord symbol text output and fixed transposing code. (de2ef57 )
improved slur fix - removed magic number. Should work now for tabs as well. (f67428c )
removed doublettes check for dynamic expressions, as they might make sense for e.g. a repetition start, where another dynamic was used at the end of the repetition. (9ea9814 )
Layout: update Vexflow to 1.2.91 (now 1.2.93), fixing time signature yPos. adapt vexflow import. #706 (7de0f7d )
Subtitle: don't add comma before work number if subtitle is otherwise empty (36e4e2a )
Features
Cursor: restore cursor state after resize and re-render (#734 ) if option set (default true) (a08e957 )
Cursor: unique HTMLElement id (cursor.cursorElementId) (d8a15b2 )
Font: can set fontFamily per label (#737 ), refactor: don't set defaultFontStyle per label (a7af16b )
Iterator: clone() optionally starts from a given startTimeStamp (not fully tested) (5d52d18 )
Options: able to set ledger line width and style (color) in EngravingRules. (f4c2fc3 )
Options: add option to not draw metronome marks (#680 ) (42a1ebe )
Options: can modify chord symbol text for all chords (except major). (#784 ) (6f53f1c )
Text: can set the fontStyle of a label, e.g. Bold (1) or BoldItalic (3). new option defaultFontStyle (#739 ) (894868b )
0.7.6 (2020-04-17)
Features
Layout: support XML page breaks optionally. new option newPageFromXML. #702 (2bcec40 )
Options: start new system ("line break") when given in XML and OSMDOptions.newSystemFromXML set (#702 ) (5284aaa )
Options: add drawingparameter "compacttight" for reduced margins and tighter spacing (085ff1a )
0.7.5 (2020-04-15)
Bug Fixes
Slurs: fix undefined slur error in beethoven moonlight sonata (#679 ) (d23581f )
Beams: fix beams retaining old slope after zooming (#655 ) (447c4f9 )
Tuplets: fix rendering for half note tuplets (were displayed as whole notes) (#700 (9512c3a )
Features
Options: Instances of osmd don't share static options/EngravingRules anymore. Can have multiple independently on one page (#559 ) (fc095ad )
Tabs/Testing: Add function test and testing/demo sample for guitar tabs (e18f133 )
0.7.4 (2020-04-14)
Bug Fixes
BackendSelection: can now create and remove canvas backend (again), backend option only changed when given, improve backend creation code (#662 ) (c0a522c )
CanvasBackend: limit canvas dimensions to browser limitation of 32767, for now (#678 ) (55ef164 )
Clefs: fix clef not detected when exported with invalid clef number (Sibelius) (#635 ) (3250842 )
Color: fix defaultColorRest and defaultColorNotehead not applied (7f5e1c9 )
Color: fix EngravingRules.ColorStemsLikeNoteheads, ColorBeams not respected for false (9a6ac74 )
Demo: fix optional zoom controls not shown, improve hiding/unhiding of control elements (#661 ) (9783204 )
Demo/Embedding: hide debug controls before rendering, always check showHeader option, only show debug controls by default on dev server (#661 ) (8b60397 )
Fingering: fix all TechnicalInstructions counted as fingering, fix fingering for tabs (don't display on tab clef) (ee80e91 ), closes #711
Lyrics: fix null reference for lyrics dashes when drawing range set (a19b3cd )
Repetition: don't render a downward jog at type 'discontinue' (#656 ) (996847d )
Ties: prevent undefined tieNotes from creating a Vexflow error and crashing rendering (6209cd3 )
Vexflow: update vexflow to 1.2.90, fixing rests displayed twice (see OSMD function test invisible notes) (a713d20 )
Features
Tabs: OSMD can now render guitar tabulature from MusicXML, see PR #716 and issue #126
Color: new option pageBackgroundColor. can set canvas color e.g. to white instead of transparent. (#670 ) (4e5043c )
Demo: add showPageFormatControl, showExportPdfControl parameter, fix showZoomControl, hide header/controls before loading (#661 ) (126d88e )
Embedding: add parameters for compact mode, measure range, page format. Revise PageFormat argument handling. (#661 ) (5dc780e )
Embedding: create backend option (#661 ), also, give warning when PDF is created on Canvas background. (49dd902 )
ExportPNG: generate pngs for multiple pages when PageFormat given. add pageWidth/Height parameters (#670 , #676 ) (0353fac )
GeneratePNGs: can generate PNGs browserless by node script, improved speed (#670 ) (4089a59 )
PageFormat: warn if a page can't fit a single MusicSystem. (1483403 )
Rendering: add option renderSingleHorizontalStaffline (#681 ) (b1c298d )
Rendering: add osmd.Drawer.DrawOverlayLine, which allows the user to render colored lines on any MusicPage (#651 ) (6d8b9fc )
Testing: add visual regression testing script, generating diffs for all OSMD samples (c17a3c7 )
0.7.3 (2020-01-15)
Bug Fixes
Arpeggio: fix up/down direction (wrong in Vexflow), remove Vexflow dependency (450b2d9 ), closes #645
Dynamics, drawing range: fix crescendo crashing when partially out of drawing range (#644 ) (8105270 )
Etc
Imports: Remove many Vexflow dependencies in core OSMD classes (Arpeggio, MusicSheetCalculator, other /Graphical/ classes) (450b2d9 , 90d93b9 )
Cursor: Improve Follow Cursor performance (thanks to @praisethemoon ) (#639 )
0.7.2 (2019-12-13)
Bug Fixes
Arpeggio: don't draw one-note arpeggios (#617 ) (5f7e183 )
Arpeggios: prevent infinite height bug, arpeggio always going across voices (#546 ) (3fbed99 )
autoBeam: don't beam over half notes or beat, prevent separate beams connecting (da464aa ), closes #574
autoBeamOption: don't beam notes of type quarter or longer in tuplets (c3b3b5a )
barline: don't automatically end piece with final barline if not specified (#569 ) (8ae7938 )
barlines: fix left barline added to end barline (#588 ) (6608f17 )
ChordSymbols: save and show all chords on single note (#599 ) (2d7e265 )
credits placement: fix title and composer label placement, now in relation to Staffline width (b7af9b8 ), closes #578
Cursor: starts and ends at selected range of measures to draw (#566 ) (3fe770e )
demo: set and reset options for specific test samples correctly (b28b5dc )
empty measures: not filled with whole rests by default anymore. new option fillEmptyMeasuresWithWholeRest (#625 ) (00522db )
exports: export Vexflow graphical classes (e.g. VexflowGraphicalNote) (06ef2f3 ), closes #549
Fractions: add gt and gte methods, replace some > and < occurences (#518 ) (c80fea6 )
lyrics Placement: fix support for Sibelius format (#583 ) (084f308 )
octaveShift, drawRange: start and end at within draw range, fix error (9f6bb82 ), closes #586
SkyBottomLineCalculator: prevent infinity bug with startIndex = endIndex and .slice (554d277 ), closes #575
stemColor: respect ColoringEnabled, re-color to default if disabled (#614 ) (52928cb )
whole rest bbox: fix whole rest bounding box in non-4/4 time (#609 ) (2b91655 ), closes #616 #605
Features
alignRests: add auto option (alignRests: 2) which only aligns rests if measure contains simultaneous voices (1c8de9f ), closes #621
API: Allow updating the graphical sheet from the music sheet (#622 ) (55c3d8a )
API: save ActiveTimeSignature in SourceMeasure (4927727 )
barline: able to not draw barlines (fix barline none) (#391 ) (7524287 )
ChordSymbols: show all chordsymbols over a single note/staffEntry (spacing WIP) (#599 ) (6eb97fa )
exports: Add module exports for VoiceData (#631 ) (a2ce3a2 )
open same-origin xml url: supported (#603 ) (0ac0132 ), closes #576
options: add option to (not) draw slurs (#602 ) (1333195 )
options: add option to align rests and avoid rest collisions, which also aligns rests with voices (#621 ) (ca6d730 )
options: can set font family for labels (default Times New Roman) (35ee9e2 ), closes #477
options: offer options to disable measure numbers, set their interval (0d5af7a )
Options: add drawLyrics option (#602 ) (9d09586 )
0.7.1 (2019-08-19)
Bug Fixes
part names: drawPartNames = false does not leave left x-spacing in first line anymore (595f8ab ), closes #515
stemColor: respect colorStemsLikeNoteheads option in XML color mode as well (6548c57 ), closes #486
Ties: fix not displaying ties because measure to graphicalMeasure dictionary didn't work (27d3645 ), closes #503
Features
drawFromMeasureNumber: can now specify first measure to draw from as well as last,
closes #528 #482
bar lines: Add support for double and final bar lines (#519 ) (e05b99a )
color: add colorStemsLikeNoteheads option, color beams like stems as well if matching (b631879 ), closes #486
tempo: Save measures' BPM (#558 ) (cf199ad ), closes #557
transparency: add invisible notes as transparent StaveNotes instead of GhostNotes (d0211a7 )
transparency: allow transparency after re-render with Note.PrintObject = false (52212d6 ), closes #509
demo: add option to follow cursor (, add function test selectMeasuresToDraw)
0.7.0 (2019-03-25)
Bug Fixes
Ajax Timeout: Ajax timeout was not handled for IE and node (2a66245 ), closes #479
Octava display error: Fixed the octave shift bracket to be shown over the note line (0e7f9f7 ), closes #490
options: fix drawing parameters always being created in setOptions, causing some options to be reset with {} arguments (419c39d )
partAbbreviations: don't draw part abbreviations for solo parts, add option to not draw abbreviations (945d6a1 )
partNames: fix showing only one of multiple parts with same instrument name (3bee67e )
ties: fix error in tie handling when no end note found (3757db5 )
tremolo: enable half note tremolo between two different half notes. (eefadf8 ), closes #472
tuplet: correct tuplet label for number of notes not equal to tuplet label (bf5aaa1 ), closes #485
tuplet: fix duplet, quadruplet, tuplet layout (596e794 ), closes #488
Features
Coloring: Add automatic Boomwhacker coloring scheme (#494 ) (adaecc4 ), closes #486
Instrument label abbreviations: Add instrument label abbreviations (a67dc00 ), closes #466
Types: OSMD uses TS types from Definitely typed now, improved Vexflow compatibility in TS (53f2c44 )
Options: implement DrawCredits (8c6df97 )
Parts: read and display XML part abbreviations (e.g. Vln for Violin) (9fe031e )
Tremolo: display single note tremolos (db1840c ), closes #431
0.6.8 (2019-02-08)
Bug Fixes
alignment: fix alignment of notes following dotted rest (a7eb53d ), closes #484
0.6.7 (2019-01-16)
Bug Fixes
beams: ignore beams between notes => quarter (tremolo) causing error (2eb2a92 ), closes #472
Various
added osmd.Version getter to check OSMD version
exported more classes for TS import (/Graphical/*) (#454 )
Packages updated (webpack-dev-server, etc.)
0.6.6 (2018-12-04)
Package
devDependencies : Remove browserify and tsify dependencies. Fixes unnecessary npm audit warnings.
Bug Fixes
color: use color instead of colorXml for coloring notehead, stem. (590e281 ),
export missing TS classes - closes #462
0.6.5 (2018-11-29)
Features
ChordSymbols: Chord symbols update their bounding box in the skyline. (#467 ) (70ffe0b ), closes #464
options: add drawUpToMeasureNumber option (f319541 ), closes #409
tempo: Add Graphical metronome mark (#468 ) (6ff4fcb )
0.6.4 (2018-11-14)
Features
export: export all classes for TS import (#458 ) (3364b52 )
0.6.3 (2018-11-08)
Bug Fixes
color: correctly parse XML color with alpha channel. (0c28816 )
color: notes are re-colored during render() (3e3d9b3 ), closes #440 #448
color: set default colors during render(). (298632f ), closes #440
Features
color: can set defaultColorLabel, defaultColorTitle (91a6b1f ), closes #440
osmd: Grant public access to osmd and cursor member elements (#452) )
0.6.2 (2018-10-25)
Bug Fixes
noteheadshape: add color attribute null check (3d8da1e )
Features
color: enable defaultColor options for notehead, stem, rest, (3323664 ), closes #438 , (f1b33ab )
0.6.1 (2018-10-25)
Bug Fixes
cue notes: parse cue element (9443163 )
grace notes: fix stem direction for beamed grace note connected to beamed main note (28fc01e )
Features
color: color Notehead/Stem, flags, beams. parsed by XML (#436 ) (4126133 )
add options to enable or disable coloring (f78524e )
demo: add function test color (abfd252 )
0.6.0 (2018-10-18)
Bug Fixes
accidentalOctaveShift: place notes with octave brackets correctly (#424 ) (43f13d5 )
ChordSymbolReader: replace old conversions. fixes chord symbol reading (e.g. Ab). (b8d41de ), closes #418
ChordSymbols: add y spacing so stems don't collide (78cd2ed )
cue notes: add as VF.GraceNote instead of VF.StaveNote (8d1371f )
grace notes: can be at end of measure, after main note (37f145d )
grace notes: grace note beams handled like other beams now, can have any grace note beams (94cc6b5 )
invisible notes: invisible rests formatting partly fixed by adding ghost notes (3b0e19d )
resize: handling, set autoResize at runtime, add osmd.clear(), demo null checks (#428 ) (cf2111e ), closes #403 #387
stemDirection: fix beam with grace note in middle bug (#413 ) (a71496c )
tests: fix null pointer in setStemDirection (Haydn test fail) (ad89d96 )
VexFlowUpdate: update to 1.2.87, fixes npm audit vulnerabilities
Features
Expressions/Dynamics: Add Crescendo wedges, texts, spacing, etc. (#410 )
Arpeggios: Display arpeggios (#411 ) (90ae82f )
autoBeam: add option to automatically beam notes (09170a2 )
cue notes: add cue notes as smaller notes. grace notes can have articulations (0094f1f ), closes #349
fingering: add fingerings to right, above, below, auto (#406 ) (0e50f89 ), closes #350
fingering: draw fingering using Vexflow, can be disabled by option (628562b )
NoteHeadShapes: add square, rectangle note head (b6a15ef ), closes #404
options: Options now settable during runtime: public setOptions() (76bd9bf ), closes #407
stemDirection: use xml stem direction. (optionally) (6373d58 ), closes #415
0.5.1 (2018-09-26)
Bug Fixes
Bbox/Cursor: fix bbox and cursor position for whole rests (#383 ) (3d1894d ), closes #380
Cursor: Fix Cursor jumping incorrectly on Next() (#377 ) (f43e305 ), closes #376
DrawingParameters: switching default and compact mode during runtime correctly renders each mode after re-render. (96bf081 )
Error handling: Fix error loading empty score, improve error handling (#367 ) (aa65792 ), closes #358
Invisible notes: do not display invisible notes and double rests. (a6ac78c )
NoteHead: info instead of warn for unsupported NoteHead, use triangle for "do" (f1d4b47 )
Zooming on mobile devices crashed OSMD: Skip Bottomline Update if the zoom gets too much for vexflow (#375 ) (c562a96 ), closes #373
Features
Invisible notes: Do not display invisible time signature. (af0770a )
Invisible notes: Do not display invisible notes. Invisible notes are parsed, with invisible (printObject) flag (ccf860e )
Options: add options interface for osmd constructor (#368 ) (9da9cb4 )
Options: implement compact mode, drawPartNames, drawTitle, drawSubtitle, drawComposer, drawLyricist (9cec507 )
Tuplets: Read and display tuplet bracket setting from XML. Do not display tuplet ratios by default. (f568e51 )
Demo: Add Re-render button, add column to layout (#361 )
0.5.0 (2018-09-05)
Bug Fixes
Skyline: Labels affect height of skyline now. Start and end (b5f3bcd )
Cursor: Fix x-position of cursor (6887f20 )
Demo: Fix console warning on init (#332 ) (0845c6d )
Demo: Sample file names more consistent (c9fcbae )
Expressions: Octaveshift line breaks work now (e2b1780 ), closes #309
In-measure clef layout: add as NoteSubGroup instead of ClefNote directly. (97a0043 ), closes #307 #311
LyricsSpacing: eliminate overlap between lyrics labels by extending measures (622f346 )
LyricsSpacing/Dashes: reduce lyrics spacing and number of dashes (7565bb0 )
Lyrics: Shorten lyrics y offset (0c8eb28 )
Demo: add OSMD function test files to index.js (fe260c0 )
Relative Bounding Positions: Relative x positions in bounding boxes were not adjusted to note head (af21d7e ), closes #309
VexFlowMusicSheetCalculator: fix vexflow formatting error caused by align_rests = true (4fa7b4e )
TimeSignatures : Display Common/Alla Breve time symbols instead of numbers, fix key signature without mode (6e99997 ), closes #305
VexFlow : Update to VexFlow version 1.2.85, fixes rerender issues with grace notes, ornaments, etc. (a840ea3 )
Repetitions : Fix drawing repetition endings using VexFlow Voltas (c32ba9d )
Features
Slurs: Display Slurs (1123251 ) #359
Ornaments: Display Ornaments (7032fdc )
GraceNotes: Display GraceNotes (3412e9a ), closes #293
GraceNotes: Display Grace slur (boolean) (2525e92 ), closes #293
Accidentals: Display quarter tones, triple sharps/flats (024b95e ), closes #215 #284
In-Measure Clefs: Display in-measure clefs (3158eb4 )
NoteHeads: Add Note Head Shapes (Percussion: Slash, Triangle, Diamond, X) (#337 ) (4599d51 ), closes #327 #325
Lyrics: Draw LyricsExtends (_), fix lyricsSpacing (#322 ) (e9da9e1 )
Dynamics: Display Dynamics (Instantaneous expressions) (29337c9 )
Lyrics: Left-Alignment (default), Center optional, fix lyricsSpacing (#356 ) (6205fe3 )
Tempo Expressions: Add all tempo expressions (83d59c8 ), closes #309
0.3.1 (2018-06-25)
Bug Fixes
Fixed a bug where vexflow does not support having 8va
and the bass
type (ad0630d )
Added fix in repetition comparer (from #251 ) (9c7e164 )
Fixed UTF-8 encoding in AJAX loader. Fixes #252 #254
Fixed ajax loader for mxl using old mimetype. (ae8c5e1 )
Fixed a little bug at the extra instruction measure (da0ba9d )
Fixed tie drawing bug - now all ties of a chord are drawn. (4021833 )
Fixed whole notes not being in the middle of a measure, see #260 ) (ee2f706 )
Features
Improved ghostnote positioning and a ghost note converter (6dc0460 )
Added GraphicalVoiceEntry
for displaying lyrics (471ee19 )
0.3.0 (2018-05-03)
Bug Fixes
logging: fixed problems connected to loglevel type definition changes (eea535d )
corrected begin instructions width (begin modifiers) to work also for extra instruction measures. (1509a81 )
fixed a bug in stem calculation which made all stems up for a single voice. (aeb670e )
fixed all broken file references in demo file selector. (3659fec )
fixed showing the staveconnector of multi-staved instruments at the end of the system. (46ca911 )
refined position of Articulations (always close to note head). Remaining problem: Beam calculations change initial stem direction. Articulation positions need to be set after beams. (22de162 )
using backend select value already for initial OSMD constructor (97aad81 )
Features
Articulations: Added ArticulationReader - articulations are read from xml (f529f45 )
clef: Improved conversion of ClefInstructions to VexFlow clefs. Lines are now respected during (473c85a ), closes #110
engraving: allow to change system labels' right margin (#131 ) (be03289 )
implemented setting stem direction automatically from voice type (main or linked voice) (e7f9e10 )
optional element mode in key signature (e85117a ), closes #108
Styles
moved linting from grunt to npm script (8dafc27 )
BREAKING CHANGES
Running grunt lint
is no longer possible.
0.2.0 (2017-04-08)
0.1.0 (2016-09-23)
Added
Added Reset button for cursor for demo
Added more xml files for demo and testing
Added unit tests for reading and calculating the xml files
Added logo as favicon and as img for demo site
Changed
Bugfixes
Fixed cursor functionality in demo
Changed
Updated Github pages deployment (645c428 )
Changed
Updated Github pages deployment (e5a8771 )
Changed
Updated Github pages deployment (64a332c )
Changed
Updated Github pages deploy script (4ac4dbb )
Changed
Changed Travis CI deploy configuration (a550e48 )
Added
Prepared for brace and bracket generation with VexFlow (fd40c22 )
Class documentation (73d319f )
OSMD is now usable via script tags (091dab9 )
Set up loglevel
as logging framework (c00b5a8 )
Support for ocatvated clefs (567b3b3 )
Demo is now automatically built and published to https://opensheetmusicdisplay.github.io/demo/ (1c63f82 )
Class documentation generated with typedoc, published to https://opensheetmusicdisplay.github.io/ (bc91091 )
Added rendering tuplets
Added rendering ties
Added rendering dots
Added documentation for VexFlow and other graphical objects
Proper title display
Cursor on first StaffEntry by default
Better grunt tasks
Included demo for better debugging
Added tests for container's width
Small fixes for correct x-layouting
Support for loading MusicXML files by URL
Support for Promises in loading sheet music
Better tests for OSMD
Changed
Compiled files are no longer under version control (6b01a8f )
Renamed test files according to '_Test' convention
Removed workaround for title labels
Renamed files to reflect class names
Bugfixes
Measure and clef size fixes (aa7c96d )
MusicXML reader exception due to wrong file encodings (9af59d6 )
Fixed bug in measure number calculation
Fixed a bug in calculator
Fixed bug with beginInstructionWidth
Fixed bug with response HTTP status
Added
Auto resize to window width
Preliminary MXL support from URLs
Tests for OSMD
Implemented a basic cursor object to browse the sheet
Public API: Rename MusicSheetAPI
(renamed to OSMD
)
Fallback title display
Better usage of VexFlow measure size
Fixed duplicated beams when redrawing
[0.0.1-alpha.0] - 2016-07-08
Added