BAR LINES: new features ready for testing
I just merged a new Github commit which completes a rather old request about more flexible bar line properties.
Availablility: it is already included in Github master repo (pull master, compile and go); should be included in nightlies from tomorrow onward.
Features:
1) Dotted style added to bar lines palette
2) Spans: 2 flavours of 'tick' (across top staff line) and 2 flavours of 'short' bar line (from 2nd to penultimate staff line) added to bar palette
3) Styles (normal, dashed, dotted, ...) can be combined with spans
4) Single bar line change: dragging a symbols to a bar line (bar line becomes red) rather than to the measure generically (measure becomes brown) affects that bar line individually, without changing the bar lines of all the other staves for that measure. Limitation: a bar line cannot have different repeats than the other bar lines of the same measure (repeating one part and not another does not make sense).
5) Spans always apply to single bar line, even if dropped on a measure generically.
A previous commit implemented the following feature, which I repeat here for completeness:
6) while double-click-and-editing a bar line, both the top and the bottom bar line handles can be dragged in steps of 1 staff line (from 1 step above top line to 1 step below bottom line) to implement custom bar line spans across the whole stave(s).
7) If [Ctrl] is pressed while dragging, the span change applies to the single bar line and not to the whole stave.
MusicXML import/export of the new features should be implemented (but feedback is welcome), OVE import and Lilypond export are not (someone more knowledgeable about those formats is welcome).
IMPORTANT NOTE: If you have customized your palettes, any of it, the customized version takes precedence over the built-in version; to see the new bar line palette items you need to:
A) Revert to factory default
OR
B) Delete the profile, start MuseScore checking that the new bar lines palette are there, customize your palette(s) again
The profile is a file which can be found at:
Linux: ~/.local/share/data/MuseScore/MuseScoreDevelopment/profiles/default.profile
Win 7: C:\users\\AppData\local\MuseScore\MuseScoreDevelopment\profiles\default.profile
other OSes: ?
The whole matter is still somehow experimental: glitches (or even plain bugs) might be present; experiment and test it before using it on 'serious' work.
If you find issues, please file them into the issue tracker if they are evidently bugs and/or please discuss here change proposals.
Thanks,
M.
Comments
Thanks for this brilliant work!
Some remarks
1/ Is there any reason to have 2 tick and 2 short barline in the palette? is one of the two flavours more used? tick and short barlines are for very specific use case. Maybe we can add them in the master palette but not in the default palette? Several profiles can be created too, maybe one dedicated to medieval or renaissance music. The default profile could be more "standard". This remark is also valid for ornaments, accidentals etc...
2/ dragging a symbols to a bar line (bar line becomes red) rather than to the measure generically (measure becomes brown) affects that bar line individually, without changing the bar lines of all the other staves for that measure.
This seems to be right only for style and not for span. Dropping a tick barline from the palette to a measure will only change the right barline of the measure staff and not of the full system. If that's the intended behavior, it's all fine. Just wanted to point it out for when this forum post will become a handbook page.
3/ Would it be possible to add span and style in the inspector?
4/Is there any unit tests we can write to test this feature and prevent regression in the future? Also for linked parts.
5/ I found one bug #18849: Barline span is wrong in parts
In reply to Brilliant work ! by [DELETED] 5
Thanks for the comments!
1a) Two 'flavours': Well, I found both in the literature; examples of the ones with 'half steps' can be found, among others, in the very example quoted by Michael here ; examples in 'full steps' can be found in many sources. So I provided both.
1b) F9 palette vs. Master palette: good point. As it seems to me that the master palette cannot be customized, this would also solve the added complication of having to reset customized palettes to see any programme code change to them (See "Important note" in the first post).
2) See point 5) of my description. This is by design: in most cases, thick and short bar lines are for a single measure of a single part (well, their major use is for plainchant and it usually has only one part, so the whole is to some extent academic). In other cases (early music editions), special spans are needed not for all the staves of a measure, but for all the measures of a stave and this is not obtained by dropping but by editing drag handles.
3) Good point again.
4) If I only knew how to write a test unit....
5) I understand the bug only partially: it has more to do with multimeasure rests than with spans; turning out MM rests, parts are corrects. But, I'll have a look at it anyway.
I'll see to points 1b) and 3) soon.
Thanks,
M.
In reply to Thanks for the comments! 1a) by Miwarre
Well done. Congratulations.
In reply to Brilliant work ! by [DELETED] 5
Update to point 1b) above: The new bar line palette items are already included in the master palette. In fact, the components of the master palette and the (un-customized) corresponding F9 palettes are constructed by the same code: adding (programmatically) to one means adding to the other, only customization can made them different.
M.