diff --git a/MidiProbe.cpp b/MidiProbe.cpp new file mode 100644 index 0000000..7c20170 --- /dev/null +++ b/MidiProbe.cpp @@ -0,0 +1,45 @@ +#include "MidiProbe.h" +#include +#include + +MidiProbe::MidiProbe() +{ + midiin = new RtMidiIn(); + portCount = midiin->getPortCount(); +} + +unsigned int MidiProbe::getPort() +{ + QString selectedPort = ""; + unsigned int i=0; + if(portCount==0) + { + QErrorMessage * message = new QErrorMessage(); + message->setWindowTitle("Fehler!"); + message->setWindowFlags(message->windowFlags()^Qt::WindowContextHelpButtonHint); + message->setModal(true); + message->showMessage("Keine MIDI-Geräte erkannt!"); + } + else if(portCount == 1) //automatically select port 0 if it is the only one + { + return(0); + } + else if(portCount == 2) // let user select port + { + for(i=0; igetPortName(i))); + + QInputDialog * dialog = new QInputDialog(); + dialog->setWindowFlags(dialog->windowFlags()^Qt::WindowContextHelpButtonHint); + dialog->setModal(true); + + selectedPort = dialog->getItem(nullptr, "Bitte ein Midi-Gerät auswählen:", "Midi-Geräte:", midiDevices, 0, true); + for(i=0; i