fix stubbing of MIDIManager if HAVE_RTMIDI not defined

This commit is contained in:
Stephen Birarda 2014-07-08 09:52:50 -07:00
parent dd8f7e81b1
commit 171660ded7
2 changed files with 13 additions and 9 deletions

View file

@ -13,14 +13,13 @@
#include "MIDIManager.h" #include "MIDIManager.h"
#ifdef HAVE_RTMIDI
MIDIManager& MIDIManager::getInstance() { MIDIManager& MIDIManager::getInstance() {
static MIDIManager sharedInstance; static MIDIManager sharedInstance;
return sharedInstance; return sharedInstance;
} }
void MIDIManager::midiCallback(double deltaTime, std::vector<unsigned char>* message, void* userData) { void MIDIManager::midiCallback(double deltaTime, std::vector<unsigned char>* message, void* userData) {
#ifdef HAVE_RTMIDI
MIDIEvent callbackEvent; MIDIEvent callbackEvent;
callbackEvent.deltaTime = deltaTime; callbackEvent.deltaTime = deltaTime;
@ -36,15 +35,19 @@ void MIDIManager::midiCallback(double deltaTime, std::vector<unsigned char>* mes
} }
emit getInstance().midiEvent(callbackEvent); emit getInstance().midiEvent(callbackEvent);
#endif
} }
MIDIManager::~MIDIManager() { MIDIManager::~MIDIManager() {
#ifdef HAVE_RTMIDI
delete _midiInput; delete _midiInput;
#endif
} }
const int DEFAULT_MIDI_PORT = 0; const int DEFAULT_MIDI_PORT = 0;
void MIDIManager::openDefaultPort() { void MIDIManager::openDefaultPort() {
#ifdef HAVE_RTMIDI
if (!_midiInput) { if (!_midiInput) {
_midiInput = new RtMidiIn(); _midiInput = new RtMidiIn();
@ -63,6 +66,5 @@ void MIDIManager::openDefaultPort() {
_midiInput = NULL; _midiInput = NULL;
} }
} }
} #endif
}
#endif

View file

@ -12,15 +12,17 @@
#ifndef hifi_MIDIManager_h #ifndef hifi_MIDIManager_h
#define hifi_MIDIManager_h #define hifi_MIDIManager_h
#ifdef HAVE_RTMIDI
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QtScript/QScriptEngine> #include <QtScript/QScriptEngine>
#include <MIDIEvent.h> #include <MIDIEvent.h>
#ifdef HAVE_RTMIDI
#include <RtMidi.h> #include <RtMidi.h>
#endif
class MIDIManager : public QObject { class MIDIManager : public QObject {
Q_OBJECT Q_OBJECT
@ -46,11 +48,11 @@ signals:
void midiEvent(const MIDIEvent& event); void midiEvent(const MIDIEvent& event);
private: private:
#ifdef HAVE_RTMIDI
RtMidiIn* _midiInput; RtMidiIn* _midiInput;
#endif HAVE_RTMIDI
}; };
#endif
#endif // hifi_MIDIManager_h #endif // hifi_MIDIManager_h