fix bug in MIDI_CREATE_CUSTOM_INSTANCE

- MIDI Setting in MIDI_CREATE_CUSTOM_INSTANCE, but Setting for SerialMIDI
- MACRO outside of Namespace
This commit is contained in:
lathoub 2020-05-16 11:16:46 +02:00 committed by Francois Best
parent e5ee620139
commit ff3052ceb4
2 changed files with 6 additions and 6 deletions

View File

@ -38,12 +38,12 @@ BEGIN_MIDI_NAMESPACE
macro to create your instance. The settings you don't override will keep their macro to create your instance. The settings you don't override will keep their
default value. Eg: default value. Eg:
\code{.cpp} \code{.cpp}
struct MySettings : public midi::DefaultSettings struct MySettings : public MIDI_NAMESPACE::DefaultSettings
{ {
static const unsigned SysExMaxSize = 1024; // Accept SysEx messages up to 1024 bytes long. static const unsigned SysExMaxSize = 1024; // Accept SysEx messages up to 1024 bytes long.
}; };
MIDI_CREATE_CUSTOM_INSTANCE(HardwareSerial, Serial2, midi, MySettings); MIDI_CREATE_CUSTOM_INSTANCE(HardwareSerial, Serial2, MIDI, MySettings);
\endcode \endcode
*/ */
struct DefaultSettings struct DefaultSettings

View File

@ -91,6 +91,8 @@ private:
SerialPort& mSerial; SerialPort& mSerial;
}; };
END_MIDI_NAMESPACE
/*! \brief Create an instance of the library attached to a serial port. /*! \brief Create an instance of the library attached to a serial port.
You can use HardwareSerial or SoftwareSerial for the serial port. You can use HardwareSerial or SoftwareSerial for the serial port.
Example: MIDI_CREATE_INSTANCE(HardwareSerial, Serial2, midi2); Example: MIDI_CREATE_INSTANCE(HardwareSerial, Serial2, midi2);
@ -119,7 +121,5 @@ private:
@see MIDI_CREATE_INSTANCE @see MIDI_CREATE_INSTANCE
*/ */
#define MIDI_CREATE_CUSTOM_INSTANCE(Type, SerialPort, Name, Settings) \ #define MIDI_CREATE_CUSTOM_INSTANCE(Type, SerialPort, Name, Settings) \
MIDI_NAMESPACE::SerialMIDI<Type, Settings> serial##Name(SerialPort);\ MIDI_NAMESPACE::SerialMIDI<Type> serial##Name(SerialPort);\
MIDI_NAMESPACE::MidiInterface<MIDI_NAMESPACE::SerialMIDI<Type, Settings>> Name((MIDI_NAMESPACE::SerialMIDI<Type, Settings>&)serial##Name); MIDI_NAMESPACE::MidiInterface<MIDI_NAMESPACE::SerialMIDI<Type>, Settings> Name((MIDI_NAMESPACE::SerialMIDI<Type>&)serial##Name);
END_MIDI_NAMESPACE