17 #include <QtCore/QObject>
18 #include <QAbstractNativeEventFilter>
19 #include <DependencyManager.h>
38 class Midi :
public QObject,
public Dependency {
43 void midiReceived(
int device,
int raw,
int channel,
int status,
int type,
int note,
int velocity,
int bend,
int program);
44 void midiHardwareChange();
45 void sendRawMessage(
int device,
int raw);
46 void sendNote(
int status,
int note,
int velocity);
47 void sendMessage(
int device,
int channel,
int type,
int note,
int velocity);
48 static void USBchanged();
51 static std::vector<QString> midiInExclude;
52 static std::vector<QString> midiOutExclude;
67 void midiNote(QVariantMap eventData);
75 void midiMessage(QVariantMap eventData);
92 Q_INVOKABLE
void sendRawDword(
int device,
int raw);
104 Q_INVOKABLE
void sendMidiMessage(
int device,
int channel,
int type,
int note,
int velocity);
113 Q_INVOKABLE
void playMidiNote(
int status,
int note,
int velocity);
119 Q_INVOKABLE
void allNotesOff();
125 Q_INVOKABLE
void resetDevices();
133 Q_INVOKABLE QStringList listMidiDevices(
bool output);
141 Q_INVOKABLE
void blockMidiDevice(QString name,
bool output);
149 Q_INVOKABLE
void unblockMidiDevice(QString name,
bool output);
157 Q_INVOKABLE
void thruModeEnable(
bool enable);
166 Q_INVOKABLE
void broadcastEnable(
bool enable);
176 Q_INVOKABLE
void typeNoteOffEnable(
bool enable);
183 Q_INVOKABLE
void typeNoteOnEnable(
bool enable);
190 Q_INVOKABLE
void typePolyKeyPressureEnable(
bool enable);
197 Q_INVOKABLE
void typeControlChangeEnable(
bool enable);
204 Q_INVOKABLE
void typeProgramChangeEnable(
bool enable);
211 Q_INVOKABLE
void typeChanPressureEnable(
bool enable);
218 Q_INVOKABLE
void typePitchBendEnable(
bool enable);
225 Q_INVOKABLE
void typeSystemMessageEnable(
bool enable);