summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Holthuis <jan.holthuis@ruhr-uni-bochum.de>2020-05-13 13:37:19 +0200
committerJan Holthuis <jan.holthuis@ruhr-uni-bochum.de>2020-05-13 16:53:22 +0200
commita7f4d65e110b0ec3de0ae987a3a20cb42bb825f1 (patch)
tree66b30b186d7211c7ae9f10a04865950eddb8a700
parent1a2970ba2d7d0028a4c6f9de9e4b32c20e3b90e3 (diff)
controllers/midi/midicontroller: Ignore MIDI clock messages (0xF8)
-rw-r--r--src/controllers/midi/midicontroller.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/controllers/midi/midicontroller.cpp b/src/controllers/midi/midicontroller.cpp
index 8ebf383c61..676683b6ed 100644
--- a/src/controllers/midi/midicontroller.cpp
+++ b/src/controllers/midi/midicontroller.cpp
@@ -203,6 +203,16 @@ void MidiController::receive(unsigned char status, unsigned char control,
unsigned char channel = MidiUtils::channelFromStatus(status);
unsigned char opCode = MidiUtils::opCodeFromStatus(status);
+ // Ignore MIDI beat clock messages (0xF8) until we have proper MIDI sync in
+ // Mixxx. These messages are not suitable to use in JS anyway, as they are
+ // sent at 24 ppqn (i.e. one message every 20.83 ms for a 120 BPM track)
+ // and require real-time code. Currently, they are only spam on the
+ // console, inhibit the screen saver unintentionally, could potentially
+ // slow down Mixxx or interfere with the learning wizard.
+ if (status == 0xF8) {
+ return;
+ }
+
controllerDebug(MidiUtils::formatMidiMessage(getName(), status, control, value,
channel, opCode, timestamp));
MidiKey mappingKey(status, control);