|
@@ -250,7 +250,11 @@ midi::LaunchpadColor PlaybackScreen::getBeatColor(std::shared_ptr<midi::NoteOnMe
|
|
bool isNextBeat = (sequencer.player.getNextBeat() == beatIndex);
|
|
bool isNextBeat = (sequencer.player.getNextBeat() == beatIndex);
|
|
if(*onIndex_it == beatIndex) {
|
|
if(*onIndex_it == beatIndex) {
|
|
// on msg on current beat
|
|
// on msg on current beat
|
|
- return isNextBeat ? colors::activeOnBeat : colors::inactiveOnBeat;
|
|
|
|
|
|
+ if(noteInfo.offBeatIndices.find(*onIndex_it) != noteInfo.offBeatIndices.end()) {
|
|
|
|
+ return isNextBeat ? colors::activeOffOnBeat : colors::inactiveOffOnBeat;
|
|
|
|
+ } else {
|
|
|
|
+ return isNextBeat ? colors::activeOnBeat : colors::inactiveOnBeat;
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
// continuing msg from previous beat ?
|
|
// continuing msg from previous beat ?
|
|
BeatIndexMultiset::const_iterator offIndex_it
|
|
BeatIndexMultiset::const_iterator offIndex_it
|
|
@@ -261,17 +265,6 @@ midi::LaunchpadColor PlaybackScreen::getBeatColor(std::shared_ptr<midi::NoteOnMe
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- const midi::MessageList& beat = sequencer.beats[beatIndex];
|
|
|
|
- if(beat.contains(*onMsg_ptr)) {
|
|
|
|
- if(sequencer.player.getNextBeat() == beatIndex) {
|
|
|
|
- return colors::activeMessage;
|
|
|
|
- } else {
|
|
|
|
- return colors::inactiveMessage;
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- return colors::dark;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
bool PlaybackScreen::beatsInSequence(BeatIndex a, BeatIndex b, BeatIndex c)
|
|
bool PlaybackScreen::beatsInSequence(BeatIndex a, BeatIndex b, BeatIndex c)
|