Types have names prepended by the port name
(defaults to `MIDI`), to allow multi-port applications.
This allows referencing those types elsewhere in the
application, without re-writing the template arguments,
and simplifies referencing the underlying Message type,
for SoftThru `filter`/`map`function definitions.
Proposition & discussion:
https://github.com/FortySevenEffects/arduino_midi_library/pull/232#issuecomment-910355200
* resolves#40 with franky47's proposed thru filter overhaul
* removes thru filter modes
* adds thru filter callback
* adds thru map callback
* old thru filter unit tests have been replicated with filter callbacks
* does not yet include documentation changes
I believe this implements the latest proposal for #40 and exercises
everything necessary in the unit tests, including the immutability of
`mMessage` after a thru map callback has modified the outgoing message.
The thru filter callbacks in the unit tests are not suitable for copying
and pasting by end-users due to the difference in the MIDI namespace
when setup via the unit tests vs via `MIDI_CREATE_DEFAULT_INSTANCE()`.
If the changes here are deemed suitable, I'll work on documentation.
* added CustomBaudRate example
- added customer baudrate example
- fixed old refs to examples in Doxygen
* fixed compile error for boards that have no Serial
* updated send(midiMessage&) to better handle system real time,
sysex and other system common messages
* use fully qualified function names as requested
Co-authored-by: Element <paul-emile.element@windriver.com>
- Build and run unit tests with CMake
- Track code coverage with Coveralls
- Build examples on officially supported boards
- Removed TravisCI configuration
Closes#233.
The Transport layer is started, but could never be stopped.
This change will allow the underlying library to call the end() method in the Transport layers (all other Transport layer have the end() method implemented)
Next step is to call the Transport end() method, when ending the MIDI instance