Pulling the latest commit of QMidi library
parent
a3d97b4f7f
commit
8403e8be05
|
|
@ -36,6 +36,14 @@ void QMidiIn::openPort(QString name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
void QMidiIn::closePort()
|
||||||
|
{
|
||||||
|
_midiIn->closePort();
|
||||||
|
}
|
||||||
|
bool QMidiIn::isPortOpen()
|
||||||
|
{
|
||||||
|
return _midiIn->isPortOpen();
|
||||||
|
}
|
||||||
void QMidiIn::setIgnoreTypes(bool sysex, bool time, bool sense)
|
void QMidiIn::setIgnoreTypes(bool sysex, bool time, bool sense)
|
||||||
{
|
{
|
||||||
_midiIn->ignoreTypes(sysex, time, sense);
|
_midiIn->ignoreTypes(sysex, time, sense);
|
||||||
|
|
@ -85,6 +93,9 @@ void QMidiIn::callback(double deltatime, std::vector<unsigned char> *message, vo
|
||||||
midiMessage->setPitch((unsigned int) message->at(1));
|
midiMessage->setPitch((unsigned int) message->at(1));
|
||||||
midiMessage->setValue((unsigned int) message->at(2));
|
midiMessage->setValue((unsigned int) message->at(2));
|
||||||
break;
|
break;
|
||||||
|
case MIDI_SYSEX:
|
||||||
|
midiMessage->setSysExData(*message);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ public:
|
||||||
void openPort(QString name);
|
void openPort(QString name);
|
||||||
void openPort(unsigned int index);
|
void openPort(unsigned int index);
|
||||||
void openVirtualPort(QString name);
|
void openVirtualPort(QString name);
|
||||||
|
void closePort();
|
||||||
|
bool isPortOpen();
|
||||||
void setIgnoreTypes(bool sysex = true, bool time = true, bool sense = true);
|
void setIgnoreTypes(bool sysex = true, bool time = true, bool sense = true);
|
||||||
private:
|
private:
|
||||||
void onMidiMessageReceive(QMidiMessage *msg);
|
void onMidiMessageReceive(QMidiMessage *msg);
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ QMidiMessage::QMidiMessage(const QMidiMessage &other)
|
||||||
_control = other._control;
|
_control = other._control;
|
||||||
_value = other._value;
|
_value = other._value;
|
||||||
_deltaTime = other._deltaTime;
|
_deltaTime = other._deltaTime;
|
||||||
|
_sysExData = other._sysExData;
|
||||||
_rawMessage = other._rawMessage;
|
_rawMessage = other._rawMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -31,6 +32,7 @@ QMidiMessage *QMidiMessage::clear()
|
||||||
_control = 0;
|
_control = 0;
|
||||||
_value = 0;
|
_value = 0;
|
||||||
_deltaTime = 0;
|
_deltaTime = 0;
|
||||||
|
_sysExData.clear();
|
||||||
_rawMessage.clear();
|
_rawMessage.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -69,6 +71,11 @@ double QMidiMessage::getDeltaTime()
|
||||||
return _deltaTime;
|
return _deltaTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<unsigned char> QMidiMessage::getSysExData()
|
||||||
|
{
|
||||||
|
return _sysExData;
|
||||||
|
}
|
||||||
|
|
||||||
QMidiMessage *QMidiMessage::setStatus(QMidiStatus status)
|
QMidiMessage *QMidiMessage::setStatus(QMidiStatus status)
|
||||||
{
|
{
|
||||||
_status = status;
|
_status = status;
|
||||||
|
|
@ -117,6 +124,11 @@ QMidiMessage *QMidiMessage::setRawMessage(std::vector<unsigned char> rawMessage)
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QMidiMessage *QMidiMessage::setSysExData(std::vector<unsigned char> sysExData){
|
||||||
|
_sysExData = sysExData;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<unsigned char> QMidiMessage::getRawMessage()
|
std::vector<unsigned char> QMidiMessage::getRawMessage()
|
||||||
{
|
{
|
||||||
if(_rawMessage.size() == 0)
|
if(_rawMessage.size() == 0)
|
||||||
|
|
@ -147,7 +159,14 @@ std::vector<unsigned char> QMidiMessage::getRawMessage()
|
||||||
_rawMessage.push_back(_value);
|
_rawMessage.push_back(_value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case MIDI_SYSEX:{
|
||||||
|
_rawMessage = _sysExData;
|
||||||
|
if(_sysExData.back() != MIDI_SYSEX_END) _rawMessage.push_back(MIDI_SYSEX_END);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
//TODO: check protocol and implement other cases
|
//TODO: check protocol and implement other cases
|
||||||
|
|
||||||
default:{
|
default:{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,8 @@ public:
|
||||||
unsigned int getControl();
|
unsigned int getControl();
|
||||||
unsigned int getValue();
|
unsigned int getValue();
|
||||||
double getDeltaTime();
|
double getDeltaTime();
|
||||||
|
std::vector<unsigned char> getSysExData();
|
||||||
|
|
||||||
|
|
||||||
QMidiMessage* setStatus(QMidiStatus status);
|
QMidiMessage* setStatus(QMidiStatus status);
|
||||||
QMidiMessage* setChannel(unsigned int channel);
|
QMidiMessage* setChannel(unsigned int channel);
|
||||||
|
|
@ -62,6 +64,7 @@ public:
|
||||||
QMidiMessage* setControl(unsigned int control);
|
QMidiMessage* setControl(unsigned int control);
|
||||||
QMidiMessage* setValue(unsigned int value);
|
QMidiMessage* setValue(unsigned int value);
|
||||||
QMidiMessage* setDeltaTime(double deltaTime);
|
QMidiMessage* setDeltaTime(double deltaTime);
|
||||||
|
QMidiMessage* setSysExData(std::vector<unsigned char> sysExData);
|
||||||
QMidiMessage* setRawMessage(std::vector<unsigned char> rawMessage);
|
QMidiMessage* setRawMessage(std::vector<unsigned char> rawMessage);
|
||||||
|
|
||||||
std::vector<unsigned char> getRawMessage();
|
std::vector<unsigned char> getRawMessage();
|
||||||
|
|
@ -74,6 +77,7 @@ public:
|
||||||
unsigned int _control;
|
unsigned int _control;
|
||||||
unsigned int _value;
|
unsigned int _value;
|
||||||
double _deltaTime;
|
double _deltaTime;
|
||||||
|
std::vector<unsigned char> _sysExData;
|
||||||
|
|
||||||
std::vector<unsigned char> _rawMessage;
|
std::vector<unsigned char> _rawMessage;
|
||||||
signals:
|
signals:
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,14 @@ void QMidiOut::openVirtualPort(QString name)
|
||||||
{
|
{
|
||||||
_midiOut->openVirtualPort(name.toStdString());
|
_midiOut->openVirtualPort(name.toStdString());
|
||||||
}
|
}
|
||||||
|
void QMidiOut::closePort()
|
||||||
|
{
|
||||||
|
_midiOut->closePort();
|
||||||
|
}
|
||||||
|
bool QMidiOut::isPortOpen()
|
||||||
|
{
|
||||||
|
return _midiOut->isPortOpen();
|
||||||
|
}
|
||||||
void QMidiOut::sendNoteOn(unsigned int channel, unsigned int pitch, unsigned int velocity)
|
void QMidiOut::sendNoteOn(unsigned int channel, unsigned int pitch, unsigned int velocity)
|
||||||
{
|
{
|
||||||
std::vector<unsigned char> message;
|
std::vector<unsigned char> message;
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@ public:
|
||||||
void sendRawMessage(std::vector<unsigned char> &message);
|
void sendRawMessage(std::vector<unsigned char> &message);
|
||||||
void openPort(unsigned int index);
|
void openPort(unsigned int index);
|
||||||
void openVirtualPort(QString name);
|
void openVirtualPort(QString name);
|
||||||
|
void closePort();
|
||||||
|
bool isPortOpen();
|
||||||
private:
|
private:
|
||||||
RtMidiOut *_midiOut;
|
RtMidiOut *_midiOut;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue