Loading...
Searching...
No Matches
MidiDeviceProtocol.hpp
1#pragma once
2
18#include <Protocols/MIDIDevices/MidiDeviceMap.hpp>
19
20#include <ossia/network/base/protocol.hpp>
21
22#include <libremidi/api.hpp>
23#include <libremidi/observer_configuration.hpp>
24
25#include <memory>
26#include <optional>
27#include <vector>
28
29namespace Protocols::MIDIDevices
30{
31
34{
35 DeviceMap map;
36
42 int channel{1};
43
53 bool level{true};
54};
55
70{
72 int channel{1};
73
79 bool expanded{};
80};
81
83{
84 libremidi::API api{};
85
91 std::optional<libremidi::input_port> input;
92 std::optional<libremidi::output_port> output;
93
102 std::vector<MappedDevice> devices;
103
105 std::vector<GenericChannel> generic;
106};
107
110std::unique_ptr<ossia::net::protocol_base> makeProtocol(ProtocolSettings settings);
111
112}
Definition MidiDeviceMap.hpp:300
Definition MidiDeviceProtocol.hpp:70
bool expanded
Definition MidiDeviceProtocol.hpp:79
int channel
1-16.
Definition MidiDeviceProtocol.hpp:72
One description, and the channel the device it describes is set to.
Definition MidiDeviceProtocol.hpp:34
int channel
Definition MidiDeviceProtocol.hpp:42
bool level
Definition MidiDeviceProtocol.hpp:53
Definition MidiDeviceProtocol.hpp:83
std::vector< MappedDevice > devices
Definition MidiDeviceProtocol.hpp:102
std::optional< libremidi::input_port > input
Definition MidiDeviceProtocol.hpp:91