Engraving improvements in MuseScore 4.1

• Jun 20, 2023 - 16:12

NOTE: When opening a file from an older version in 4.1, some items will have some properties reset or changed to take advantage of the new features. As such, you should expect small changes in layout. These changes include:

  • Offsets of articulations will be reset
  • Vertical offsets of rests will be reset
  • Stem lengths of notes connected by two-note tremolos will be reset
  • Trill lines with accidentals above will be converted to 'new style' ornaments; the position of the accidental will change slightly

Also please note that MuseScore 4.1 uses a new version of the file format. Opening files from one version in an older version is not generally supported; while it may be possible to open a 4.1 file in 4.0, the results will be unpredictable at best.

For detailed information about changes to style settings, see this page.

New features

Ornaments (handbook)

Main implementation: Issue 15332 / PR 17515

For standard ornaments (trills, mordents, turns, etc) the interval to the note above, and below where applicable, can now be specified.

Accidentals can be shown above (and below) the ornament where necessary, and this behaviour can be customised for each ornament. The accidentals can be bracketed. For trills over an interval larger than a second, a bracketed auxiliary note is shown.

The ornaments are aware of the key signature and of other accidentals in the bar, which can determine whether ornament accidentals need to be shown. Accidentals which arise because of ornaments also require that those pitches have their accidental confirmed or cancelled if they appear later in the bar. (Issue 17799 / PR 17806). All these ornaments also play back with the proper intervals (Issue 17645 / PR 17768).

Ornaments attached to notes in downstemmed voices (2 and 4) will now appear below the stave by default.

Accidentals that were added added to trill lines in the 'old' way (by applying an accidental from the Accidentals palette) are mapped to the new system.

Placement of articulations and ornaments (handbook)

Main implementation: Issue 17072 / PR 17303

The five placement options for articulations (which were confusing and, in any case, did not all work properly) - above staff, below staff, above chord, below chord, chord automatic - have been simplified to three: auto, above, below (PR 17640). When old files are opened in 4.1 the options are mapped appropriately. These options now also work more consistently for different items. The option is now presented in Properties as a three button group rather than a dropdown (PR 17773).

Where a note has a staccato and/or tenuto plus another marking, e.g. an accent or marcato, these now behave more intelligently, with staccatos and tenutos going inside stave spaces (where possible) and other markings remaining outside the stave. Articulations at the stem side of notes are now consistently centered on the notehead, on the stem, or half-way between these two positions.

This behaviour is customisable via two new style settings.

Dynamics and expression text (handbook)

Main implementation: Issue 16900 (and others) / PR 17001

Dynamics are now their own special class of item with special behaviours and style settings specific to them.

The font and scale of dynamics symbols can be changed independently of text (and indeed of the music font used elsewhere in the score). Text can be added to a dynamics object (to create e.g. poco f ) and this will follow the style of Expression text. The dynamic will still be honoured in playback for such items (unlike in previous versions).

When text is added to a dynamics object, you can choose whether to keep the dynamics symbol centered under the note to which the dynamic is attached, or to justify the entire string against the note with the usual options.

Dynamics automatically offset to avoid colliding with barlines; this behaviour can be toggled on or off for each item.

When a piece of Expression text is added to a note with a dynamic (or vice versa) the two items will snap together and align correctly automatically, and both items will move as a unit. This behaviour can be toggled on Expression items for cases where you wish to adjust them independently, have them on opposite sides of the stave, etc.

Technically, Expression now text now its own discrete object type, with its own defaults (not just a modified form of Staff Text).

Harp pedal diagrams (handbook)

Main implementation: PR 12597 (GSoC 2022 project)

Harp pedalling can now be entered from the new Harp palette, and have a special UI widget to configure them. They can be displayed either as diagrams or text. Notes in the part which contract the specified pedalling are displayed in red (only in the UI, not when printed).

Clef placement (handbook)

Main implementation: Issue 16814 / PR 17237

It was previously the case that clef changes applied to a complete measure would be shown before the barline, but clefs applied to the first note or rest in the measure would be shown (almost always undesirably) after the barline. Now, whichever way the clef is added, it will appear before the barline. A new style property is available to explicitly specify the position of a clef relative to the barline, for those cases where you really want it shown after.

An exception is made for a clef added to the first note or rest of the very first bar of a section: this still appears as a clef change just after the header. (To replace the initial clef, apply the clef to the first measure.)

Tremolos

Main implementation: Issue 15470 / PR 16223

Two-note tremolos now follow all the new beaming logic created for 4.0.

Cross-staff tremolos (or even tremolos between two notes with opposing stem directions on the same staff) are now drawn properly (PR 17583, PR 17725).

Vertical positioning of rests (handbook)

Main implementation: PR 16719

The default vertical position of rests has been made more consistent, especially when numbers of staff lines other than 5. Rests in multiple voices are offset 1sp vertically by default, rather than 2sp, but this can be changed via a new style setting. Rests automatically avoid colliding vertically with notes or rests in other voices.

Rests in one voice that occur inside a note in an opposing voice are now vertically offset to remain outside the level of that note (PR 17951).

Rests under beams are now moved away from beams, rather than moving the beams away from the rests (which was the incorrect behaviour seen in MuseScore 3, which was temporarily removed in 4.0) (Issue 15301). Beams are only moved if the rest cannot be moved away, e.g. because of a note in another voice (Issue 15301). 

Cross-staff beams no longer unnecessarily affect rests in their origin stave (Issue 14650).

Rests under beams avoid horizontal collisions with beamlets, where necessary.

Narrow spacing

It is now possible to squeeze more onto a system than the horizontal spacing algorithm considers 'acceptable', even to the point where this causes collisions between items (PR 15174). Currently this can only be achieved by using the 'Keep bars on same system' layout item, but a more elegant mechanism will be introduced in future.

Negative leading space can now be set on items to compress space in specific places (again, even to the point of colliding) (Issue 16789 / PR 16815).

Small accidentals

Accidentals can now be made small (independently of their notehead or the entire chord being made small), via a new toggle in Properties (Issue 17306 / PR 17685).

Invisible brackets

Brackets and braces can now be made invisible. Changing this property affects all instances of that bracket in the score. Invisible brackets will not create unnecessary space in the left margin, but will retain their functionality in terms of grouping staves together vertically. (Issue 15741 / PR 16734)

Layout fixes

  • Issue 16397 / PR 17744: Breath marks no longer create unnecessary space for slurs and ties that cross the end of the system
  • Issue 17106 / PR 17717: Repeat barlines are properly positioned at the start of the system when header clefs are not shown
  • Issue 17149 / PR 17259: Time signatures with custom text now display properly when followed by a multi-measure rest
  • Issue 15311 / PR 17237: Cautionary time signatures with style customisations applied now disappear when layout changes cause them to become no longer system-final
  • Issue 16908 / PR 17237: Change to initial clef no longer becomes cautionary when first barline is hidden, after file is reopened
  • Issue 15805 / PR 17231: Slurs now avoid colliding with ties underneath them
  • Issue 16991 / PR 16993: Articulations in notation with cross-staff beams no longer create excessive space between staves
  • Issue 15850 / PR 16078: Articulations are now shown at the proper distance from noteheads on one-line staves (this is a result of enabling the clickable area of an item to differ from its graphical bounding box, which also provides a UX improvement)
  • Issue 15648 / PR 16972: Fingering no longer collides with articulation marks
  • Issue 16454 / PR 16880: Ledger lines on rests no longer create unnecessary horizontal space or displace augmentation dots
  • Issue 16598 / PR 16611: Cross-staff grace notes are more intelligently spaced, and attached ties will follow them
  • Issue 15650 / PR 16602: Cross-staff beams starting on a rest now have the correct direction
  • Issue 15662 / PR 16595: Ties from cross-staff notes now appear on the correct stave
  • Issue 16571 / PR 16572: Slurs going across systems now have the correct direction
  • Issue 16247 / PR 16288: ChordLines can now cross barlines
  • Issue 16088 / PR 16159: Fret marks on tab staves in multiple voices are now properly aligned
  • Issue 15561 / PRs 16109 & 15778: Width of multi-measure rests is now more correct and consistent
  • PR 16080: System text lines starting on a multi-measure rest at the start of a system are now positioned correctly
  • Issue 15847 / PR 16026: Offsets of dots, accidentals in noteheads on small chords (or chords with small noteheads) have been corrected
  • Issue 15859 & 16495 / PR 15949: Various distances, sizes and offsets are now correctly scaled on resized staves
  • Issue 15443 / PR 15837: Tuplet numeral now always remain in the centre of the bracket when its endpoints are moved
  • PR 15831: A correction to cross-staff spacing in narrow situations
  • Issue 15496 / PR 15520: Fingerings are now better positioned relative to cross-staff beams
  • Issue 15456 / PR 15514: Brackets and braces no longer overlap horizontally
  • Issue 15317 / PR 15482: Slurs no longer collide with notes in certain situations
  • Issue 15316 / PR 15476: Glissandos now appear on the correct place (rather than being displaced to other staves/pages)
  • Issues 152149 & 15260 & x / PR 15436: Grace notes are now added to the skyline, so no longer collide with items above or below (trill lines, tempo markings, etc)
  • PR 15370: Minimum tie length is now enforced at the start of a system
  • Issue 15184 / PR 15225: On notes with multiple markings, all markings now move to avoid colliding with slurs
  • Issue 17502 / PR 17705: Fret marks are now correctly positioned when slurred from a previous system
  • Issue 16874 / PR 17520: Direction of tuplets in secondary voices now correct when containing only rests
  • Issue 15327 / PR 17028: Horizontal adjustment to tie endpoints is now applied even when position is manually adjusted
  • Issue 15664 / PR 17021: Tie endpoints are now correctly positioned relative to stems on tab staves
  • Issue 15792 / PR 16981: Rhythmic slashes now have correct stem lengths
  • Issue 15848 / PR 16954: Secondary beams no longer disappear in narrowly spaced cross-staff situations
  • Issue 16697 / PR 16953: Layout of articulation relative to cross-staff beams is now correct
  • Issue 15939 / PR 16629: Ties are correctly positioned relative to slash noteheads
  • Issue 13800 / PR 16616: Stems on tablature staves now have correct length
  • Issue 15422 / PR 15448: Grace note beam positions are improved
  • Issue 15229 / PR 15387: 'Break inner beams' options now work correctly over rests
  • Issue 13624 / PR 15001: 'Break inner beams' options now work correctly over barlines
  • Issue 14460 / PR 15155: Beamlets now go in the right direction in certain circumstances
  • Issue 12530 / PR 14545: Behaviour of back-tied notes on tab staves is now correct
  • PR 13312: Stem lengths for notes with straight flags extending outside the stave are improved
  • Issue 16210: PR 12547: Positions of dots in chords and in multiple voices are improved
  • Issues various / PR 17601: A whole host of fixes related to key signatures and transposing instruments/instrument changes
  • Issue 17479 / PR 18007: Key signatures no longer disappear when changing between tab and standard stave types
  • Issue 15638 / PR 16967: Instrument names on hidden staves no longer affect first system indentation
  • Issue 16502 / PR 17515: Parentheses around noteheads now have padding inside
  • Issue 15746 / PR 15809: Repeat text now appears outside voltas
  • Issue 14792 / PR 14793: Ledger lines now have the correct width on resized staves
  • Issue 16878 / PR 17840: Lyrics are now properly aligned on upstemmed whole notes
  • Issue 18268 / PR 18323: Grace note slashes are now positioned correctly on resized staves

UX / Interaction fixes

  • Issue 15253 / PR 17822: System barline is now restored immediately, rather than only after reloading the file, after turning Staff/part properties > Hide system barline off
  • Issue 13374 / PR 17652: Spanners can be added to secondary voices when added from the palette
  • Issue 16771 / PR 17263: The vertical offset property is disabled in Properties for beams (as changing it makes no sense, and produced very strange results)
  • Issue 17184 / PR 17258: Beams joined over rests in a secondary voice will immediately show as unjoined when the rest is deleted
  • Issue 16217 / PR 16260: Copying multiple voices now creates the correct rests in secondary voices
  • Issue 16006 / PR 16180: Offsets are properly scaled when changing staff size
  • PR 15822: Implements text style settings for 'Gradual tempo change' items
  • Issues 12978 & 13344 / PR 14808: Text font choices are no longer lost when editing text containing symbols
  • Issue 17320 / PR 17419: Notes with single-note tremolos on single-line staves can now be flipped
  • Issue 16653 / PR 17020: 'Bracket type' style is now honoured for newly-created tuplets
  • Issue 15540 / PR 16628: Beams update correctly when notes are reordered
  • Issue 15093 / PR 15459: Unnecessary melismas are removed when rhythms are changed
  • Issue 15407 / PR 15459: Lyric dashes are removed when exiting input mode before a syllable is typed
  • Issue 14944 / PR 14993: Beams that cross barlines can now be manually adjusted
  • Issue 13986 / PR 14079: Slurs are deleted or intelligently adjusted when measures are deleted
  • Issue 14633 / PR 16633: When using Tools > Implode, accidentals in secondary voices are no longer lost
  • Issue 12331 / PR 17237: Adding a key signature to a segment now adds it to all instruments in that measure, not to a single instrument
  • Issue 18288 / PR 18302: Dialog reinstated for when user attempts to add a note within a tuplet in insert mode
  • Issue 17749 / PR 17988: Duration dot position setting in Properties now works again

Other bug fixes

  • Issue 15629 / PR 17739: Spaces between symbols in text strings are no longer lost after reloading the file
  • Issue 14878 / PR 16292: Scaling calculations for ChordLine objects (plops, doits, scoops and falls) have been rationalised, and the nonsensical default thickness value (0.006sp) has been changed
  • Issue 17075 / PR 17261: Beam feathering options are no longer reset when a beam is selected
  • Issue 16569 / PR 16588: Instrument labels on instruments with multiple staves no longer disappear when the topmost staff is hidden
  • Issue 15993 / PR 16473: Spanners now reappear in parts when all staves are made invisible and then any are made visible again
  • Issue 15764 / PR 16471: ChordLines added on normal staves no longer disppear on linked tab staves after a reload
  • Issue 16433 / PR 16469: The correct new default position of slurs is now shown immediately (rather than only after a redraw) when opening pre-4.0 files
  • Issue 16354 / PR 16452: Missing bar numbers on systems following a 'keep bars on the same system' item are now displayed immediately (rather than only after a redraw)
  • Issue 16099 / PR 16140: Undisplayed accidentals in slash notation no longer create unnecessary space (previously this would only fix itself after a reload)
  • Issue 15314 / PR 15479: When adding transposing instruments they will now have the correct key signatures (this bug only affected certain scores)
  • Issue 16921 / PR 16979: Moving a note cross-staff no longer creates severe vertical spacing anomalies (sometimes also crashing)
  • Issue 16847 / PR 16929: Slurs on grace notes no longer lose their attachment points when bars are deleted
  • Issue 16446 / PR 16760: Beams that cross barlines no longer go astray when music is rebarred
  • Issue 15090 / PR 15129: Chord symbols over tuplets are no longer lost when music is rebarred
  • Issue 15038 / PR 15117: Stem length is recalculated immediately when flag is added (rather than after redraw)
  • Issues 17847 & 17861 / PR 17899: Deleting the first measure no longer deletes all key signatures
  • Issue 16116 / PR 17919: Inserting measures before the start of the score no longer creates duplicate clefs and key signatures
  • Issue 18173 / PR 18259: In some circumstances, two-note tremolos would not be correctly laid out until a redraw or a file re-open, but now are shown correctly immediately
  • Issue 16368 / PR 16369: 'End text' setting for text lines is reinstated to the UI

Crash fixes

  • Issue 17596 / PR 17858: when using a template saved in continuous view
  • Issue 17137 / PR 17715: when using the date and time macros ($M or $m) in a new file
  • Issue 17622 / PR 17682: when the initial note of a text line is removed
  • Issue 16679 / PR 17628: when pasting cross-staff notation into a staff where it can no longer cross
  • Issue 17517 / PR 17585: cause unclear (possibly migration related), but result of missing null check
  • Issue 15727 / PR 16770: when transposing certain scores (ultimately caused by an invalid state caused by a different bug)
  • Issue 17761 / PR 17882: when deleting a rest in a secondary voice
  • Issue 15421 / PR 17856: when adding a tie behind a currently active slur (in note input mode)
  • Issue 17623 / PR 17635: when opening a score with stem-side articulations on a stemless chord

MusicXML improvements

  • Issue 16748 / PR 16828: Combined articulations (tenuto-staccato, etc) are imported and exported as separate markings
  • PR 16714: Redundant voltas are ignored and hidden voltas are hidden in import
  • Issue 16658 / PR 16751: Explicit articulation placement (above/below) is honoured on import

Performance improvements and refactoring

  • PR 17851: Consolidates horizontal spacing code in the layout module
  • PR 15531: Miscellaneous minor improvements

Migration changes

  • Issue 17581 / PR 17633: Ornaments and the 'expression' text item are forcibly reset in palettes (necessary for new features)
  • Issue 17610 / PR 17684: Default thickness for ChordLine objects is reset

Comments

Lots of great stuff here - thanks to everyone who worked on this. Speaking for myself and others I work with and based on requests I see over and over, I think these are some of the highlights I look most forward to:

  • Accidentals can be shown above (and below) the ornament where necessary
  • Rests under beams are now moved away from beams (BTW, also you can now create these in Properties rather than required the palette)
  • When text is added to a dynamics object, you can choose whether to keep the dynamics symbol centered under the note to which the dynamic is attached, or to justify the entire string against the note with the usual options.
  • It is now possible to squeeze more onto a system than the horizontal spacing algorithm considers 'acceptable'
  • text style settings for 'Gradual tempo change' items

In reply to by Airto

Are you hearing this with 4.1? Two-bar repeat playback was not implemented until this release, but it should be working correctly now. If you have a score where it is not, please start a new thread in the Support forum and attach your score so we can investigate.

Thanks Oktophonie and everyone - I'm thrilled to see Musescore v4 making such tremendous progress. I always really enjoy your posts on engraving and how it relates to Musescore.

The placement of tremolos (from version 3.6.2) is the only thing I am missing
You are all doing a great job working at MuseScore. I love working with this software.

Sad to see that Measure Number layout settings are still not saved correctly. I can change the Style settings for Measure Numbers and they change just fine. But when I next open the file, they are right back to default.

The whole handling of measure numbers is rather clunky, compared to Sibelius for instance. I find it difficult or impossible to achieve satisfactory results. I frequently need to do manual measure number changes and this requires way too many clicks in MuseScore. In Sibelius I can just double click the measure number to change it, in MuseScore I have to go to Measure properties and then I can only add/remove from the number. Compared to how good other parts of MuseScore 4 are compared to Sibelius, this really seems like a massive oversight.

In reply to by asrii89

Hmm, measure number style settings work as expected for me. If you are encountering some kind of issue with these, please open a new thread in the Support forum and attach your score along with steps to reproduce the problem. Then we can understand and assist better.

Similar for your question about how to change the numbering itself - if you start a new thread and attach your score what explain what you are trying to do, we can advise better.

Do you still have an unanswered question? Please log in first to post your question.