NAP
midiportinfo.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // Nap includes
8 #include <utility/errorstate.h>
9 
10 // Third party includes
11 #include <RtMidi.h>
12 
13 namespace nap
14 {
18  class MidiPortInfo final
19  {
20  public:
26  bool init(utility::ErrorState& errorState);
27 
31  int getInputPortCount();
32 
36  std::string getInputPortName(int portNumber);
37 
42  int getInputPortNumber(const std::string& portName);
43 
47  int getOutputPortCount();
48 
52  std::string getOutputPortName(int portNumber);
53 
58  int getOutputPortNumber(const std::string& portName);
59 
63  void printPorts();
64 
65  private:
66  std::unique_ptr<RtMidiIn> mMidiIn = nullptr; // used to poll for available input ports
67  std::unique_ptr<RtMidiOut> mMidiOut = nullptr; // used to poll available output ports.
68  };
69 
70 }
nap::MidiPortInfo::getOutputPortNumber
int getOutputPortNumber(const std::string &portName)
nap::utility::ErrorState
Definition: errorstate.h:19
nap::MidiPortInfo::printPorts
void printPorts()
nap::MidiPortInfo::getInputPortNumber
int getInputPortNumber(const std::string &portName)
nap::MidiPortInfo::getInputPortCount
int getInputPortCount()
nap::MidiPortInfo::getInputPortName
std::string getInputPortName(int portNumber)
nap::MidiPortInfo::getOutputPortName
std::string getOutputPortName(int portNumber)
nap::MidiPortInfo::getOutputPortCount
int getOutputPortCount()
nap
Definition: templateapp.h:17
nap::MidiPortInfo::init
bool init(utility::ErrorState &errorState)
nap::MidiPortInfo
Definition: midiportinfo.h:18