From bfc43e84d2b89d8939b73155256dc5a9a9b062c4 Mon Sep 17 00:00:00 2001 From: lasconic Date: Mon, 22 Jun 2015 17:59:08 +0200 Subject: [PATCH] follow up on fix #64251 --- libmscore/rendermidi.cpp | 2 +- libmscore/staff.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/libmscore/rendermidi.cpp b/libmscore/rendermidi.cpp index 77b08def5fed..9d106e829557 100644 --- a/libmscore/rendermidi.cpp +++ b/libmscore/rendermidi.cpp @@ -1211,7 +1211,7 @@ void renderChordArticulation(Chord *chord, QList & ell, int & gat Note *note = chord->notes()[k]; if ( noteHasGlissando(note)) renderGlissando(events, note); - else { + else if (chord->staff()->isPitchedStaff()) { for (Articulation* a : chord->articulations()) { if ( false == a->playArticulation()) continue; diff --git a/libmscore/staff.cpp b/libmscore/staff.cpp index 3e26554727af..39c1eff28a81 100644 --- a/libmscore/staff.cpp +++ b/libmscore/staff.cpp @@ -820,7 +820,9 @@ bool Staff::isLinked(Staff* staff) //--------------------------------------------------------- // primaryStaff /// if there are linked staves, the primary staff is -/// the one who is played back +/// the one who is played back and it's not a tab staff +/// because we don't have enough information to play +/// e.g ornaments. NOTE: it's not necessarily the top staff! //--------------------------------------------------------- bool Staff::primaryStaff() const @@ -828,8 +830,10 @@ bool Staff::primaryStaff() const QList s; if (!_linkedStaves) return true; + if (isTabStaff()) + return false; foreach(Staff* staff, _linkedStaves->staves()) { - if (staff->score() == score()) + if (staff->score() == score() && !staff->isTabStaff()) s.append(staff); } return s.front() == this;