Package: musescore3 / 3.2.3+dfsg2-19

Metadata

Package Version Patches format
musescore3 3.2.3+dfsg2-19 3.0 (quilt)

Patch series

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

share/CMakeLists.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

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

build/FindQt5.cmake | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

 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 | 2 0 + 2 - 0 !
mtest/CMakeLists.txt | 2 0 + 2 - 0 !
mtest/testutils.cpp | 2 0 + 2 - 0 !
4 files changed, 2 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)
debian specific/local docs.diff | (download)

manual/plugins3.html | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

 also link to the local/offline copy of the documentation,
 which we generate at build time, instead of relying on upstreams online
 version (which they seem to like), in order to have exactly corresponding
 docs for plugin writers / for debugging plugins with the running version
 .
 Also, set the UTF-8 charset so latin1 is not used
debian specific/fixup AppData.diff | (download)

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

 exclude undesired appdata entries
 plus stuff they missed again
 plus asv-description-has-plaintext-url (Debian QA warning) fix
dtl upgrade.diff | (download)

thirdparty/dtl/dtl/Diff.hpp | 28 21 + 7 - 0 !
thirdparty/dtl/dtl/functors.hpp | 14 14 + 0 - 0 !
thirdparty/dtl/dtl/variables.hpp | 2 1 + 1 - 0 !
3 files changed, 36 insertions(+), 8 deletions(-)

 upgrade dtl to the latest release 1.20 for bugfixes
dtl gcc14.diff | (download)

thirdparty/dtl/dtl/Diff.hpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix dtl bad const
upstream/file dialogues.diff | (download)

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

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

libmscore/mscore.cpp | 2 1 + 1 - 0 !
mscore/musescore.cpp | 2 1 + 1 - 0 !
share/locale/mscore_en_GB.ts | 2 1 + 1 - 0 !
3 files changed, 3 insertions(+), 3 deletions(-)

 fix #286666: error message when no note selected untranslatable
 Also translate the string for the "Unknown error" case
upstream/fix cli audio.diff | (download)

mscore/exportaudio.cpp | 15 10 + 5 - 0 !
mscore/musescore.cpp | 15 10 + 5 - 0 !
2 files changed, 20 insertions(+), 10 deletions(-)

 fix single-note dynamics on rendering scores via a command line
upstream/fix pluginless build.diff | (download)

mscore/musescore.cpp | 10 10 + 0 - 0 !
mscore/musescore.h | 8 8 + 0 - 0 !
2 files changed, 18 insertions(+)

 fix build with disabled plugins
 and remove the (not functional) Plugins menu from the menu bar
upstream/undoable spacer drag length.diff | (download)

libmscore/spacer.cpp | 10 10 + 0 - 0 !
libmscore/spacer.h | 1 1 + 0 - 0 !
2 files changed, 11 insertions(+)

 fix #291941: changing spacer length with a mouse is not undoable
upstream/workspace crash.diff | (download)

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

 fix a crash on reading a workspace with non-existing preferences
backports/workspace warning.diff | (download)

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

 fix #305209: ticks_f warnings when loading a custom workspace
 Resolves: https://musescore.org/en/node/305209
 .
 When reading in XML data, the _pasteMode flag of the XmlReader should
 match the _clipboardmode flag of the XmlWriter that wrote the data. In
 each of the four places that an XmlWriter is constructed in
 mscore/workspace.cpp, the _clipboardmode flag of the XmlWriter is set
 to true. For this reason, in each of the four places that an XmlReader
 is constructed in mscore/workspace.cpp, the _pasteMode flag of the
 XmlReader should be set to true to ensure that the data is interpreted
 correctly.
 .
 For example, the XML for a Spanner object will include a "ticks_f" tag
 if and only if the _clipboardmode flag of the XmlWriter is true. When
 this XML is read back in, the XmlReader will not expect to find a
 "ticks_f" tag if its _pasteMode flag is false.


backports/CVE 2023 26923.diff | (download)

midi/midifile.cpp | 13 2 + 11 - 0 !
miditools/midifile.cpp | 4 4 + 0 - 0 !
2 files changed, 6 insertions(+), 11 deletions(-)

 better ways to skip in a midifile
 The MSC codepath had CVE-2023-26923 (the read(tmp, len); in the
 loop should have been read(tmp, tmp_size); instead), plus both
 are inefficient. Upstream changed this to the Qt 5.10+ code in
 MuseScore Studio 4, but we need to support older versions as well,
 so retain the VLA codepath for those (no change) and switch to
 the more efficient code for recent versions.
 Bonus, switch the other place upstream forgot (or doesnt exist
 in mu4 any more) as well.
backports/qt514 1.diff | (download)

mscore/capella.cpp | 2 1 + 1 - 0 !
mscore/importmidi/importmidi.cpp | 2 1 + 1 - 0 !
mscore/instrdialog.cpp | 2 1 + 1 - 0 !
mscore/musescore.cpp | 12 6 + 6 - 0 !
mscore/musescore.h | 2 1 + 1 - 0 !
mscore/network/loginmanager.cpp | 2 1 + 1 - 0 !
mscore/preferences.h | 41 36 + 5 - 0 !
7 files changed, 47 insertions(+), 16 deletions(-)

fix build with qt5.14
 .
 Specializes template routines.
 Qt 5.14 introduces serialisation/deserialisation for enum classes,
 this results in ambiguous templates between qdatastream.h and preferences.h.
 we specialize everything to workaround this.
 .
 fix warnings: replace QString::null, with QString()


backports/boldfonts 1.diff | (download)

libmscore/textbase.cpp | 73 73 + 0 - 0 !
1 file changed, 73 insertions(+)

 fix #281601 and fix #284218 [workaround]: broken on-screen rendering of synthetically emboldened fonts


backports/boldfonts 2.diff | (download)

libmscore/textbase.cpp | 22 9 + 13 - 0 !
mscore/preferences.cpp | 2 1 + 1 - 0 !
2 files changed, 10 insertions(+), 14 deletions(-)

 change default pdf dpi export to rendering value


backports/boldfonts 3.diff | (download)

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

 fix #307075 : bold and underlined text is not displayed properly


backports/01 playback muted.diff | (download)

mscore/exportmidi.cpp | 2 2 + 0 - 0 !
mscore/seq.cpp | 11 1 + 10 - 0 !
synthesizer/event.cpp | 37 29 + 8 - 0 !
synthesizer/event.h | 1 1 + 0 - 0 !
4 files changed, 33 insertions(+), 18 deletions(-)

 fix #282165: mute voice produces note that doesn't stop when overlap present


backports/02 playback tied.diff | (download)

libmscore/articulation.cpp | 24 24 + 0 - 0 !
libmscore/articulation.h | 1 1 + 0 - 0 !
libmscore/rendermidi.cpp | 8 5 + 3 - 0 !
3 files changed, 30 insertions(+), 3 deletions(-)

 fix #291146: swing prevents midi rendering of tied notes


backports/03 playback deleted.diff | (download)

libmscore/chord.cpp | 2 2 + 0 - 0 !
libmscore/segment.cpp | 2 2 + 0 - 0 !
2 files changed, 4 insertions(+)

 fix #292851: note still played after having been deleted.


backports/04 paste breath.diff | (download)

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

 fix #291932: copy-paste breaths & pauses causes bad layout of the first note/rest in following measures
 Copying and pasting a breath mark on the last tick of a measure
 resulted in an empty Breath segment being created in the next measure.
 This is because the last tick of one measure is equal to the first tick
 of the next measure, and Score::tick2measure() always returns the
 second measure in this case. When the Breath mark actually gets added
 to the score in Score::undoAddElement(), a new segment for it is
 created in the previous measure. This is the measure in which we should
 be adding the segment in the first place.


backports/05 layout hairpin dynamic.diff | (download)

libmscore/hairpin.cpp | 9 4 + 5 - 0 !
1 file changed, 4 insertions(+), 5 deletions(-)

 fix #292960: hairpin with dynamics at the end is too short


backports/06 layout volta.diff | (download)

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

 fix #287871: volta line not drawn before start repeat


backports/07 layout clef change.diff | (download)

libmscore/measure.cpp | 3 2 + 1 - 0 !
libmscore/segment.cpp | 8 8 + 0 - 0 !
2 files changed, 10 insertions(+), 1 deletion(-)

 fix #290061: no space betwene header and clef change


backports/09 layout 1st system.diff | (download)

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

 fix #293531: clef&key appear on second system after layout with gen clef&key disabled
 In https://github.com/musescore/MuseScore/pull/4866 I added code
 to better handle the detection of the end of the layout range.
 Part of this was to re-establish the header in the first measure after the end of the range.
 But my code mistakenly passed in lc.firstSystem as the firstSystem parameter.
 Thus it treated the *second* system as if it was the first,
 since lc.firstSystem was set based on the system we just completed,
 not the system we are about to consider.
 Fix is to calculate when this new system is actually the first system of a section or not.
 I calculate this the same way lc.firstMeasure itself is calculated.


backports/10 ui undo track.diff | (download)

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

 fix #292024: chord symbols attached to fret diagrams in other staves


backports/11 ui keys move.diff | (download)

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

 fix #290047: require shift to adjust segment with cursor keys in edit mode


backports/14 crash segments.diff | (download)

libmscore/measure.cpp | 2 1 + 1 - 0 !
libmscore/scorefile.cpp | 3 2 + 1 - 0 !
2 files changed, 3 insertions(+), 2 deletions(-)

 fix #293460: crash when loading file with orphan segment tags
 correct broken files on the fly and don't create them anymore.


backports/15 crash mxml.diff | (download)

mscore/importmxmlpass1.cpp | 6 5 + 1 - 0 !
1 file changed, 5 insertions(+), 1 deletion(-)

 fix #287475 - crash on open musicxml file lacking time signature


backports/16 crash workspace.diff | (download)

mscore/workspace.cpp | 12 8 + 4 - 0 !
1 file changed, 8 insertions(+), 4 deletions(-)

 fix #291986: fix a crash on removing a custom workspace via menu
 A more accurate version of 6a5a7cbcab30c94d2fcb0801670ba4ea694eb9c7


backports/16a crash qt514.diff | (download)

mscore/workspace.cpp | 14 8 + 6 - 0 !
1 file changed, 8 insertions(+), 6 deletions(-)

 fix #299654: crash on startup with qt 5.14
 due to a failed assertion deep in Qt code


backports/17 crash tremolo.diff | (download)

libmscore/layout.cpp | 48 1 + 47 - 0 !
libmscore/measure.cpp | 48 48 + 0 - 0 !
libmscore/measure.h | 1 1 + 0 - 0 !
libmscore/read114.cpp | 1 1 + 0 - 0 !
libmscore/read206.cpp | 1 1 + 0 - 0 !
5 files changed, 52 insertions(+), 47 deletions(-)

 fix #291698: ensure consistent state of two-notes tremolo after file reading


backports/18 crash pianoroll.diff | (download)

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

 fix #292310: crash when adjusting absolute velocity in piano roll editor


backports/19 synth state.diff | (download)

libmscore/synthesizerstate.cpp | 8 7 + 1 - 0 !
1 file changed, 7 insertions(+), 1 deletion(-)

 fix #290323: synthesizer state duplicated when changing score with saved state


backports/20 tour loop.diff | (download)

share/tours/inspector.tour | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 fix #291646 initiate inspector tour on mouse press
 Fixes bug that caused inability to finish the inspector tour if user
 undocked and dragged the inspector widget before tour was initiated. If
 the inspector was undocked, then it would interfere with clicking
 "Next" or "Close" in the tour's popup mbox.
 .
 This solution is to start the tour on MouseButtonPress so the tour
 happens before the main mscore window loses mouse focus.


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.


backports/22 crash fermata.diff | (download)

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

 fix #294156: incorrect segment type for fermata


backports/24 element size.diff | (download)

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

 fix #283319: time signature disappears


backports/25 relayout beams.diff | (download)

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

 fix #294866: the direction of beamed notes does not immediately change when the beam is broken
 Resolves: https://musescore.org/en/node/294866.
 .
 When a ChordRest is removed from its beam during layout, we need to
 relayout its old beam. This will cause a recalculation of the stem
 direction, in case it needs to change.


backports/26 crash repeats.diff | (download)

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

 fix #295224: end-start-repeat crashes in timeline


backports/27 font style.diff | (download)

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

 fix #289908: cannot apply italic or underline to glissando text
 The font style property is being converted from `FontStyle` to `bool`
 instead of `int`, so bold, italic and underline are all the same.
 .
 This commit fixes that.


backports/28 crash del stafftypechange.diff | (download)

libmscore/measure.cpp | 3 2 + 1 - 0 !
libmscore/staff.cpp | 3 1 + 2 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

 fix #295898: deleting a stafftypechange causes a crash in macos


backports/29 layout barno break.diff | (download)

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

 fix #292343: measure numbers restart from 1 after section break even if the corresponding property got disabled
 Some calls of `sectionBreak()` should be changed to
 `sectionBreakElement()` so the property can be accessed by
 `sectionBreakElement()->startWithMeasureOne()`.


backports/30 playback fermata.diff | (download)

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

 fix #283628: fermata "play" property does not work
 Resolves: https://musescore.org/node/283628.


backports/31 ui enter slur.diff | (download)

libmscore/cmd.cpp | 5 5 + 0 - 0 !
mscore/scoreview.cpp | 5 4 + 1 - 0 !
2 files changed, 9 insertions(+), 1 deletion(-)

 fix #166116: slurs terminate in wrong spot in voices other than 1


backports/32 ui enter timesig.diff | (download)

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

 fix #297477: apply alla breve to 4/4 changes to 2/2 instead
 Resolves: https://musescore.org/en/node/297477.
 .
backports/33 playback articulations.diff | (download)

libmscore/rendermidi.cpp | 14 10 + 4 - 0 !
1 file changed, 10 insertions(+), 4 deletions(-)

 fix #288618: play property for articulations


backports/33a playback articulations.diff | (download)

libmscore/rendermidi.cpp | 12 9 + 3 - 0 !
1 file changed, 9 insertions(+), 3 deletions(-)

 fix #298188: fix not playing a note if its articulation playback is turned off
 Complements the fix in c1365329758d18f6f71583059c007ff31d6b1f7c to
 take "play" property of articulations into account in MIDI rendering.
 .
 Also fix a test for this to be actually executed and to cover the
 case of single-note dynamics MIDI rendering.


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.


backports/35 ui mixer reset.diff | (download)

mscore/mixertrackpart.cpp | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 fix #279024: double click on mixer's dial and sliders should reset them to their defaults


backports/36 plugin state.diff | (download)

mscore/plugin/api/cursor.cpp | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 fix #291085 : cursor.addnote update internal segment reference


backports/37 crash parts.diff | (download)

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

 fix #297468: fix a crash on reading a corrupted score with linear layout mode in part
 In a corrupted score tick values may sometimes be not synchronized
 between master score and parts. This may lead to incorrect setting
backports/38 ui units.diff | (download)

mscore/editstyle.cpp | 9 6 + 3 - 0 !
1 file changed, 6 insertions(+), 3 deletions(-)

 fix #296345 : "offset" suffix for text style fixed to "sp"
 In the Edit Text Style dlg box, the suffixes of "Offset" values are
 always "sp", but when "Follow staff size" is unchecked, the values are
 considered "mm".


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