Canorus  0.0
rtmididevice.h
Go to the documentation of this file.
1 
8 #ifndef RTMIDIDEVICE_H_
9 #define RTMIDIDEVICE_H_
10 
11 #include "interface/mididevice.h"
12 #include <sstream>
13 
14 class RtMidiOut;
15 class RtMidiIn;
16 
17 #ifndef SWIG
18 void rtMidiInCallback( double deltatime, std::vector< unsigned char > *message, void *userData );
19 #endif
20 
21 class CARtMidiDevice : public CAMidiDevice {
22 public:
24  virtual ~CARtMidiDevice();
25 
26  QMap<int, QString> getOutputPorts();
27  QMap<int, QString> getInputPorts();
28 
29  bool openOutputPort(int port); // return true on success, false otherwise
30  bool openInputPort(int port); // return true on success, false otherwise
31  void closeOutputPort();
32  void closeInputPort();
33  void send(QVector<unsigned char> message, int time);
34  void sendMetaEvent(int time, int event, int a, int b, int c ) { ; }
35 
36 private:
39  bool _outOpen;
40  bool _inOpen;
41  qint64 _pid;
42  std::stringstream _midiNameIn;
43  std::stringstream _midiNameOut;
44 };
45 
46 #endif /* RTMIDIDEVICE_H_ */
RtMidiIn::setCallback
void setCallback(RtMidiCallback callback, void *userData=0)
Set a callback function to be invoked for incoming MIDI messages.
Definition: RtMidi.cpp:77
CAMidiDevice::midiInEvent
void midiInEvent(QVector< unsigned char > message)
CARtMidiDevice::send
void send(QVector< unsigned char > message, int time)
Definition: rtmididevice.cpp:166
RtMidiIn::getPortName
std::string getPortName(unsigned int portNumber=0)
Return a string identifier for the specified MIDI input port number.
rtMidiInCallback
void rtMidiInCallback(double deltatime, std::vector< unsigned char > *message, void *userData)
Definition: rtmididevice.cpp:100
CARtMidiDevice::openOutputPort
bool openOutputPort(int port)
Definition: rtmididevice.cpp:58
RtMidiIn::getPortCount
unsigned int getPortCount()
Return the number of available MIDI input ports.
CARtMidiDevice::getInputPorts
QMap< int, QString > getInputPorts()
Definition: rtmididevice.cpp:142
CARtMidiDevice::_inOpen
bool _inOpen
Definition: rtmididevice.h:40
CAMidiDevice::_midiDeviceType
CAMidiDeviceType _midiDeviceType
Definition: mididevice.h:94
rtMidiInCallback
void rtMidiInCallback(double deltatime, std::vector< unsigned char > *message, void *userData)
Definition: rtmididevice.cpp:100
CARtMidiDevice::_out
RtMidiOut * _out
Definition: rtmididevice.h:37
rtmididevice.h
RtMidiOut::closePort
void closePort()
Close an open MIDI connection (if one exists).
RtMidiIn::closePort
void closePort(void)
Close an open MIDI connection (if one exists).
RtMidiIn::cancelCallback
void cancelCallback()
Cancel use of the current callback function (if one exists).
Definition: RtMidi.cpp:96
CARtMidiDevice::_pid
qint64 _pid
Definition: rtmididevice.h:41
CACanorus::midiDevice
static CAMidiDevice * midiDevice()
Definition: canorus.h:67
CARtMidiDevice::~CARtMidiDevice
virtual ~CARtMidiDevice()
Definition: rtmididevice.cpp:154
CARtMidiDevice::getOutputPorts
QMap< int, QString > getOutputPorts()
Definition: rtmididevice.cpp:130
CARtMidiDevice::closeInputPort
void closeInputPort()
Definition: rtmididevice.cpp:118
RtMidiOut::getPortCount
unsigned int getPortCount()
Return the number of available MIDI output ports.
RtMidi.h
CARtMidiDevice
Canorus wrapper for RtMidi library CARtMidiDevice is a Canorus wrapper class for a cross-platform MID...
Definition: rtmididevice.h:21
CARtMidiDevice::_in
RtMidiIn * _in
Definition: rtmididevice.h:38
CARtMidiDevice::_midiNameOut
std::stringstream _midiNameOut
Definition: rtmididevice.h:43
CARtMidiDevice::CARtMidiDevice
CARtMidiDevice()
Definition: rtmididevice.cpp:35
CAMidiDevice
Canorus<->Midi bridge.
Definition: mididevice.h:22
RtMidiIn::openPort
void openPort(unsigned int portNumber=0, const std::string Portname=std::string("RtMidi Input"))
Open a MIDI input connection.
RtMidiOut::sendMessage
void sendMessage(std::vector< unsigned char > *message)
Immediately send a single message out an open MIDI output port.
CARtMidiDevice::_midiNameIn
std::stringstream _midiNameIn
Definition: rtmididevice.h:42
RtMidiIn
A realtime MIDI input class.
Definition: RtMidi.h:102
RtMidiOut::getPortName
std::string getPortName(unsigned int portNumber=0)
Return a string identifier for the specified MIDI port type and number.
RtError::printMessage
virtual void printMessage(void)
Prints thrown error message to stderr.
Definition: RtError.h:48
CAMidiDevice::RtMidiDevice
@ RtMidiDevice
Definition: mididevice.h:30
RtError
Exception handling class for RtAudio & RtMidi.
Definition: RtError.h:19
CARtMidiDevice::openInputPort
bool openInputPort(int port)
Definition: rtmididevice.cpp:77
CAMidiDevice::setRealTime
void setRealTime(bool r)
Definition: mididevice.h:92
canorus.h
CARtMidiDevice::closeOutputPort
void closeOutputPort()
Definition: rtmididevice.cpp:108
mididevice.h
CARtMidiDevice::_outOpen
bool _outOpen
Definition: rtmididevice.h:39
CARtMidiDevice::sendMetaEvent
void sendMetaEvent(int time, int event, int a, int b, int c)
Definition: rtmididevice.h:34
CAMidiDevice::rtMidiInCallback
friend void rtMidiInCallback(double deltatime, std::vector< unsigned char > *message, void *userData)
Definition: rtmididevice.cpp:100
RtMidiOut::openPort
void openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))
Open a MIDI output connection.
RtMidiOut
A realtime MIDI output class.
Definition: RtMidi.h:243