Skip to content

Latest commit

 

History

History
368 lines (194 loc) · 42.3 KB

CHANGELOG.md

File metadata and controls

368 lines (194 loc) · 42.3 KB

1.7.0 (2022-12-12)

Bug Fixes

  • Fermata: Fix inverted fermata placement/overlap with multiple voices (#1278, PR #1279) (15e4015)
  • OctaveShift: Fix rare error when startX greater stopX (#1281, PR #1282) (e8d89a0)
  • Overlap: Fix overlap with implicit / pickup measure after repeat with single note pickup (#1286, #1236) (f667f67)
  • Overlap: Fix overlap with implicit / pickup measure without repeat with single note pickup (#1286, #1236) (700be56)
  • Tempo: Increase TempoYSpacing from 0 to 0.5 (prevents (near-)overlaps, no apparent downside) (#1243) (9e584d0)

Features

  • Articulation: Add breath mark support (#527, PR #1285). Add EngravingRules.BreathMarkDistance (default 0.8 = 80%) (f98b9a2)
  • Cursor: Add getter and setter for CursorOptions (#1276) (b1b6492)
  • Pedal: Support pedal. Show (piano) pedal signs and brackets (#347). Add EngravingRule RenderPedals (393b25f)

1.6.1 (2022-11-14)

Bug Fixes

  • Cursor: cursor.next(): Skip positions that only contain invisible notes (#1264) (9805f09)
  • Error: Fix error when dynamics node has no elements, leading to an empty measure (#1269) (5f98841)
  • Repetitions: Fix D.C. Al Coda read as DalSegnoAlCoda (#920) (8ab2a00)
  • Repetitions: Fix repetition symbols like D.C. or Coda too far left (#920, PR #1265). Add EngravingRules.RepetitionEndInstructionXShiftAsPercentOfStaveWidth (4ff0226)
  • Slur: Fix double slur with different placement ignored as "duplicate" (#1275) (fa14941)

Features

  • Cursor: Add cursor.previous(), moving back to previous note, counterpart to next() (#1266) (ddb0189)

1.6.0 (2022-10-28)

Bug Fixes

  • Brackets text: Ignore [ ] square brackets (originally around notes) too with EngravingRules.IgnoreBracketsWords (#1251) (e5b9047)
  • Marcato: Always place above staff (#1261), in line with Gould - Behind Bars (0e7421d)
  • Ties: Set downward tie direction for downward ties split over two systems in vexflow (#1262) (5a155ef)
  • Ties: Use downward arc for ties in secondary voices (#1262) (01398b9)
  • Wedges: Ignore duplicate wedges given in MusicXML (e.g. crescendo) (#1259, PR #1260) (7f235fe)

1.5.8 (2022-10-14)

Bug Fixes

  • BoundingBox: Fix bounding box of MusicSystem and SystemLeftLine too large (#1245) (62cd3fa)
  • BoundingBox: Fix bounding box of voice entries of whole notes with many ledger lines too large (#1245) (30676bf)
  • BoundingBox: Fix PageTopMargin also partly added to a bottom margin / container size in certain cases (#1245) (fa5fa7c)
  • Brackets: Ignore brackets = '( )' words/text by default (#1251) supposed to be around a note, but can't be matched to the note. (32060b7)
  • Margins: Fix page bounding box too long. Respect EngravingRules.PageLeftMargin and PageRightMargin for renderSingleHorizontalStaffline (#643) (dbb1f18), closes #1244

1.5.7 (2022-09-28)

Features

  • Options: Add EngravingRules.TempoYSpacing (#1243) to be able to set spacing/padding for tempo (e.g. beginning "Allegro") (194e765)
  • Performance: Marginal speedup potential for getImageData by using willReadFrequently attribute for CanvasContext. Fix Chrome warning (#1242) (c60c0d6), closes #1241

1.5.6 (2022-09-22)

Bug Fixes

  • Canvas: Fix rehearsal marks not rendered in browser with Canvas backend (a4d5a3b)
  • DefaultColorLyrics: Fix not applied on re-render (aa1945a)
  • DefaultColorMusic: Fix CanvasBackend overwriting and not using DefaultColorMusic (#1218) (285878e)
  • DefaultColorMusic: Fix EngravingRules.DefaultColorMusic not applying to octave brackets, crescendo/decrescendo wedges (#1218) (145e715)
  • DefaultColorMusic: Fix rehearsal marks ignoring defaultColorMusic (#1218) (svgcontext.rect ignoring stroke) (2702667)
  • EngravingRules: Fix GraphicalVoiceEntries creating their own EngravingRules. Reduce EngravingRules creations also via DrawingParameters. (1a96112)
  • Spacing: Fix implicit measure spacing after repeat (#1236). Add EngravingRules.PickupMeasureRepetitionSpacing (3da2244), closes #1234

Features

  • DefaultColorLyrics: Add EngravingRules.DefaultColorLyrics, independent from DefaultColorMusic (#1218) (3445343)

1.5.5 (2022-09-15)

Bug Fixes

  • Drums: Fix Slash notehead overwriting other noteheads in chord/VoiceEntry (#1228) (66390b1), closes #1229
  • Measure Numbers: Fix EngravingRules.RenderMeasureNumbersOnlyAtSystemStart not showing measure number 1 after pickup measure (2e7011f)

1.5.4 (2022-09-12)

Bug Fixes

  • Layout: Fix hiding first instrument causing shift of lyrics, dynamics, etc (#1222) (280075c), closes #1223
  • Slurs: Fix overlap of slurs with accents on slur start note (part of #1224) (229f0dd), closes #1226
  • Slurs: Fix slurs overlapping with articulations like staccato on slur end note (part of #1224) (336b0ad), closes #1225

1.5.3 (2022-09-05)

Bug Fixes

  • Tuplets: Fix rest notes not having TypeLength set. EngravingRules.TupletNumberLimitConsecutiveRepetitions: Fix tuplet count not reset for next voice (rare issue) (#1207) (8d55514)

Features

  • GraceNotes: Reduce unnecessary margin/spacing to main note (#1221). Add EngravingRules.GraceNoteGroupXMargin (default 0) (332d625)
  • Lyrics: Add EngravingRules.LyricsYMarginToBottomLine (#389). New default 0.2 prevents overlap of stems with lyrics. (fd6868d)

1.5.2 (2022-08-29)

Bug Fixes

  • binarySearch: Fix rare infinite loop in CollectionUtil.binarySearch (#1201, merge #1202) (552b23f)

Features

  • Accents: Support soft-accent as crescendo+decrescendo wedge on one note/entry (#1214, merge #1215) (db340ac)
  • Tuplets: Add EngravingRules.TupletNumberLimitConsecutiveRepetitions (default true) etc. (breaking change) #1207, merge #1208 (0744bcd)

1.5.1 (2022-07-18)

Bug Fixes

  • generateImages: Fix rehearsal marks not having a box around them due to node canvas restriction. (48799ba)
  • Layout: Fix 12/8 rhythm with rest measures overflowing notes, other rest measure issues (#1187, merge #1188) (b524d77)
  • Rehearsal Mark: Position correctly when EngravingRules.RehearsalMarkFontSize is increased (#1176) (d32bc1a)

1.5.0 (2022-04-22)

Bug Fixes

  • Cursor: Fix undefined errors when drawFromMeasureNumber changed after cursor was shown (5a13bfb)
  • Tabs: AutoBeamNotes no longer beams tab notes by default. Add EngravingRule AutoBeamTabs (c5fa3eb)
  • Ties: Fix note.NoteTie undefined for tie end note in different voice than start note (8f9c373)

Features

  • ChordSymbols: Can replace accidentals via e.g. osmd.rules.ChordAccidentalTexts.setValue(1, "♭") (PR #1154) (ced5cb4)
  • Performance: 30-60% performance boost: Compute SkyBottomLines with WebGL and in batches depending on browser and number of measures (#1158) (66ab7ce)
  • Performance: Add EngravingRules SkyBottomLineWebGLMinMeasures and AlwaysSetPreferredSkyBottomLineBackendAutomatically (#1158) (e1c8826)
  • Performance: Prefer Plain over WebGL in Firefox (and Safari) for performance (#1158) (1ac2bd5)
  • Performance: Add EngravingRules.DisableWebGLInFirefox and DisableWebGLInSafariAndIOS for options (#1158) (c48f66d)
  • SVG: Create SVG group with class for beamed note stems, put beam SVG into node (67f6ac3)
  • TimeSignatures: Can disable time signature for GraphicalMeasure (#1150) with measure.ShowTimeSignature = false (411a35c)

1.4.5 (2022-01-28)

Bug Fixes

  • Wedges: Simultaneous wedges possible, start/stop corrected (#1131), respect xml number attribute (44a0dce), closes #1134
  • OctaveShift: Fix octave-shift not rendered when type attribute (e.g. "down") not given (even though required) (44a0dce)

Features

  • Options/Clefs: Add osmd.EngravingRules.RenderClefsAtBeginningOfStaffline (#1135) (03cb762)

1.4.4 (2022-01-27)

Bug Fixes

  • Release: Fix types pointing at wrong (sub-)folder. Could solve type/import problems. (2a18295)

Features

  • Options: Able to set osmd.EngravingRules.SheetMaximumWidth > 32767 for SVG / renderSingleHorizontalStaffline (6ef37db)

1.4.3 (2022-01-18)

Bug Fixes

  • Ties: Fix ties not containing all notes, created multiple times (#1126) (a8fe5ae), closes #1097

Features

1.4.2 (2022-01-17)

Bug Fixes

  • Release: Fix typings location for npm release (8171984)

1.4.1 (2022-01-17)

Bug Fixes

  • Credit Error: Fix NaN error when element has justify attribute (dec2f1f)
  • Release: Fix typings not included in release (1.4.0) (5829be3)

Features

  • Color: Able to set the option {defaultColorMusic: string} (#1125) to apply a color to the whole sheet (2b3ea16)
  • Cursor: Visible with PageBackgroundColor set (SVG) (#1125), transparency dependent on PageBackgroundColor (a10f779)
  • Options: Add darkMode option (#1125) (d5a2d70)

1.4.0 (2022-01-14)

Bug Fixes

  • Beam SVG: VexFlowGraphicalNote.getBeamSVGs() gets SVGs of all beams starting on the note (#1108) (f4675fd)
  • Clefs: Fix specific end of measure clef missing (#1120)
  • Cursor: Fix follow for multiple cursors, can set cursor.cursorOptions.follow for each (#1111) (37f9002)
  • Grace Notes: Don't draw multiple grace note slashes for a set of grace notes (#1107) (89394db)
  • GroupBrackets: Don't draw if only one instrument visible (b72ef4e)
  • Note overlaps: Fix notes overlapping / not staggering sometimes (#1098) (05c1ca7)
  • Cross Stave Notes: Fix ghost notes only created for first few notes in measure, fixing cross stave positioning (#1062) (0507917)
  • Rehearsal Marks: Fix undefined error with multi-measure rests and rehearsal marks (76d5252)
  • Ties: Fix ties missing/doubled, orientations (#1097)

Features

  • ChordSymbols: Add EngravingRules.DefaultColorChordSymbol (#1106) (7f00a9b)
  • Note: Store TransposedPitch (for API access) (72633da)
  • Options: Add EngravingRules.StaggerSameWholeNotes option to x-shift whole notes on same line (#1098) (dc04dc5)
  • Slurs: GraphicalSlurs save their SVGElement (but not GraphicalTies) (5686daa)
  • SVG: Stems and beams have an id in the DOM (#1108) (a9b2c10)
  • Transposing: Able to transpose single instrument (#1115) independently of other instruments (e997df9)
  • VexFlowGraphicalNote: Add getStemSVG() and getBeamSVGs() helper methods (#1108) (79b28c8) (f4675fd)

1.3.1 (2021-11-26)

Bug Fixes

  • Clefs: Fix in-staff clefs missing or misplaced (2nd voice or with backup/forward tags) (#1102) (acdf8b0), closes #1103
  • Metronome: Fix some measures with very long metronome numbers not rendering (70e1654)
  • OctaveShift: Fix incorrect display octave for first of two octave shifts in measure (#1099) (c090c71)

Features

  • GraphicalStaffEntry: Add helper functions getHighestYAtEntry, getSkylineMin, same for bottomline, getAbsoluteStartAndEnd (2b364a8). For usage see Wiki | Exploring the Demo

1.3.0 (2021-11-13)

Bug Fixes

  • Accidentals: Render Slash-flat correctly (#1074) (2394de7)
  • Fingerings: Fix Fingerings collisions above/below notes (#1081), improve performance, implement as Labels with correct bboxes (df9b441), closes #1086
  • Infinite Loop: Fix rare infinite loop with certain rhythms (#1073) (a09f702)
  • Multiple Rest Measures: Display clef at end of multirest measure and fix wrong clef in following measures (#1064) (53a57fe)
  • MusicSystemBuilder: Prevent index error when MinMeasureToDrawIndex > 0 (#1069) (293cfb4)
  • OctaveShift: Fix ExtraGraphicalMeasure used as last measure, no endnote (#1080) (08640e7)
  • Rests: Fix rest collisions with notes (y coordinate) (#621, #1076). Add EngravingRules.RestCollisionYPadding (32b649a)
  • Slash-Flat Accidentals: Fix quarter flats shown after slash-flat accidentals (#1075) (87b681f)
  • Slurs: Fix slur starting on tie end note not shown (#1092) (265fa73)
  • Tuplets: Fix dots not corresponding to XML (#1082) (3899031)

Features

  • Accidentals: Support remaining microtonal accidentals available in MusicXML and Vexflow (#1084) (9ccc215)
  • ChordSymbols: Fix collision with notes, add staffline/measure alignment options (#1087, #934) (d814986)
  • Cursor: Add GNotesUnderCursor() function, returning GraphicalNotes (8c0e2d1)
  • Labels: Always save SVG Node as a reference for GraphicalLabel, allowing SVG manipulation without re-render (f888939), closes #711

1.2.0 (2021-09-23)

Bug Fixes

  • Note X-Positions: Fix Cross Stave Note Position X-Shift and Ghost Notes for complex fractions (#1063) (a04fd58), closes #1062
  • Repeats: Fix Repeat end+start (:||:) collision (#1061) by adding padding (88d7467). Add EngravingRule RepeatEndStartPadding (previous default 0.0, now 2.0)
  • Undefined errors: (#1051) Add some more safeguards for undefined variables in complex/messy midi scores (e0d70bc)

Miscellaneous

  • Dependencies: Update JSZip to 3.7.1

1.1.0 (2021-07-27)

Bug Fixes

  • BPM: Correctly parse float BPM and dotted beats (#1045, merge #1046) (aa2a0e7)
  • ChordSymbols: Prevent multiple rest measure generated over rest measures with chords (#955) (d1e454b)
  • GetNearestNote: Handle undefined parentStaffEntry (#1029, PR #1031) (6ca4a05)
  • Multirest: Fix repetition measures included in multiple rest measure (#901) (e624f6a)
  • Note Alignment: Fix notes not sharing stems/note heads (#414), voices not aligned (#947). Fix visual differences on re-render. (d9aabab)
  • Slurs: Ignore measure numbers, improve staff split slurs, add optional softening mechanism (bc71de7)
  • Tabs: Correctly read number of stafflines if staff-details node is given for multiple staves (#1041) (341b696)

1.0.0 (2021-05-06)

Bug Fixes

  • Barlines: Correctly place thin double line as end barline/StaveConnector (#1019), instead of beginning (eee1c03)
  • Error: Fix error when sorting unpitched note in a chord (#995) (47d7beb)
  • GraphicalNote: Fix getSVGElement throwing exception instead of returning undefined for MultiRestMeasure (b38693d)
  • RepetitionSymbols: Fix d.c., d.s. x position (#990) (eae08cd)
  • SingleStaffline: FollowCursor: Don't center the vertical axis (#1014) (f3bc721)
  • Skyline: Fix bottom line values undefined (#992), fixes issues with PageFormat for tabs (8559527)
  • Tabs: Correctly set number of stafflines, e.g. 4 for bass guitar (#991) (8d83c90)
  • Ties: Highest tie goes upwards (orientation), lower ties downwards (in same location) (d8af331)
  • Ties: Read orientation from XML, reliably set it above/below for chords (#1020) (070de0f)
  • Tuplet/Repeat: Fix tuplet number placement, fix repeat lines across multiple stafflines (StaveConnector) (#1016)
  • Wedges: Fix crescendo/decresc. lengths, positioning, etc (3e65761)

Features

  • Accidentals: Add support for three-quarter flats and sharps (#999) (98a5793)
  • Options: Add osmd.rules.FingeringPositionFromXML (#993), can be auto by setting false now. (d864b9e)
  • Cursors: Can now add multiple cursors, with new options like highlighting the current measure, color and alpha value, see PR 972 and #1005 (comment) for usage.
  • TransposeCalculator: Add TransposeCalculator, allowing arbitrary transposing of sheets by x semitones. Now out of early access and open source thanks to our Github Sponsors. See #733 (comment).

Before 1.0: See CHANGELOG_old.md - the changelog was too big for Github to render, see #1227.