Skip to content

Commit 2daa8e8

Browse files
committed
LoopingMidiNode: Avoided creating note-on events when the sequence changes as this plays playing notes again even if the new notes are not under the playhead. Instead, notes will only be played when the playhead passes the note-on event which is what most DAWs seem to do anyway.
1 parent 21aa921 commit 2daa8e8

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

modules/tracktion_engine/playback/graph/tracktion_LoopingMidiNode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,7 +1028,7 @@ class LoopedMidiEventGenerator : public MidiGenerator
10281028
generator->setTime (0.0);
10291029
}
10301030

1031-
return exhausted();
1031+
return ! exhausted();
10321032
}
10331033

10341034
bool exhausted() override
@@ -1171,7 +1171,7 @@ class GeneratorAndNoteList
11711171

11721172
assert (sequences.size() > 0);
11731173
dynamicOffsetBeats = std::move (dynamicOffsetBeatsToUse);
1174-
shouldCreateMessagesForTime = clipPropertiesHaveChanged || noteListToUse == nullptr;
1174+
shouldCreateMessagesForTime = noteListToUse == nullptr;
11751175
activeNoteList = noteListToUse ? std::move (noteListToUse)
11761176
: std::make_shared<ActiveNoteList>();
11771177

0 commit comments

Comments
 (0)