55 * \author WuChang
6677 * \date July 2023
8- * \version 1.0.0
8+ * \version 1.0.1
99 * \license MIT License
1010 *********************************************************************/
1111
@@ -38,40 +38,14 @@ namespace mackieControl {
3838 AllLEDsOff,
3939 Reset
4040 };
41- /* *
42- * Valid Mackie Control messages via MIDI system exclusive message.
43- */
44- constinit auto validSysExMessage = std::to_array({
45- SysExMessage::DeviceQuery,
46- SysExMessage::HostConnectionQuery,
47- SysExMessage::HostConnectionReply,
48- SysExMessage::HostConnectionConfirmation,
49- SysExMessage::HostConnectionError,
50- SysExMessage::LCDBackLightSaver,
51- SysExMessage::TouchlessMovableFaders,
52- SysExMessage::FaderTouchSensitivity,
53- SysExMessage::GoOffline,
54- SysExMessage::TimeCodeBBTDisplay,
55- SysExMessage::Assignment7SegmentDisplay,
56- SysExMessage::LCD,
57- SysExMessage::VersionRequest,
58- SysExMessage::VersionReply,
59- SysExMessage::ChannelMeterMode,
60- SysExMessage::GlobalLCDMeterMode,
61- SysExMessage::AllFaderstoMinimum,
62- SysExMessage::AllLEDsOff,
63- SysExMessage::Reset
64- });
6541 /* *
6642 * Check if the message is valid.
6743 */
68- constexpr bool isValidSysExMessage (SysExMessage mes) {
69- return std::find (validSysExMessage.begin (), validSysExMessage.end (), mes) != validSysExMessage.end (); }
44+ constexpr bool isValidSysExMessage (SysExMessage mes);
7045 /* *
7146 * Check if the message is valid.
7247 */
73- constexpr bool isValidSysExMessage (int mes) {
74- return isValidSysExMessage (static_cast <SysExMessage>(mes)); }
48+ constexpr bool isValidSysExMessage (int mes);
7549
7650 /* *
7751 * Mackie Control messages via MIDI note message velocity data.
@@ -81,24 +55,14 @@ namespace mackieControl {
8155 Flashing,
8256 On = 127
8357 };
84- /* *
85- * Valid Mackie Control messages via MIDI note message velocity data.
86- */
87- constinit auto validVelocityMessage = std::to_array({
88- VelocityMessage::Off,
89- VelocityMessage::Flashing,
90- VelocityMessage::On
91- });
9258 /* *
9359 * Check if the message is valid.
9460 */
95- constexpr bool isValidVelocityMessage (VelocityMessage mes) {
96- return std::find (validVelocityMessage.begin (), validVelocityMessage.end (), mes) != validVelocityMessage.end (); }
61+ constexpr bool isValidVelocityMessage (VelocityMessage mes);
9762 /* *
9863 * Check if the message is valid.
9964 */
100- constexpr bool isValidVelocityMessage (int mes) {
101- return isValidVelocityMessage (static_cast <VelocityMessage>(mes)); }
65+ constexpr bool isValidVelocityMessage (int mes);
10266
10367 /* *
10468 * Mackie Control messages via MIDI note message note number data.
@@ -142,72 +106,14 @@ namespace mackieControl {
142106 RUDESOLOLIGHT,
143107 Relayclick
144108 };
145- /* *
146- * Valid Mackie Control messages via MIDI note message note number data.
147- */
148- constinit auto validNoteMessage = std::to_array({
149- NoteMessage::RECRDYCh1, NoteMessage::RECRDYCh2, NoteMessage::RECRDYCh3, NoteMessage::RECRDYCh4,
150- NoteMessage::RECRDYCh5, NoteMessage::RECRDYCh6, NoteMessage::RECRDYCh7, NoteMessage::RECRDYCh8,
151- NoteMessage::SOLOCh1, NoteMessage::SOLOCh2, NoteMessage::SOLOCh3, NoteMessage::SOLOCh4,
152- NoteMessage::SOLOCh5, NoteMessage::SOLOCh6, NoteMessage::SOLOCh7, NoteMessage::SOLOCh8,
153- NoteMessage::MUTECh1, NoteMessage::MUTECh2, NoteMessage::MUTECh3, NoteMessage::MUTECh4,
154- NoteMessage::MUTECh5, NoteMessage::MUTECh6, NoteMessage::MUTECh7, NoteMessage::MUTECh8,
155- NoteMessage::SELECTCh1, NoteMessage::SELECTCh2, NoteMessage::SELECTCh3, NoteMessage::SELECTCh4,
156- NoteMessage::SELECTCh5, NoteMessage::SELECTCh6, NoteMessage::SELECTCh7, NoteMessage::SELECTCh8,
157- NoteMessage::VSelectCh1, NoteMessage::VSelectCh2, NoteMessage::VSelectCh3, NoteMessage::VSelectCh4,
158- NoteMessage::VSelectCh5, NoteMessage::VSelectCh6, NoteMessage::VSelectCh7, NoteMessage::VSelectCh8,
159- NoteMessage::ASSIGNMENTTRACK, NoteMessage::ASSIGNMENTSEND, NoteMessage::ASSIGNMENTPANSURROUND,
160- NoteMessage::ASSIGNMENTPLUGIN, NoteMessage::ASSIGNMENTEQ, NoteMessage::ASSIGNMENTINSTRUMENT,
161- NoteMessage::FADERBANKSBANKLeft, NoteMessage::FADERBANKSBANKRight,
162- NoteMessage::FADERBANKSCHANNELLeft, NoteMessage::FADERBANKSCHANNELRight,
163- NoteMessage::FLIP,
164- NoteMessage::GLOBALVIEW,
165- NoteMessage::NAMEVALUE,
166- NoteMessage::SMPTEBEATS,
167- NoteMessage::Function1, NoteMessage::Function2, NoteMessage::Function3, NoteMessage::Function4,
168- NoteMessage::Function5, NoteMessage::Function6, NoteMessage::Function7, NoteMessage::Function8,
169- NoteMessage::GLOBALVIEWMIDITRACKS, NoteMessage::GLOBALVIEWINPUTS,
170- NoteMessage::GLOBALVIEWAUDIOTRACKS, NoteMessage::GLOBALVIEWAUDIOINSTRUMENT,
171- NoteMessage::GLOBALVIEWAUX, NoteMessage::GLOBALVIEWBUSSES,
172- NoteMessage::GLOBALVIEWOUTPUTS, NoteMessage::GLOBALVIEWUSER,
173- NoteMessage::SHIFT, NoteMessage::OPTION, NoteMessage::CONTROL, NoteMessage::CMDALT,
174- NoteMessage::AUTOMATIONREADOFF, NoteMessage::AUTOMATIONWRITE, NoteMessage::AUTOMATIONTRIM,
175- NoteMessage::AUTOMATIONTOUCH, NoteMessage::AUTOMATIONLATCH,
176- NoteMessage::GROUP,
177- NoteMessage::UTILITIESSAVE, NoteMessage::UTILITIESUNDO,
178- NoteMessage::UTILITIESCANCEL, NoteMessage::UTILITIESENTER,
179- NoteMessage::MARKER,
180- NoteMessage::NUDGE,
181- NoteMessage::CYCLE,
182- NoteMessage::DROP,
183- NoteMessage::REPLACE,
184- NoteMessage::CLICK,
185- NoteMessage::SOLO,
186- NoteMessage::REWIND, NoteMessage::FASTFWD, NoteMessage::STOP, NoteMessage::PLAY, NoteMessage::RECORD,
187- NoteMessage::CursorUp, NoteMessage::CursorDown, NoteMessage::CursorLeft, NoteMessage::CursorRight,
188- NoteMessage::Zoom,
189- NoteMessage::Scrub,
190- NoteMessage::UserSwitchA, NoteMessage::UserSwitchB,
191- NoteMessage::FaderTouchCh1, NoteMessage::FaderTouchCh2,
192- NoteMessage::FaderTouchCh3, NoteMessage::FaderTouchCh4,
193- NoteMessage::FaderTouchCh5, NoteMessage::FaderTouchCh6,
194- NoteMessage::FaderTouchCh7, NoteMessage::FaderTouchCh8,
195- NoteMessage::FaderTouchMaster,
196- NoteMessage::SMPTELED,
197- NoteMessage::BEATSLED,
198- NoteMessage::RUDESOLOLIGHT,
199- NoteMessage::Relayclick
200- });
201109 /* *
202110 * Check if the message is valid.
203111 */
204- constexpr bool isValidNoteMessage (NoteMessage mes) {
205- return std::find (validNoteMessage.begin (), validNoteMessage.end (), mes) != validNoteMessage.end (); }
112+ constexpr bool isValidNoteMessage (NoteMessage mes);
206113 /* *
207114 * Check if the message is valid.
208115 */
209- constexpr bool isValidNoteMessage (int mes) {
210- return isValidNoteMessage (static_cast <NoteMessage>(mes)); }
116+ constexpr bool isValidNoteMessage (int mes);
211117
212118 /* *
213119 * Mackie Control messages via MIDI controller message controller number data.
@@ -223,34 +129,14 @@ namespace mackieControl {
223129 TimeCodeBBTDisplay9, TimeCodeBBTDisplay10,
224130 Assignment7SegmentDisplay1, Assignment7SegmentDisplay2, Assignment7SegmentDisplay3
225131 };
226- /* *
227- * Valid Mackie Control messages via MIDI controller message controller number data.
228- */
229- constinit auto validCCMessage = std::to_array({
230- CCMessage::VPot1, CCMessage::VPot2, CCMessage::VPot3, CCMessage::VPot4,
231- CCMessage::VPot5, CCMessage::VPot6, CCMessage::VPot7, CCMessage::VPot8,
232- CCMessage::ExternalController,
233- CCMessage::VPotLEDRing1, CCMessage::VPotLEDRing2, CCMessage::VPotLEDRing3, CCMessage::VPotLEDRing4,
234- CCMessage::VPotLEDRing5, CCMessage::VPotLEDRing6, CCMessage::VPotLEDRing7, CCMessage::VPotLEDRing8,
235- CCMessage::JogWheel,
236- CCMessage::TimeCodeBBTDisplay1, CCMessage::TimeCodeBBTDisplay2,
237- CCMessage::TimeCodeBBTDisplay3, CCMessage::TimeCodeBBTDisplay4,
238- CCMessage::TimeCodeBBTDisplay5, CCMessage::TimeCodeBBTDisplay6,
239- CCMessage::TimeCodeBBTDisplay7, CCMessage::TimeCodeBBTDisplay8,
240- CCMessage::TimeCodeBBTDisplay9, CCMessage::TimeCodeBBTDisplay10,
241- CCMessage::Assignment7SegmentDisplay1, CCMessage::Assignment7SegmentDisplay2,
242- CCMessage::Assignment7SegmentDisplay3
243- });
244132 /* *
245133 * Check if the message is valid.
246134 */
247- constexpr bool isValidCCMessage (CCMessage mes) {
248- return std::find (validCCMessage.begin (), validCCMessage.end (), mes) != validCCMessage.end (); }
135+ constexpr bool isValidCCMessage (CCMessage mes);
249136 /* *
250137 * Check if the message is valid.
251138 */
252- constexpr bool isValidCCMessage (int mes) {
253- return isValidCCMessage (static_cast <CCMessage>(mes)); }
139+ constexpr bool isValidCCMessage (int mes);
254140
255141 /* *
256142 * Rotation direction of wheel messages.
0 commit comments