Skip to content

Commit

Permalink
do not add unnecessary courtesy keysigs
Browse files Browse the repository at this point in the history
  • Loading branch information
sammik committed Jun 29, 2023
1 parent 785deb1 commit 4396a9e
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions src/engraving/layout/v0/measurelayout.cpp
Expand Up @@ -1795,22 +1795,24 @@ void MeasureLayout::addSystemTrailer(Measure* m, Measure* nm, LayoutContext& ctx
if (staffIsPitchedAtNextMeas) {
KeySig* ks = toKeySig(s->element(track));
KeySigEvent key2 = staff->keySigEvent(m->endTick());

if (!ks) {
ks = Factory::createKeySig(s);
ks->setTrack(track);
ks->setGenerated(true);
ks->setParent(s);
s->add(ks);
s->setTrailer(true);
bool needCourtesy = staff->key(m->tick()) != key2.key();

if (needCourtesy) {
if (!ks) {
ks = Factory::createKeySig(s);
ks->setTrack(track);
ks->setGenerated(true);
ks->setParent(s);
s->add(ks);
s->setTrailer(true);
}
ks->setKeySigEvent(key2);
TLayout::layout(ks, ctx);
//s->createShape(track / VOICES);
s->setEnabled(true);
} else if (ks) {
s->remove(ks);
}
//else if (!(ks->keySigEvent() == key2)) {
// score()->undo(new ChangeKeySig(ks, key2, ks->showCourtesy()));
// }
ks->setKeySigEvent(key2);
TLayout::layout(ks, ctx);
//s->createShape(track / VOICES);
s->setEnabled(true);
} else { /// !staffIsPitchedAtNextMeas
KeySig* keySig = nullptr;
EngravingItem* keySigElem = s->element(track);
Expand Down

0 comments on commit 4396a9e

Please sign in to comment.