MuseScore
3.4
Music composition and notation
|
Detect overlap in a voice, which is when a voice has two or more notes active at the same time. More...
#include <musicxmlsupport.h>
Public Member Functions | |
VoiceOverlapDetector () | |
void | addNote (const int startTick, const int endTick, const QString &voice, const int staff) |
void | dump () const |
void | newMeasure () |
bool | stavesOverlap (const QString &voice) const |
Private Attributes | |
QMap< QString, NoteList > | _noteLists |
The notelists for all the voices. More... | |
Detect overlap in a voice, which is when a voice has two or more notes active at the same time.
In theory this should not happen, as voices only move forward in time, but Sibelius 7 reuses voice numbers in multi- staff parts, which leads to overlap.
Current implementation does not detect voice overlap within a staff, but only between staves.
Ms::VoiceOverlapDetector::VoiceOverlapDetector | ( | ) |
void Ms::VoiceOverlapDetector::addNote | ( | const int | startTick, |
const int | endTick, | ||
const QString & | voice, | ||
const int | staff | ||
) |
void Ms::VoiceOverlapDetector::dump | ( | ) | const |
void Ms::VoiceOverlapDetector::newMeasure | ( | ) |
bool Ms::VoiceOverlapDetector::stavesOverlap | ( | const QString & | voice | ) | const |
|
private |
The notelists for all the voices.