[branch 1.2] Measures long 2/1 or more not cleared to measure rest

• Jan 13, 2012 - 10:09
Type
Functional
Severity
S4 - Minor
Status
closed
Project

note: this is the branch counterpart of #13025: [trunk] Measures long 2/1 or more not cleared to measure rest issue for trunk.

Setup: SVN rev. 5215; compiled with latest Qt SDK (Qt Creator 2.4, Qt lib 4.7.4) under Windows XP SP3.

Steps:

1) Create or open a score with a time signature of 4/2 (or equivalent: 8/4, 2/1, ...) or more
2) Select one or more measures
3) Clear the measure(s) ([Del])

Result: The measure(s) are not filled with measure rests but with the rest(s) needed to reach the actual measure duration (a breve rest or more). There is not way to get the measure rest back, short of manually editing the .mscx file.

Note: The same happens while copying and pasting runs of notes which include measure rests: in the pasted copy the measure rests are replaced with actual rests.

Analysis: This happens because function Score::setRest(int, int, Fraction, bool, Tuplet*) (in file edit.cpp) restricts the use of measure rests to measures shorter than a breve. The meaning of (or even the need for) such a restriction is not clear.

The attached patch simply removes the above restriction by commenting out a line of that function. The patch has been used locally for several months without any noticeable side effect; however, developers with greater familiarity with the code may want to have a look at it before applying.

Thanks,

M.

Attachment Size
ver11_edit_cpp_wholemeasurepause.patch 724 bytes

Comments