1- /* ****************************************************************/ /* *
1+ /* ****************************************************************/ /* *
22 * \file MackieControl.h
33 * \brief A compact Mackie Control library on JUCE.
44 *
55 * \author WuChang
667- * \date July 2023
8- * \version 1.0.2
7+ * \date Jan 2024
8+ * \version 1.0.3
99 * \license MIT License
1010 *********************************************************************/
1111
1212#pragma once
1313
1414#include < JuceHeader.h>
1515
16+ #include " Macros.h"
17+
1618namespace mackieControl {
1719 /* *
1820 * Mackie Control messages via MIDI system exclusive message.
1921 */
20- enum class SysExMessage : uint8_t {
22+ enum class MACKIE_API SysExMessage : uint8_t {
2123 DeviceQuery = 0 ,
2224 HostConnectionQuery,
2325 HostConnectionReply,
@@ -41,33 +43,33 @@ namespace mackieControl {
4143 /* *
4244 * Check if the message is valid.
4345 */
44- constexpr bool isValidSysExMessage (SysExMessage mes);
46+ constexpr bool MACKIE_API isValidSysExMessage (SysExMessage mes);
4547 /* *
4648 * Check if the message is valid.
4749 */
48- constexpr bool isValidSysExMessage (int mes);
50+ constexpr bool MACKIE_API isValidSysExMessage (int mes);
4951
5052 /* *
5153 * Mackie Control messages via MIDI note message velocity data.
5254 */
53- enum class VelocityMessage : uint8_t {
55+ enum class MACKIE_API VelocityMessage : uint8_t {
5456 Off = 0 ,
5557 Flashing,
5658 On = 127
5759 };
5860 /* *
5961 * Check if the message is valid.
6062 */
61- constexpr bool isValidVelocityMessage (VelocityMessage mes);
63+ constexpr bool MACKIE_API isValidVelocityMessage (VelocityMessage mes);
6264 /* *
6365 * Check if the message is valid.
6466 */
65- constexpr bool isValidVelocityMessage (int mes);
67+ constexpr bool MACKIE_API isValidVelocityMessage (int mes);
6668
6769 /* *
6870 * Mackie Control messages via MIDI note message note number data.
6971 */
70- enum class NoteMessage {
72+ enum class MACKIE_API NoteMessage {
7173 RECRDYCh1, RECRDYCh2, RECRDYCh3, RECRDYCh4, RECRDYCh5, RECRDYCh6, RECRDYCh7, RECRDYCh8,
7274 SOLOCh1, SOLOCh2, SOLOCh3, SOLOCh4, SOLOCh5, SOLOCh6, SOLOCh7, SOLOCh8,
7375 MUTECh1, MUTECh2, MUTECh3, MUTECh4, MUTECh5, MUTECh6, MUTECh7, MUTECh8,
@@ -109,16 +111,16 @@ namespace mackieControl {
109111 /* *
110112 * Check if the message is valid.
111113 */
112- constexpr bool isValidNoteMessage (NoteMessage mes);
114+ constexpr bool MACKIE_API isValidNoteMessage (NoteMessage mes);
113115 /* *
114116 * Check if the message is valid.
115117 */
116- constexpr bool isValidNoteMessage (int mes);
118+ constexpr bool MACKIE_API isValidNoteMessage (int mes);
117119
118120 /* *
119121 * Mackie Control messages via MIDI controller message controller number data.
120122 */
121- enum class CCMessage {
123+ enum class MACKIE_API CCMessage {
122124 VPot1 = 16 , VPot2, VPot3, VPot4, VPot5, VPot6, VPot7, VPot8,
123125 ExternalController = 46 ,
124126 VPotLEDRing1 = 48 , VPotLEDRing2, VPotLEDRing3, VPotLEDRing4,
@@ -132,23 +134,23 @@ namespace mackieControl {
132134 /* *
133135 * Check if the message is valid.
134136 */
135- constexpr bool isValidCCMessage (CCMessage mes);
137+ constexpr bool MACKIE_API isValidCCMessage (CCMessage mes);
136138 /* *
137139 * Check if the message is valid.
138140 */
139- constexpr bool isValidCCMessage (int mes);
141+ constexpr bool MACKIE_API isValidCCMessage (int mes);
140142
141143 /* *
142144 * Rotation direction of wheel messages.
143145 */
144- enum class WheelType {
146+ enum class MACKIE_API WheelType {
145147 CW, CCW
146148 };
147149
148150 /* *
149151 * LED ring mode of V-Pot on Mackie Control devices.
150152 */
151- enum class VPotLEDRingMode {
153+ enum class MACKIE_API VPotLEDRingMode {
152154 SingleDotMode,
153155 BoostCutMode,
154156 WrapMode,
@@ -158,7 +160,7 @@ namespace mackieControl {
158160 /* *
159161 * Mackie Control Message class.
160162 */
161- class Message final {
163+ class MACKIE_API Message final {
162164 public:
163165 /* *
164166 * Create an empty Mackie Control message. An empty message is an invalid Mackie Control message.
0 commit comments