Skip to content

Commit

Permalink
Merge pull request #26584 from miiizen/26573-partial-tie-staff
Browse files Browse the repository at this point in the history
Change partial/lv tie's track correctly
  • Loading branch information
mike-spa authored Feb 19, 2025
2 parents 780d5fa + b4fbb3d commit 0e9053e
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions src/engraving/dom/note.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2363,15 +2363,31 @@ void Note::scanElements(void* data, void (* func)(void*, EngravingItem*), bool a
void Note::setTrack(track_idx_t val)
{
EngravingItem::setTrack(val);
if (m_tieFor) {
if (tieForNonPartial()) {
m_tieFor->setTrack(val);
for (SpannerSegment* seg : m_tieFor->spannerSegments()) {
seg->setTrack(val);
}
}
if (m_tieBack) {
if (tieBackNonPartial()) {
m_tieBack->setTrack2(val);
}
if (laissezVib() || outgoingPartialTie()) {
m_tieFor->setTrack(val);
m_tieFor->setTrack2(val);
for (SpannerSegment* seg : m_tieFor->spannerSegments()) {
seg->setTrack(val);
seg->setTrack(val);
}
}
if (incomingPartialTie()) {
m_tieBack->setTrack(val);
m_tieBack->setTrack2(val);
for (SpannerSegment* seg : m_tieBack->spannerSegments()) {
seg->setTrack(val);
seg->setTrack(val);
}
}
for (Spanner* s : m_spannerFor) {
s->setTrack(val);
}
Expand Down

0 comments on commit 0e9053e

Please sign in to comment.