openMSX
MidiSessionALSA.hh
Go to the documentation of this file.
1 #ifndef MIDISESSIONALSA_HH
2 #define MIDISESSIONALSA_HH
3 
4 #include <alsa/asoundlib.h>
5 #include <memory>
6 
7 
8 namespace openmsx {
9 
10 class CliComm;
11 class EventDistributor;
12 class Scheduler;
13 class PluggingController;
14 
15 
18 class MidiSessionALSA final
19 {
20 public:
21  static void registerAll(PluggingController& controller, CliComm& cliComm);
22 
24 
25 private:
26  static std::unique_ptr<MidiSessionALSA> instance;
27 
28  explicit MidiSessionALSA(snd_seq_t& seq);
29  void scanClients(PluggingController& controller);
30 
31  snd_seq_t& seq;
32 };
33 
34 } // namespace openmsx
35 
36 #endif // MIDISESSIONALSA_HH
openmsx::MidiSessionALSA
Lists ALSA MIDI ports we can connect to.
Definition: MidiSessionALSA.hh:19
openmsx::MidiSessionALSA::~MidiSessionALSA
~MidiSessionALSA()
Definition: MidiSessionALSA.cc:198
openmsx::MidiSessionALSA::registerAll
static void registerAll(PluggingController &controller, CliComm &cliComm)
Definition: MidiSessionALSA.cc:175
openmsx::CliComm
Definition: CliComm.hh:11
openmsx::Scheduler
Scheduler
Definition: Scheduler.cc:132
openmsx::PluggingController
Central administration of Connectors and Pluggables.
Definition: PluggingController.hh:22
openmsx
This file implemented 3 utility functions:
Definition: Autofire.cc:5