diff options
Diffstat (limited to 'tests/midiprobe.cpp')
| -rw-r--r-- | tests/midiprobe.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/midiprobe.cpp b/tests/midiprobe.cpp new file mode 100644 index 0000000..7b4dc8c --- /dev/null +++ b/tests/midiprobe.cpp @@ -0,0 +1,70 @@ +// midiprobe.cpp +// +// Simple program to check MIDI inputs and outputs. +// +// by Gary Scavone, 2003-2004. + +#include <iostream> +#include "RtMidi.h" + +int main() +{ + RtMidiIn *midiin = 0; + RtMidiOut *midiout = 0; + + // RtMidiIn constructor + try { + midiin = new RtMidiIn(); + } + catch ( RtError &error ) { + error.printMessage(); + exit( EXIT_FAILURE ); + } + + // Check inputs. + unsigned int nPorts = midiin->getPortCount(); + std::cout << "\nThere are " << nPorts << " MIDI input sources available.\n"; + std::string portName; + unsigned int i; + for ( i=0; i<nPorts; i++ ) { + try { + portName = midiin->getPortName(i); + } + catch ( RtError &error ) { + error.printMessage(); + goto cleanup; + } + std::cout << " Input Port #" << i+1 << ": " << portName << '\n'; + } + + // RtMidiOut constructor + try { + midiout = new RtMidiOut(); + } + catch ( RtError &error ) { + error.printMessage(); + exit( EXIT_FAILURE ); + } + + // Check outputs. + nPorts = midiout->getPortCount(); + std::cout << "\nThere are " << nPorts << " MIDI output ports available.\n"; + for ( i=0; i<nPorts; i++ ) { + try { + portName = midiout->getPortName(i); + } + catch ( RtError &error ) { + error.printMessage(); + goto cleanup; + } + std::cout << " Output Port #" << i+1 << ": " << portName << '\n'; + } + std::cout << '\n'; + + // Clean up + cleanup: + delete midiin; + delete midiout; + + return 0; +} |
