summaryrefslogtreecommitdiffstats
path: root/src/controllers/midi/midicontroller.h
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2015-12-17 09:00:35 -0500
committerRJ Ryan <rryan@mixxx.org>2015-12-20 20:52:43 -0500
commit882a9e2605de86df7f50f8c2f8ea7bf09ba7bebb (patch)
treeeb2ce100ac36f65fb58bf4e9741a689641610d3d /src/controllers/midi/midicontroller.h
parenta985599fab36d4abec507bfadcd5e00e872690e2 (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.h13
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);