|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- // midiprobe.cpp
- //
- // Simple program to check MIDI inputs and outputs.
- //
- // by Gary Scavone, 2003-2012.
-
- #include <iostream>
- #include <cstdlib>
- #include <map>
- #include "RtMidi.h"
-
- int main()
- {
- // Create an api map.
- std::map<int, std::string> apiMap;
- apiMap[RtMidi::MACOSX_CORE] = "OS-X CoreMidi";
- apiMap[RtMidi::WINDOWS_MM] = "Windows MultiMedia";
- apiMap[RtMidi::WINDOWS_KS] = "Windows Kernel Straming";
- apiMap[RtMidi::UNIX_JACK] = "Jack Client";
- apiMap[RtMidi::LINUX_ALSA] = "Linux ALSA";
- apiMap[RtMidi::RTMIDI_DUMMY] = "RtMidi Dummy";
-
- std::vector< RtMidi::Api > apis;
- RtMidi :: getCompiledApi( apis );
-
- std::cout << "\nCompiled APIs:\n";
- for ( unsigned int i=0; i<apis.size(); i++ )
- std::cout << " " << apiMap[ apis[i] ] << std::endl;
-
- RtMidiIn *midiin = 0;
- RtMidiOut *midiout = 0;
-
- try {
-
- // RtMidiIn constructor ... exception possible
- midiin = new RtMidiIn();
-
- std::cout << "\nCurrent input API: " << apiMap[ midiin->getCurrentApi() ] << std::endl;
-
- // Check inputs.
- unsigned int nPorts = midiin->getPortCount();
- std::cout << "\nThere are " << nPorts << " MIDI input sources available.\n";
-
- for ( unsigned i=0; i<nPorts; i++ ) {
- std::string portName = midiin->getPortName(i);
- std::cout << " Input Port #" << i+1 << ": " << portName << '\n';
- }
-
- // RtMidiOut constructor ... exception possible
- midiout = new RtMidiOut();
-
- std::cout << "\nCurrent output API: " << apiMap[ midiout->getCurrentApi() ] << std::endl;
-
- // Check outputs.
- nPorts = midiout->getPortCount();
- std::cout << "\nThere are " << nPorts << " MIDI output ports available.\n";
-
- for ( unsigned i=0; i<nPorts; i++ ) {
- std::string portName = midiout->getPortName(i);
- std::cout << " Output Port #" << i+1 << ": " << portName << std::endl;
- }
- std::cout << std::endl;
-
- } catch ( RtError &error ) {
- error.printMessage();
- }
-
- delete midiin;
- delete midiout;
-
- return 0;
- }
|