Skip to content

Commit a675107

Browse files
Fixed varibles in headers
1 parent af3b26a commit a675107

File tree

2 files changed

+132
-124
lines changed

2 files changed

+132
-124
lines changed

src/MackieControl.cpp

Lines changed: 123 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,135 @@
55
* \author WuChang
66
77
* \date July 2023
8-
* \version 1.0.0
8+
* \version 1.0.1
99
* \license MIT License
1010
*********************************************************************/
1111

1212
#include "MackieControl.h"
1313

1414
namespace mackieControl {
15+
constinit auto validSysExMessage = std::to_array({
16+
SysExMessage::DeviceQuery,
17+
SysExMessage::HostConnectionQuery,
18+
SysExMessage::HostConnectionReply,
19+
SysExMessage::HostConnectionConfirmation,
20+
SysExMessage::HostConnectionError,
21+
SysExMessage::LCDBackLightSaver,
22+
SysExMessage::TouchlessMovableFaders,
23+
SysExMessage::FaderTouchSensitivity,
24+
SysExMessage::GoOffline,
25+
SysExMessage::TimeCodeBBTDisplay,
26+
SysExMessage::Assignment7SegmentDisplay,
27+
SysExMessage::LCD,
28+
SysExMessage::VersionRequest,
29+
SysExMessage::VersionReply,
30+
SysExMessage::ChannelMeterMode,
31+
SysExMessage::GlobalLCDMeterMode,
32+
SysExMessage::AllFaderstoMinimum,
33+
SysExMessage::AllLEDsOff,
34+
SysExMessage::Reset
35+
});
36+
constexpr bool isValidSysExMessage(SysExMessage mes) {
37+
return std::find(validSysExMessage.begin(), validSysExMessage.end(), mes) != validSysExMessage.end();
38+
}
39+
constexpr bool isValidSysExMessage(int mes) {
40+
return isValidSysExMessage(static_cast<SysExMessage>(mes));
41+
}
42+
43+
constinit auto validVelocityMessage = std::to_array({
44+
VelocityMessage::Off,
45+
VelocityMessage::Flashing,
46+
VelocityMessage::On
47+
});
48+
constexpr bool isValidVelocityMessage(VelocityMessage mes) {
49+
return std::find(validVelocityMessage.begin(), validVelocityMessage.end(), mes) != validVelocityMessage.end();
50+
}
51+
constexpr bool isValidVelocityMessage(int mes) {
52+
return isValidVelocityMessage(static_cast<VelocityMessage>(mes));
53+
}
54+
55+
constinit auto validNoteMessage = std::to_array({
56+
NoteMessage::RECRDYCh1, NoteMessage::RECRDYCh2, NoteMessage::RECRDYCh3, NoteMessage::RECRDYCh4,
57+
NoteMessage::RECRDYCh5, NoteMessage::RECRDYCh6, NoteMessage::RECRDYCh7, NoteMessage::RECRDYCh8,
58+
NoteMessage::SOLOCh1, NoteMessage::SOLOCh2, NoteMessage::SOLOCh3, NoteMessage::SOLOCh4,
59+
NoteMessage::SOLOCh5, NoteMessage::SOLOCh6, NoteMessage::SOLOCh7, NoteMessage::SOLOCh8,
60+
NoteMessage::MUTECh1, NoteMessage::MUTECh2, NoteMessage::MUTECh3, NoteMessage::MUTECh4,
61+
NoteMessage::MUTECh5, NoteMessage::MUTECh6, NoteMessage::MUTECh7, NoteMessage::MUTECh8,
62+
NoteMessage::SELECTCh1, NoteMessage::SELECTCh2, NoteMessage::SELECTCh3, NoteMessage::SELECTCh4,
63+
NoteMessage::SELECTCh5, NoteMessage::SELECTCh6, NoteMessage::SELECTCh7, NoteMessage::SELECTCh8,
64+
NoteMessage::VSelectCh1, NoteMessage::VSelectCh2, NoteMessage::VSelectCh3, NoteMessage::VSelectCh4,
65+
NoteMessage::VSelectCh5, NoteMessage::VSelectCh6, NoteMessage::VSelectCh7, NoteMessage::VSelectCh8,
66+
NoteMessage::ASSIGNMENTTRACK, NoteMessage::ASSIGNMENTSEND, NoteMessage::ASSIGNMENTPANSURROUND,
67+
NoteMessage::ASSIGNMENTPLUGIN, NoteMessage::ASSIGNMENTEQ, NoteMessage::ASSIGNMENTINSTRUMENT,
68+
NoteMessage::FADERBANKSBANKLeft, NoteMessage::FADERBANKSBANKRight,
69+
NoteMessage::FADERBANKSCHANNELLeft, NoteMessage::FADERBANKSCHANNELRight,
70+
NoteMessage::FLIP,
71+
NoteMessage::GLOBALVIEW,
72+
NoteMessage::NAMEVALUE,
73+
NoteMessage::SMPTEBEATS,
74+
NoteMessage::Function1, NoteMessage::Function2, NoteMessage::Function3, NoteMessage::Function4,
75+
NoteMessage::Function5, NoteMessage::Function6, NoteMessage::Function7, NoteMessage::Function8,
76+
NoteMessage::GLOBALVIEWMIDITRACKS, NoteMessage::GLOBALVIEWINPUTS,
77+
NoteMessage::GLOBALVIEWAUDIOTRACKS, NoteMessage::GLOBALVIEWAUDIOINSTRUMENT,
78+
NoteMessage::GLOBALVIEWAUX, NoteMessage::GLOBALVIEWBUSSES,
79+
NoteMessage::GLOBALVIEWOUTPUTS, NoteMessage::GLOBALVIEWUSER,
80+
NoteMessage::SHIFT, NoteMessage::OPTION, NoteMessage::CONTROL, NoteMessage::CMDALT,
81+
NoteMessage::AUTOMATIONREADOFF, NoteMessage::AUTOMATIONWRITE, NoteMessage::AUTOMATIONTRIM,
82+
NoteMessage::AUTOMATIONTOUCH, NoteMessage::AUTOMATIONLATCH,
83+
NoteMessage::GROUP,
84+
NoteMessage::UTILITIESSAVE, NoteMessage::UTILITIESUNDO,
85+
NoteMessage::UTILITIESCANCEL, NoteMessage::UTILITIESENTER,
86+
NoteMessage::MARKER,
87+
NoteMessage::NUDGE,
88+
NoteMessage::CYCLE,
89+
NoteMessage::DROP,
90+
NoteMessage::REPLACE,
91+
NoteMessage::CLICK,
92+
NoteMessage::SOLO,
93+
NoteMessage::REWIND, NoteMessage::FASTFWD, NoteMessage::STOP, NoteMessage::PLAY, NoteMessage::RECORD,
94+
NoteMessage::CursorUp, NoteMessage::CursorDown, NoteMessage::CursorLeft, NoteMessage::CursorRight,
95+
NoteMessage::Zoom,
96+
NoteMessage::Scrub,
97+
NoteMessage::UserSwitchA, NoteMessage::UserSwitchB,
98+
NoteMessage::FaderTouchCh1, NoteMessage::FaderTouchCh2,
99+
NoteMessage::FaderTouchCh3, NoteMessage::FaderTouchCh4,
100+
NoteMessage::FaderTouchCh5, NoteMessage::FaderTouchCh6,
101+
NoteMessage::FaderTouchCh7, NoteMessage::FaderTouchCh8,
102+
NoteMessage::FaderTouchMaster,
103+
NoteMessage::SMPTELED,
104+
NoteMessage::BEATSLED,
105+
NoteMessage::RUDESOLOLIGHT,
106+
NoteMessage::Relayclick
107+
});
108+
constexpr bool isValidNoteMessage(NoteMessage mes) {
109+
return std::find(validNoteMessage.begin(), validNoteMessage.end(), mes) != validNoteMessage.end();
110+
}
111+
constexpr bool isValidNoteMessage(int mes) {
112+
return isValidNoteMessage(static_cast<NoteMessage>(mes));
113+
}
114+
115+
constinit auto validCCMessage = std::to_array({
116+
CCMessage::VPot1, CCMessage::VPot2, CCMessage::VPot3, CCMessage::VPot4,
117+
CCMessage::VPot5, CCMessage::VPot6, CCMessage::VPot7, CCMessage::VPot8,
118+
CCMessage::ExternalController,
119+
CCMessage::VPotLEDRing1, CCMessage::VPotLEDRing2, CCMessage::VPotLEDRing3, CCMessage::VPotLEDRing4,
120+
CCMessage::VPotLEDRing5, CCMessage::VPotLEDRing6, CCMessage::VPotLEDRing7, CCMessage::VPotLEDRing8,
121+
CCMessage::JogWheel,
122+
CCMessage::TimeCodeBBTDisplay1, CCMessage::TimeCodeBBTDisplay2,
123+
CCMessage::TimeCodeBBTDisplay3, CCMessage::TimeCodeBBTDisplay4,
124+
CCMessage::TimeCodeBBTDisplay5, CCMessage::TimeCodeBBTDisplay6,
125+
CCMessage::TimeCodeBBTDisplay7, CCMessage::TimeCodeBBTDisplay8,
126+
CCMessage::TimeCodeBBTDisplay9, CCMessage::TimeCodeBBTDisplay10,
127+
CCMessage::Assignment7SegmentDisplay1, CCMessage::Assignment7SegmentDisplay2,
128+
CCMessage::Assignment7SegmentDisplay3
129+
});
130+
constexpr bool isValidCCMessage(CCMessage mes) {
131+
return std::find(validCCMessage.begin(), validCCMessage.end(), mes) != validCCMessage.end();
132+
}
133+
constexpr bool isValidCCMessage(int mes) {
134+
return isValidCCMessage(static_cast<CCMessage>(mes));
135+
}
136+
15137
Message::Message(const juce::MidiMessage& midiMessage)
16138
: message(midiMessage) {}
17139

src/MackieControl.h

Lines changed: 9 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* \author WuChang
66
77
* \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

Comments
 (0)