Skip to content

Commit c21bf56

Browse files
committed
Add checks for playDynamic when finding hairpin end dynamic
1 parent eb5a3e7 commit c21bf56

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/engraving/playback/playbackcontext.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ static mu::engraving::DynamicType findNominalEndDynamicType(const Hairpin* hairp
9494

9595
const track_idx_t trackIdx = hairpin->track();
9696
const EngravingItem* dynamic = endSegment->findAnnotation(ElementType::DYNAMIC, trackIdx, trackIdx);
97-
if (!dynamic || !dynamic->isDynamic()) {
97+
if (!dynamic || !dynamic->isDynamic() || !toDynamic(dynamic)->playDynamic()) {
9898
return mu::engraving::DynamicType::OTHER;
9999
}
100100

@@ -115,6 +115,10 @@ static mu::engraving::DynamicType findNominalEndDynamicType(const Hairpin* hairp
115115
}
116116
}
117117

118+
if (!toDynamic(snappedItem)->playDynamic()) {
119+
return mu::engraving::DynamicType::OTHER;
120+
}
121+
118122
return toDynamic(snappedItem)->dynamicType();
119123
}
120124

@@ -573,7 +577,7 @@ void PlaybackContext::handleHairpin(const Hairpin* hairpin, const int tickPositi
573577
const Dynamic* startDynamic = startSegment
574578
? toDynamic(startSegment->findAnnotation(ElementType::DYNAMIC, trackIdx, trackIdx))
575579
: nullptr;
576-
if (startDynamic) {
580+
if (startDynamic && startDynamic->playDynamic()) {
577581
const DynamicType dynamicType = startDynamic->dynamicType();
578582

579583
if (dynamicType != DynamicType::OTHER

0 commit comments

Comments
 (0)