Skip to content

Commit

Permalink
Don't clone excluded frame to new parts
Browse files Browse the repository at this point in the history
  • Loading branch information
mike-spa committed Aug 18, 2023
1 parent 9efaec4 commit 1468b09
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions src/engraving/libmscore/excerpt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -346,19 +346,19 @@ void Excerpt::createExcerpt(Excerpt* excerpt)

cloneStaves(masterScore, score, srcStaves, excerpt->tracksMapping());

MeasureBase* masterMeasure = masterScore->first();
MeasureBase* scoreMeasure = score->first();

if (!scoreMeasure || !scoreMeasure->isVBox()) {
if ((!scoreMeasure || !scoreMeasure->isVBox()) && !masterMeasure->excludeFromOtherParts()) {
Score::InsertMeasureOptions options;
options.addToAllScores = false;

score->insertMeasure(ElementType::VBOX, scoreMeasure, options);
scoreMeasure = score->first();
}

VBox* titleFrameScore = toVBox(scoreMeasure);
VBox* titleFrameScore = scoreMeasure && scoreMeasure->isVBox() ? toVBox(scoreMeasure) : nullptr;

MeasureBase* masterMeasure = masterScore->first();
if (titleFrameScore && masterMeasure && masterMeasure->isVBox()) {
VBox* titleFrameMaster = toVBox(masterMeasure);

Expand Down Expand Up @@ -1034,6 +1034,9 @@ void Excerpt::cloneStaves(Score* sourceScore, Score* dstScore, const std::vector
TieMap tieMap;

for (MeasureBase* mb = sourceScore->measures()->first(); mb; mb = mb->next()) {
if (mb->excludeFromOtherParts()) {
continue;
}
MeasureBase* newMeasure = cloneMeasure(mb, dstScore, sourceScore, sourceStavesIndexes, trackList, tieMap);
measures->add(newMeasure);
}
Expand Down

0 comments on commit 1468b09

Please sign in to comment.