Package: musescore2 / 2.3.2+dfsg4-16

Metadata

Package Version Patches format
musescore2 2.3.2+dfsg4-16 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
debian specific/dfsg exclusions.diff | (download)

CMakeLists.txt | 3 1 + 2 - 0 !
mscore/CMakeLists.txt | 1 0 + 1 - 0 !
mscore/file.cpp | 1 0 + 1 - 0 !
mscore/mediadialog.cpp | 9 8 + 1 - 0 !
mtest/CMakeLists.txt | 1 0 + 1 - 0 !
mtest/mscoreapi.h | 2 0 + 2 - 0 !
mtest/openscore.h | 2 0 + 2 - 0 !
mtest/testutils.cpp | 1 0 + 1 - 0 !
share/CMakeLists.txt | 2 1 + 1 - 0 !
9 files changed, 10 insertions(+), 12 deletions(-)

 remove excluded paths from build
experiments/no sql.diff | (download)

build/ECMQt4To5Porting.cmake | 1 0 + 1 - 0 !
build/FindQt5Transitional.cmake | 1 0 + 1 - 0 !
2 files changed, 2 deletions(-)

 drop libqt5sql5, which musescore does not, in fact, need
debian specific/debundle openssl.diff | (download)

thirdparty/kQOAuth/CMakeLists.txt | 2 1 + 1 - 0 !
thirdparty/kQOAuth/kqoauthutils.cpp | 4 0 + 4 - 0 !
2 files changed, 1 insertion(+), 5 deletions(-)

 remove openssl references from kqoauth
 The code will happily build without OpenSSL.
debian specific/debundle fonts.diff | (download)

libmscore/mscore.cpp | 2 2 + 0 - 0 !
mscore/CMakeLists.txt | 3 1 + 2 - 0 !
mtest/CMakeLists.txt | 2 0 + 2 - 0 !
mtest/testutils.cpp | 2 0 + 2 - 0 !
4 files changed, 3 insertions(+), 6 deletions(-)

 dont bundle fonts-freefont-ttf in the executable,
debian specific/kfreebsd oss salsa.diff | (download)

mscore/mididriver.cpp | 28 25 + 3 - 0 !
1 file changed, 25 insertions(+), 3 deletions(-)

 add function missing in oss-salsa to fix non-linux compile;
 fixup int vs. ssize_t issue in related code to ensure it will work.
debian specific/version dialogue.diff | (download)

mscore/musescore.cpp | 15 10 + 5 - 0 !
1 file changed, 10 insertions(+), 5 deletions(-)

 show debian/derivative versioning (helps in support)
upstream/lyrics hyphen syllable closer.diff | (download)

libmscore/lyrics.cpp | 10 5 + 5 - 0 !
1 file changed, 5 insertions(+), 5 deletions(-)

 draw the first and last hyphen closer to the syllable
upstream/mscx reproducible save chordlist.diff | (download)

libmscore/chordlist.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 save //chordlist/font/sym in a sorted way
upstream/save locale dependent preferences.diff | (download)

mscore/preferences.cpp | 11 11 + 0 - 0 !
1 file changed, 11 insertions(+)

 save locale-dependent preferences on program start
 Otherwise, they will depend on the locale of each individual
 invocation, instead of reusing the paths used at the first
 start, letting users not find their scores.
 Noticed by Natureshadow <dominik.george@teckids.org>
upstream/testsuite.diff | (download)

vtest/gen | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 log vtest comparison in machine-parsable format
upstream/better batch convert.diff | (download)

mscore/file.cpp | 5 5 + 0 - 0 !
mscore/musescore.cpp | 256 142 + 114 - 0 !
mscore/musescore.h | 1 1 + 0 - 0 !
3 files changed, 148 insertions(+), 114 deletions(-)

 overhaul -j to make it more flexible
 (plus some backports)
upstream/new manpage.diff | (download)

build/Linux+BSD/mscore.1.in | 736 501 + 235 - 0 !
build/Linux+BSD/mscore.1.preview.sh | 24 24 + 0 - 0 !
2 files changed, 525 insertions(+), 235 deletions(-)

 fix #277903: new manpage
 (here for 2.x)
upstream/mtest fix freetype includes.diff | (download)

mtest/CMakeLists.txt | 14 12 + 2 - 0 !
mtest/cmake.inc | 7 6 + 1 - 0 !
2 files changed, 18 insertions(+), 3 deletions(-)

 use system includes also for mtest
upstream/note accessibleInfo const.diff | (download)

libmscore/note.cpp | 7 6 + 1 - 0 !
libmscore/note.h | 2 2 + 0 - 0 !
2 files changed, 8 insertions(+), 1 deletion(-)

 add note::accessibleinfoconst()
upstream/file dialogues.diff | (download)

mscore/preferences.cpp | 7 1 + 6 - 0 !
1 file changed, 1 insertion(+), 6 deletions(-)

 fix #292912: use native file dialogues by default also on linux
upstream/update AppData.diff | (download)

CMakeLists.txt | 3 3 + 0 - 0 !
build/Linux+BSD/org.musescore.MuseScore.appdata.xml.in | 226 226 + 0 - 0 !
2 files changed, 229 insertions(+)

 update appdata
 - Update to new AppStream standards
 - Use correct AppID
 - Respect installation suffix
 - Remove icons (they get pulled from the desktop file)
 - Fix translation domain
 - Match order with appstream-glib output
 - Add a provides id to match instances still using the old AppID
 - Clean out empty entries in OARS, update to include donations
 - Reduce vertical space usage
 - Add 3.x release notes [removed from this branch]
 - [Drop things not applicable for this branchs 2.x packaging]
upstream/synth glitches.diff | (download)

fluid/sfont.cpp | 4 2 + 2 - 0 !
fluid/sfont.h | 2 1 + 1 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

 fix #291756 explicitly-signed char fluid pitchadj
 C standards say that "char" may either be a "signed char" or "unsigned
 char" but that it is up to the compilers implementation or the platform
 which is followed. Some non x86 platforms, including PowerPC and ARM,
 treat unspecified chars as unsigned chars, so it is necessary to
 explicitly declare them as "signed char" (or to compile with
 "--signed_chars").
 .
 This fix ensures that fluid synth's sample's pitchadj value are
 correctly read as signed.


upstream/crash drag.diff | (download)

mscore/scoreview.cpp | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 fix #297152: crash on ctrl+shift+drag on linux (under chromeos)
 Resolves: https://musescore.org/en/node/297152
 .
 This might be unique to Linux apps on ChromeOS,
 or it might apply to other Debian "stretch systems",
 but apparently passing in a null or 1x1 pixmap to a QDrag
 causes it to crash on exec().
 This PR fixes the problem by making the pixmap 2x2.
 It also allocates it statically to be sure there is no issue
 with it coming off the stack.
 I also replaced the deprecated QDrag::start() call with QDrag::exec(),
 which we already do when dragging *from* the palette.
 This is recommended as per Qt guidelines.


upstream/fix staffidx.diff | (download)

libmscore/system.cpp | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 fix #281253: staff spacer down ignored on bottom of page
 Resolves: https://musescore.org/en/node/281253
 .
 A staff spacer on the bottom system of a page does not work correctly:
 we are looking foir a spacer on the *first* staff rather than the *last*.
 So a spacer on the last staff is ignored, and one on the first is used
 when it shouldn't be.
 .
 The code to calculate the amount of spacer required below the last
 system of a page relies on System::lastVisibleSysStaff(),
 which is return the correct SysStaff, but we are then attempting
 to access the idx member, which has never been set up and is always 0.
 Fix is to initialize idx when setting up the list of staves.


upstream/crash del hbox.diff | (download)

libmscore/box.cpp | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 fix a crash on removing hbox from a score


upstream/crash triplet.diff | (download)

libmscore/undo.cpp | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 fix #285040 crash when changing a triplet's rest's duration
 - Prevent a null pointer deref when searching a linked tuplet.


upstream/save no redundant.diff | (download)

libmscore/noteevent.cpp | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 fix #301116: don't write default note event values along with non-default ones


upstream/ottava size.diff | (download)

libmscore/style.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix #300738: ottava (8va/8vb) number is too big


upstream/pitch ottava.diff | (download)

libmscore/note.cpp | 23 18 + 5 - 0 !
libmscore/note.h | 1 1 + 0 - 0 !
2 files changed, 19 insertions(+), 5 deletions(-)

 fix #293593 - issues with ottavas
 Corrects first problem: Status doesn't display the pitch of note that have an
 ottave line. This is solved in Note::tpcUserName().
 .
 Solves the second problem in issue 293593: Accidentals do apply if 8va sign is added.
 This is solved in Note::updateAccidental(). All calculations are based on the
 effective pitch of the a note rather than the actual pitch. The solution now
 takes to ottava signs into account by using the actual pitch.
 .
 For easily find out whether an ottava is applied, a new method ottavaCapoFret()
 is added which returns the pitch offset by an ottava (or capo fret). To prevent
 code dublication, ppitch() also use this new ottavaCapoFret() method.


upstream/prefs radio.diff | (download)

mscore/CMakeLists.txt | 2 2 + 0 - 0 !
mscore/prefsdialog.ui | 13 9 + 4 - 0 !
mscore/radiobuttongroupbox.cpp | 49 49 + 0 - 0 !
mscore/radiobuttongroupbox.h | 37 37 + 0 - 0 !
4 files changed, 97 insertions(+), 4 deletions(-)

 fix #304466: the i/o tab of the preferences dialog should use radio buttons instead of checkboxes
 Fixed a UI problem with the I/O tab of the Preferences dialog that
 caused mutually exclusive options to be presented to the user as
 checkboxes instead of radio buttons.
 .
 The underlying technical reason for this was that the Qt framework does
 not allow group boxes to have radio buttons. This has been worked
 around by subclassing the QGroupBox class and rendering the checkboxes
 to look like radio buttons. This is sufficient for our purposes because
 the application already overrides the checkboxes' behavior to work like
 radio buttons.


upstream/pitch C♭ B♯.diff | (download)

Patch does not exist

---
upstream/crash fontname.diff | (download)

mscore/inspector/inspectorBase.cpp | 10 5 + 5 - 0 !
1 file changed, 5 insertions(+), 5 deletions(-)

 fix #303619: musescore crashing when entering font name
 Resolves: https://musescore.org/en/node/303619.
 .
 Passing an empty string to QWidget::setStyleSheet() causes the widget's
 current style sheet to be removed, thus causing the widget's style to be
 inherited from its parent. This creates a problem in QComboBox::showPopup(),
 where it becomes possible that a pointer to a QStyle object could used after
 the object itself has been destroyed. A style sheet of " " can be used to
 override any previous style sheet without invalidating the current QStyle
 object.


upstream/wmclass.diff | (download)

build/Linux+BSD/mscore.desktop.in | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 fix #307593: prevent duplicated icon on ubuntu


upstream/fix accidental paren pos.diff | (download)

libmscore/accidental.cpp | 5 3 + 2 - 0 !
1 file changed, 3 insertions(+), 2 deletions(-)

 honour symbol advance width from font when drawing accidentals
 more specifically, accidentals in parenthess (or other enclosing
 symbols) now have the advance width of the enclosing glyph and the
 glyph from the accidental itself honoured fixing asymmetric render
 of a parenthesised 
upstream/statusline pitch onofftime.diff | (download)

libmscore/note.cpp | 23 21 + 2 - 0 !
1 file changed, 21 insertions(+), 2 deletions(-)

 indicate pitch and on/off time in the status line
 - indicate sounding pitch if the global concert pitch toggle
   is off and the current instrument has an actual pitch,
   i.e. not beat/rhythm slashes or drums; this will show the
   identical pitch for nn-transposing instruments by design
   (to show were currently in transposing pitch mode, but the
   current instrument is not transposing) which helps debugging
 - indicate tuning (if any) after the sounding pitch (either mode)
 - show on/off times if at least one of them is nn-standard
 .
 The first change partially addresses node #283120.
 The on/off time was requested in node #290900#comment-927933
 (velocity is too hard, sorry about that).
upstream/improve mscore font.diff | (download)

fonts/mscore/genttf | 17 14 + 3 - 0 !
fonts/mscore/metadata.json | 51 25 + 26 - 0 !
fonts/mscore/mscore.sfd | 2929 1316 + 1613 - 0 !
3 files changed, 1355 insertions(+), 1642 deletions(-)

 merge parnassus accidentals into mscore
 and fix a couple of issues
 .
 Note: debian/upstream/mscore.ttf was generated by me with FontForge
 from the fully patched mscore.sfd; FontForge at package build time
 would have been more problematic
upstream/5507.patch | (download)

libmscore/cmd.cpp | 21 13 + 8 - 0 !
1 file changed, 13 insertions(+), 8 deletions(-)

 fix #292648: make courtesy accidentals stay if notes are
 changed using Ctrl+Up/Down


upstream/CVE 2024 44866.diff | (download)

mscore/importgtp.cpp | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 fixed a potential crash (cve-2024-44866)
 Added a similar check that already exists for other GP readers


gh9000/7979.diff | (download)

mscore/aboutmusicxmlbox.ui | 7 3 + 4 - 0 !
mscore/musescore.cpp | 7 3 + 4 - 0 !
2 files changed, 6 insertions(+), 8 deletions(-)

 help > musicxml links to contributor licenses rather than end-user licenses


experiments/valid soundfont.diff | (download)

fluid/sfont.cpp | 87 67 + 20 - 0 !
fluid/sfont.h | 6 4 + 2 - 0 !
fluid/sfont3.cpp | 55 37 + 18 - 0 !
fluid/voice.cpp | 45 22 + 23 - 0 !
fluid/voice.h | 8 4 + 4 - 0 !
5 files changed, 134 insertions(+), 67 deletions(-)

 fix multiple possible causes of crashes or audible artefacts
 - Track sample name so we can issue proper warning messages, show filename
 - On read errors, issue an error message and mark sample as invalid
 - Mark sample as invalid if Ogg Vorbis decompression (SF3) fails
 - Do all sanity checks on {,loop}{start,end} with SF2 semantics for end;
   only switch end to point to the last sample afterwards in only one place
 - Adapt sanity checks and corrections to current FluidSynth, which matches
   real-existing soundfonts better
 - Add sanity check provided by the SoundFont spec as extra diagnostic
 - Do not crash if there is no data[]
 - Issue diagnostics if disabling a sample
 - Swap two members to improve structure packing/alignment while there
 - Use unsigned integers for SoundFont element sizes properly
debian specific/fixup AppData.diff | (download)

build/Linux+BSD/org.musescore.MuseScore.appdata.xml.in | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 exclude undesired appdata entries
 plus asv-description-has-plaintext-url (Debian QA warning) fix
experiments/upstream backend fixes.diff | (download)

libmscore/score.cpp | 2 2 + 0 - 0 !
libmscore/sym.cpp | 2 1 + 1 - 0 !
libmscore/undo.cpp | 2 1 + 1 - 0 !
3 files changed, 4 insertions(+), 2 deletions(-)

---
experiments/lyrics hyphen 5sp.diff | (download)

libmscore/lyrics.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 halve default lyrics hyphenation step
experiments/musescore 2.1.0 qt 5.12.patch | (download)

mscore/editstringdata.cpp | 4 2 + 2 - 0 !
mscore/prefsdialog.ui | 1 0 + 1 - 0 !
2 files changed, 2 insertions(+), 3 deletions(-)

 changes needed for musescore to build with qt 5.12 (alpha)
 One needed for MSVC only (and only since Alpha, not with the previous
 preview), the other needed for MSVC and MinGW.
 Neither seems to cause issues with Qt 5.9 (like AppVeyor and Travis CI
 prove)
experiments/element barbeat.diff | (download)

libmscore/element.cpp | 50 50 + 0 - 0 !
libmscore/element.h | 2 2 + 0 - 0 !
libmscore/sig.cpp | 2 1 + 1 - 0 !
libmscore/sig.h | 2 2 + 0 - 0 !
mscore/scoreaccessibility.cpp | 46 8 + 38 - 0 !
mscore/scoreaccessibility.h | 1 0 + 1 - 0 !
6 files changed, 63 insertions(+), 40 deletions(-)

 add element::barbeat() and element::accessiblebarbeat()
 These are const, and useful for determining the positions of elements
experiments/smufl typo.diff | (download)

fonts/bravura/glyphnames.json | 2 1 + 1 - 0 !
fonts/gootville/glyphnames.json | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 fix typo in smufl metadata
Bug-SMuFL: https://github.com/w3c/smufl/issues/127
experiments/smufl2sym.diff | (download)

fonttools/smufl2sym-cmd-SymId.jq | 5 5 + 0 - 0 !
fonttools/smufl2sym-cmd-debug.jq | 2 2 + 0 - 0 !
fonttools/smufl2sym-cmd-symNames.jq | 3 3 + 0 - 0 !
fonttools/smufl2sym-cmd-symUserNames.jq | 7 7 + 0 - 0 !
fonttools/smufl2sym-in-trans.json | 1 1 + 0 - 0 !
fonttools/smufl2sym.bat | 31 31 + 0 - 0 !
fonttools/smufl2sym.sh | 36 36 + 0 - 0 !
libmscore/sym.cpp | 256 135 + 121 - 0 !
libmscore/sym.h | 10 7 + 3 - 0 !
9 files changed, 227 insertions(+), 124 deletions(-)

 regenerate sym.* from smufl metadata
experiments/revert restriking patch.diff | (download)

libmscore/rendermidi.cpp | 2 1 + 1 - 0 !
mscore/exportaudio.cpp | 38 7 + 31 - 0 !
mscore/exportmidi.cpp | 9 0 + 9 - 0 !
mscore/musescore.cpp | 34 6 + 28 - 0 !
mscore/seq.cpp | 36 14 + 22 - 0 !
mtest/libmscore/midi/tst_midi.cpp | 1 0 + 1 - 0 !
synthesizer/event.cpp | 23 16 + 7 - 0 !
synthesizer/event.h | 7 1 + 6 - 0 !
8 files changed, 45 insertions(+), 105 deletions(-)

 revert the unison restriking patch
 The restriking patch went into 2.2 (and up), 3.x, and master,
 while it is not unquestioned. It was never meant to last; MIDI
 channel assignment to individual voices must be made user-friendly,
experiments/log collisions.diff | (download)

synthesizer/event.cpp | 26 26 + 0 - 0 !
1 file changed, 26 insertions(+)

 log unison collisions (that would otherwise be restruck)
experiments/CVE 2023 44428.diff | (download)

mscore/capella.cpp | 60 29 + 31 - 0 !
mscore/capella.h | 16 10 + 6 - 0 !
mscore/capxml.cpp | 2 1 + 1 - 0 !
3 files changed, 40 insertions(+), 38 deletions(-)

 improve the capella import
 Since the reporter of CVE-2023-44428 does not offer any
 information (testcases, reproducers or patches), attempt
 to improve the situation by plugging missing initialisation
 and other checks. Besides that, do not load untrusted files.
 .
 Endianness is also corrected.
experiments/cxx20 warnings.diff | (download)

libmscore/ambitus.cpp | 2 1 + 1 - 0 !
libmscore/mscore.h | 6 3 + 3 - 0 !
mscore/exportxml.cpp | 6 3 + 3 - 0 !
mscore/jackaudio.cpp | 3 2 + 1 - 0 !
thirdparty/intervaltree/IntervalTree.h | 6 3 + 3 - 0 !
thirdparty/rtf2html/rtf2html.cpp | 2 1 + 1 - 0 !
6 files changed, 13 insertions(+), 12 deletions(-)

 fix c++20 compatibility warnings by gcc 14
 and some other warnings shown
experiments/importmidi asserts.diff | (download)

all.h | 2 2 + 0 - 0 !
mscore/importmidi/importmidi.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_chord.cpp | 4 2 + 2 - 0 !
mscore/importmidi/importmidi_chord.h | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_clef.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_drum.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_fraction.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_lrhand.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_lyrics.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_quant.cpp | 6 3 + 3 - 0 !
mscore/importmidi/importmidi_simplify.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_tie.cpp | 4 2 + 2 - 0 !
mscore/importmidi/importmidi_tie.h | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_tuplet.cpp | 8 4 + 4 - 0 !
mscore/importmidi/importmidi_tuplet.h | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_tuplet_filter.cpp | 4 2 + 2 - 0 !
mscore/importmidi/importmidi_tuplet_tonotes.cpp | 4 2 + 2 - 0 !
mscore/importmidi/importmidi_tuplet_tonotes.h | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_tuplet_voice.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_tuplet_voice.h | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_voice.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi_voice.h | 2 1 + 1 - 0 !
22 files changed, 32 insertions(+), 30 deletions(-)

 enable importmidis debugging code
 Without this, it FTBFS as it assumes the body of an assertion
 is never evaluated if !QT_DEBUG and doesnt define the methods
 the asserts use then :/ and we generally want to have the checks.
experiments/arm asserts.diff | (download)

all.h | 12 7 + 5 - 0 !
ass.cpp | 60 60 + 0 - 0 !
build/Linux+BSD/mscore.1.in | 4 3 + 1 - 0 !
bww2mxml/CMakeLists.txt | 1 1 + 0 - 0 !
libmscore/CMakeLists.txt | 1 1 + 0 - 0 !
manual/CMakeLists.txt | 1 1 + 0 - 0 !
mtest/CMakeLists.txt | 7 7 + 0 - 0 !
7 files changed, 80 insertions(+), 6 deletions(-)

 forcibly enable q_assert{,_x} checks
 Some security-relevant checks are hidden behind assertions by upstream;
 to help alleviate CVE-2023-44428 and possibly other issues, arm asserts
 which increases safety at the risk of more crashes (which can then be
 investigated, hence the verbosity of the info). Much of this is specific
 to glibc-based systems though.
 .
 For now, we arm the abort() end as opt-in, but in a subsequent upload,
 it will be opt-out instead for security.
experiments/keep message handler.diff | (download)

libmscore/mscore.cpp | 2 2 + 0 - 0 !
libmscore/mscore.h | 2 2 + 0 - 0 !
mscore/musescore.cpp | 1 1 + 0 - 0 !
mscore/pluginCreator.cpp | 2 1 + 1 - 0 !
4 files changed, 6 insertions(+), 1 deletion(-)

 keep a set qtmessagehandler across plugin creator runs
experiments/our message handler.diff | (download)

mscore/musescore.cpp | 106 105 + 1 - 0 !
1 file changed, 105 insertions(+), 1 deletion(-)

 install a message handler for qt
 If the QT_MESSAGE_PATTERN envvar is set (i.e. the user has defined
 their own log pattern), just skip loglevel debug messages unless
 running in debug mode. Otherwise (default), format messages in the
 Debian-prfixed style and with file/function/line number.
experiments/msgs manageable.diff | (download)

libmscore/score.cpp | 3 2 + 1 - 0 !
libmscore/score.h | 2 2 + 0 - 0 !
libmscore/scorefile.cpp | 16 15 + 1 - 0 !
libmscore/spannermap.cpp | 2 2 + 0 - 0 !
4 files changed, 21 insertions(+), 2 deletions(-)

 tone down some debug messages
 our message handler is a bit loud, hide Score::addElement during
 loading of a file and the Score::removeSpanner not found message
 unconditionally
experiments/manpage headless.diff | (download)

build/Linux+BSD/mscore.1.in | 16 11 + 5 - 0 !
1 file changed, 11 insertions(+), 5 deletions(-)

 document gui-independent way of doing batch converts
 This is unproblematic in mu2.