score-plugin-protocols/Protocols/Settings/Model.hpp
1 #pragma once
2 #include <score/plugins/ProjectSettings/ProjectSettingsModel.hpp>
3 #include <score/plugins/settingsdelegate/SettingsDelegateModel.hpp>
4 
5 #include <libremidi/api.hpp>
6 
7 #include <score_plugin_protocols_export.h>
8 
9 #include <verdigris>
10 
11 namespace Protocols::Settings
12 {
13 struct MidiAPI
14 {
15  operator QStringList() const;
16 };
17 
18 class SCORE_PLUGIN_PROTOCOLS_EXPORT Model : public score::SettingsDelegateModel
19 {
20  W_OBJECT(Model)
21 
22  QString m_MidiAPI;
23 
24 public:
25  Model(QSettings& set, const score::ApplicationContext& ctx);
26 
27  libremidi::API getMidiApiAsEnum() const noexcept;
28  SCORE_SETTINGS_PARAMETER_HPP(SCORE_PLUGIN_PROTOCOLS_EXPORT, QString, MidiAPI)
29 };
30 
31 SCORE_SETTINGS_PARAMETER(Model, MidiAPI)
32 }
33 
34 #undef AUDIO_PARAMETER_HPP
Definition: score-plugin-protocols/Protocols/Settings/Model.hpp:19
Definition: SettingsDelegateModel.hpp:16
Definition: score-plugin-protocols/Protocols/Settings/Model.hpp:14
Used to access all the application-wide state and structures.
Definition: ApplicationContext.hpp:24