2#include <Device/Protocol/DeviceInterface.hpp>
4#include <score_plugin_protocols_export.h>
6#include <libremidi/api.hpp>
7#include <libremidi/configurations.hpp>
8#include <libremidi/input_configuration.hpp>
9#include <libremidi/output_configuration.hpp>
19class MidiKeyboardEventFilter;
20struct MIDISpecificSettings;
32SCORE_PLUGIN_PROTOCOLS_EXPORT
33bool midiApiAvailable(libremidi::API api)
noexcept;
47SCORE_PLUGIN_PROTOCOLS_EXPORT
48std::pair<libremidi::input_configuration, libremidi::input_api_configuration>
49makeInputConfiguration(MIDIDevice* self, MIDISpecificSettings& set);
52SCORE_PLUGIN_PROTOCOLS_EXPORT
53std::pair<libremidi::output_configuration, libremidi::output_api_configuration>
54makeOutputConfiguration(MIDIDevice* self, MIDISpecificSettings& set);
61 const ossia::net::network_context_ptr& ctx);
64 bool reconnect()
override;
66 void disconnect()
override;
68 QMimeData* mimeData()
const override;
70 using OwningDeviceInterface::refresh;
73 bool isLearning()
const final override;
74 void setLearning(
bool)
final override;
76 const ossia::net::network_context_ptr& m_ctx;
Definition DeviceInterface.hpp:245
Definition MIDIDevice.hpp:57
Definition MIDIKeyboardEventFilter.linux.hpp:15
Definition DeviceSettings.hpp:20