diff options
author | RJ Ryan <rryan@mixxx.org> | 2015-12-17 09:00:35 -0500 |
---|---|---|
committer | RJ Ryan <rryan@mixxx.org> | 2015-12-20 20:52:43 -0500 |
commit | 882a9e2605de86df7f50f8c2f8ea7bf09ba7bebb (patch) | |
tree | eb2ce100ac36f65fb58bf4e9741a689641610d3d /src/controllers/midi/midicontroller.h | |
parent | a985599fab36d4abec507bfadcd5e00e872690e2 (diff) |
Add timestamps to controller messages.
* PortMIDI uses OS-provided millisecond-level timestamp.
* HSS1394, HID, and bulk use Mixxx's internal clock to timestamp
messages as they are received by Mixxx. We should work with these
library owners to get access to better timestamps.
Diffstat (limited to 'src/controllers/midi/midicontroller.h')
-rw-r--r-- | src/controllers/midi/midicontroller.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/controllers/midi/midicontroller.h b/src/controllers/midi/midicontroller.h index dd7bd68d89..04b622f162 100644 --- a/src/controllers/midi/midicontroller.h +++ b/src/controllers/midi/midicontroller.h @@ -19,6 +19,7 @@ #include "controllers/midi/midimessage.h" #include "controllers/midi/midioutputhandler.h" #include "controllers/softtakeover.h" +#include "util/duration.h" class MidiController : public Controller { Q_OBJECT @@ -63,10 +64,10 @@ class MidiController : public Controller { } protected slots: - void receive(unsigned char status, unsigned char control = 0, - unsigned char value = 0); + void receive(unsigned char status, unsigned char control, + unsigned char value, mixxx::Duration timestamp); // For receiving System Exclusive messages - void receive(const QByteArray data); + void receive(const QByteArray data, mixxx::Duration timestamp); virtual int close(); private slots: @@ -81,9 +82,11 @@ class MidiController : public Controller { void processInputMapping(const MidiInputMapping& mapping, unsigned char status, unsigned char control, - unsigned char value); + unsigned char value, + mixxx::Duration timestamp); void processInputMapping(const MidiInputMapping& mapping, - const QByteArray& data); + const QByteArray& data, + mixxx::Duration timestamp); virtual void sendWord(unsigned int word) = 0; double computeValue(MidiOptions options, double _prevmidivalue, double _newmidivalue); |