fix #277786: bad transposition of instrument change from 2.3.2
This commit is contained in:
parent
fb71526263
commit
a2998b5b23
1 changed files with 3 additions and 1 deletions
|
@ -92,7 +92,7 @@ void InstrumentChange::read(XmlReader& e)
|
|||
else if (!TextBase::readProperties(e))
|
||||
e.unknown();
|
||||
}
|
||||
if (score()->mscVersion() <= 206) {
|
||||
if (score()->mscVersion() < 206) {
|
||||
// previous versions did not honor transposition of instrument change
|
||||
// except in ways that it should not have
|
||||
// notes entered before the instrument change was added would not be altered,
|
||||
|
@ -100,6 +100,8 @@ void InstrumentChange::read(XmlReader& e)
|
|||
// notes added afterwards would be transposed by both intervals, resulting in tpc corruption
|
||||
// here we set the instrument change to inherit the staff transposition to emulate previous versions
|
||||
// in Note::read(), we attempt to fix the tpc corruption
|
||||
// There is also code in read206 to try to deal with this, but it is out of date and therefore disabled
|
||||
// What this means is, scores created in 2.1 or later should be fine, scores created in 2.0 maybe not so much
|
||||
|
||||
Interval v = staff() ? staff()->part()->instrument()->transpose() : 0;
|
||||
_instrument->setTranspose(v);
|
||||
|
|
Loading…
Reference in a new issue