Mercurial > hg > svcore
diff data/midi/MIDIInput.cpp @ 1397:b0533d195c83
Update RtMidi build to v2.1.1
author | Chris Cannam |
---|---|
date | Sun, 05 Mar 2017 21:51:10 +0000 |
parents | 794b64e62e58 |
children | d2ecf0acc3e2 |
line wrap: on
line diff
--- a/data/midi/MIDIInput.cpp Sun Mar 05 17:16:04 2017 +0000 +++ b/data/midi/MIDIInput.cpp Sun Mar 05 21:51:10 2017 +0000 @@ -20,15 +20,21 @@ #include "system/System.h" MIDIInput::MIDIInput(QString name, FrameTimer *timer) : - m_rtmidi(), + m_rtmidi(0), m_frameTimer(timer), m_buffer(1023) { try { - m_rtmidi = new RtMidiIn(name.toStdString()); - m_rtmidi->setCallback(staticCallback, this); - m_rtmidi->openPort(0, tr("Input").toStdString()); - } catch (RtError e) { + std::vector<RtMidi::Api> apis; + RtMidi::getCompiledApi(apis); + if (apis.empty()) { + SVDEBUG << "MIDIInput: No RtMidi APIs compiled in" << endl; + } else { + m_rtmidi = new RtMidiIn(apis[0], name.toStdString()); + m_rtmidi->setCallback(staticCallback, this); + m_rtmidi->openPort(0, tr("Input").toStdString()); + } + } catch (RtMidiError e) { e.printMessage(); delete m_rtmidi; m_rtmidi = 0;