Commit Graph

155 Commits

Author SHA1 Message Date
lathoub ee4e7b3942 changed based on Franky47's feedback
- send: pass the message as a const ref, to avoid copies
- add mSerial.begin (with Baudrate - added Settings)
- ThruActivated defaults to true
- class name serialMIDI => SerialMIDI
2020-03-11 22:46:06 +01:00
lathoub 8893642b27 added send(MidiMessage), added (untested) bridge example
added send(MidiMessage) for Bridge application (that convert MIDI transport x into MIDI transport y), avoiding parsing entry a stream, setting up all callback - whilst this allows for passing the content, without to much processing/parsing.

Had to move mPendingMessageExpectedLenght into MidiMessage to avoid parsing the data again, just to know the size

Added Bridge example (untested)
2020-03-09 23:05:44 +01:00
lathoub 8905d36c0e added callback for Message
before the specific callback are called, a generic mMessage callback can be fired to inform the user that 'a' message has been received.
2020-03-09 09:40:44 +01:00
lathoub 7bb64074e1 renamed Encoder -> Transport, added MidiType to beginTransmission in serialMIDI 2020-03-09 09:00:17 +01:00
lathoub 08ab5b93de added namespace reference 2020-03-07 10:26:47 +01:00
lathoub 35d1d6216a set ActiveSensing Periodicity in ms
Gives more control over the bool value. Typical value is 300 (ms) - an Active Sensing command is send every 300ms; or 0 (zero) to disable sending ActiveSensing
2020-03-07 10:15:59 +01:00
lathoub 771f923223 active sensing defaults to false, to avoid spamming devices 2020-03-07 08:37:04 +01:00
lathoub 1b6a755c58 add MidiType to beginTransmission
Avoids reparsing of the stream in the transport layer, in order to get the MidiType
2020-03-07 08:25:16 +01:00
lathoub 1325c23329 added Platform class to abstract millis() 2020-03-05 19:58:49 +01:00
lathoub fc752bc834 lift and shift of the Serial code into a seperate class, allowing for other serializers
lift and shift of the Serial code into a seperate class, allowing for other serializers as AppleMIDI, USBMIDI, ipMIDI, BLE-MIDI
2020-03-04 19:49:27 +01:00
lathoub 0d596066b4 added support for receiving SysEx command segments
Very long SysEx mesaages are cut in to multiple command segments
Where a normal SysEx starts with F0 and ends with F7, the first segment will start with F0 and end with F0, the middle section (optional) start with F7 and ends with F7 - the last segments starts with F7 and ends with F0
2020-02-10 15:04:45 +01:00
lathoub 5fab6b3fc3 replaced ActiveSensing with Sender Active Sensing
Receiver active Sensing is not implemented (yet)
2020-02-04 10:46:14 +01:00
lathoub 7f9934b1aa added support for ActiveSensing
From: https://www.midi.org/specifications/item/table-1-summary-of-midi-message

Active Sensing. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. Use of this message is optional. When initially received, the receiver will expect to receive another Active Sensing message each 300ms (max), and if it does not then it will assume that the connection has been terminated. At termination, the receiver will turn off all voices and return to normal (non- active sensing) operation.
2020-01-26 11:05:10 +01:00
lathoub a1bff07a1e Update midi_Defs.h 2019-08-18 11:40:00 +02:00
Francois Best 5835806832 fix: Constify 2018-11-06 16:55:08 +01:00
Francois Best 0e9e505543 doc: Note the importance of Running Status being disabled for USB 2018-11-04 14:17:30 +01:00
Francois Best 67a13be6c6 fix: Use USB packet interface in the transport layer 2018-11-04 14:17:07 +01:00
Francois Best 5ccf0159a2 feat: Serialise USB MIDI packets into the serial RX buffer 2018-11-04 10:07:21 +01:00
Francois Best 1ccd7c3ce8 feat: Add SysEx support for USB MIDI 2018-11-03 21:47:37 +01:00
Francois Best 5b96487362 feat: Compose TX USB MIDI packets from serial buffer 2018-11-03 18:59:20 +01:00
Francois Best 3f15b733e4 feat: Get CIN from status byte
Removed unused implementation of UsbMidiEventPacket
2018-11-03 18:58:45 +01:00
Francois Best a34087c92c feat: Add peek and pop methods 2018-11-03 18:56:42 +01:00
Francois Best db0f65a46e fix: Unnamed namespace macro is not available here 2018-10-11 11:37:40 +02:00
Francois Best 42b98a78cf refactor: Avoid redundant call 2018-10-11 10:33:07 +02:00
Francois Best 83ad031ee6 fix: Add tests and fix RingBuffer implementation 2018-10-11 10:31:23 +02:00
Francois Best ba6e16442b Merge master into feat/4.4.0 2018-03-10 18:51:47 +01:00
Francois Best 33bd77dd13 fix: Fix more sign / implicit type conversion warnings 2018-03-10 17:59:17 +01:00
Francois Best c5833214a1 feat: Increase warning level for sources
Don't do it globally as externals may have warnings we can't do much about.
2018-03-10 17:44:16 +01:00
Francois Best 1c01effbd9 feat: Handle Korg-style of flipping SysEx data header bits
Closes #92
2018-03-10 16:58:17 +01:00
Francois Best 9b9905fb2a chore: Bump version to 4.4.0 2018-03-10 15:44:46 +01:00
Lennart 3396ec9429 fixed some warnings when compiling with -Wconversion and -Wsign-conversion 2017-07-18 10:37:49 +02:00
Francois Best 724a1caecd Fix non-Arduino builds. 2017-04-07 09:39:52 +02:00
Francois Best 03d73c2b09 Changed def to match updates to cake library (FortySevenEffects/cake) 2017-04-07 09:37:49 +02:00
Francois Best 3a31a366e4 Changed def to match updates to cake library (FortySevenEffects/cake) 2017-01-07 14:40:27 +01:00
Francois Best 9a4b8b6c86 Merge branch 'master' into dev. 2016-11-04 23:27:01 +01:00
Francois Best 77bb518f19 Using recommended default HW serial port.
Relates to #65.
2016-11-04 23:22:45 +01:00
David Menting 32489bc0ea Added default serial port for Teensy 3.0/3.1/3.2 and Teensy LC 2016-11-04 12:36:21 +01:00
Francois Best 82f5dca265 Bumped version to 4.3.1, fixing Arduino lib file.
Removed redundant version mentions in sources.
2016-11-04 10:53:18 +01:00
Francois Best aa35573ca6 Added version defines, might be useful later on. 2016-10-30 09:55:30 +01:00
Francois Best 437d5ebce0 Bump version in sources. 2016-10-30 09:50:01 +01:00
Francois Best 4eee744b35 More unreacheable code hunt. 2016-10-29 16:21:06 +02:00
Francois Best 4ab8728c67 Removed unreacheable code, inlined stuff. 2016-10-29 16:09:04 +02:00
Francois Best 597a75e638 Keep running status when not sending anything.
Fixes #61
2016-10-29 09:42:47 +02:00
Francois Best 5d3cbd1f9f #54: added overload of sendAfterTouch for poly. Deprecates sendPolyPressure. 2016-10-28 09:13:06 +02:00
Francois Best f1f0ef41ce Using new definitions for Thru. 2016-10-27 08:11:29 +02:00
Francois Best 7117671b16 Fix. 2016-10-27 08:04:15 +02:00
Francois Best 37e72bc7fa Stay consistant in enums first letter case. 2016-10-27 08:02:34 +02:00
Francois Best 58880bb647 gcc does not like individual deprecated attributes. 2016-10-21 07:52:12 +02:00
Francois Best 6fc3e38512 Moved Thru defs to own scope to avoid pollution. 2016-10-21 07:43:46 +02:00
Francois Best 8ebd4f9161 Cleanup & init'd thru. 2016-10-20 10:08:00 +02:00