Commit Graph

446 Commits

Author SHA1 Message Date
Francois Best 21a4ad23df chore: Fix build (things got lost in merge) 2022-10-08 14:50:54 +02:00
lathoub 12f05866cf return mReceiverActiveSensingActive in SensingTimeout Handler
return mReceiverActiveSensingActive in SensingTimeout Handler:
- true when all is OK and active sensing is received on time
- false when active sensing is **not** received on tome
2022-10-08 14:41:56 +02:00
lathoub 59fafdbf1a ActiveSensingTimeout has its own callback handler
removed ErrorActiveSensingTimeout
2022-10-08 14:41:56 +02:00
lathoub 0db6859802 Create Hairless.ino 2022-10-08 14:40:45 +02:00
lathoub bb58efec1d Update midi_Settings.h 2022-10-08 14:40:45 +02:00
lathoub b82f241349 reworked ActiveSensing
reworked ActiveSensing using input from a variety of device MIDI Implementation manuals (Roland,  KORG, Yamaha) found on the internet.

Receiving ActiveSensing:
Once an Active Sensing message is received, the unit will begin monitoring the intervalbetween all subsequent messages. If there is an interval of ActiveSensingPeriodicity ms or longer betweenmessages while monitoring is active, the same processing as when All Sound Off, All Notes Off,and Reset All Controllers messages are received will be carried out. The unit will then stopmonitoring the message interval.

Sending ActiveSensing: send x ms after the last sent command
2022-10-08 14:40:45 +02:00
lathoub 350f6d1ec4 reworked active Sensing 2022-10-08 14:40:45 +02:00
Francois Best f42c344375 feat: Export type definitions when using macros
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
2022-10-08 14:34:30 +02:00
Francois Best c2a838d8cc chore: Add example 2022-10-08 14:34:30 +02:00
Eric Sherman 4469f2aa7f uses Transport::thruActivated for initial thru state 2022-10-08 14:34:30 +02:00
Eric Sherman 1fe67bec4f makes changes requested in #232 discussion 2022-10-08 14:34:30 +02:00
Eric Sherman a6c3a48571 thru filter overhaul
* 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.
2022-10-08 14:33:53 +02:00
lathoub 2d64cc3c2f
Update CustomBaudRate.ino
override DefaultSerialSettings to override BaudRate (and not DefaultSettings )
2022-01-11 08:00:48 +01:00
lathoub 7c0d716641
added CustomBaudRate example (#262)
* added CustomBaudRate example

- added customer baudrate example
- fixed old refs to examples in Doxygen

* fixed compile error for boards that have no Serial
2022-01-11 07:24:58 +01:00
François Best 8f8c7cfcc6
doc: Add @muxa to the contributors list 2021-11-30 09:22:26 +01:00
Mikhail Diatchenko 8e9805fc92
feat: Added missing MidiControlChangeNumber definitions (#260)
* Added missing MidiControlChangeNumber definitions
* Fixed duplicate enum
* Added keywords for new definitions
2021-11-29 10:54:16 +01:00
François Best 1944aca891
chore: Add @paul-emile-element as contributor 2021-11-03 15:06:11 +01:00
Paul 663b24b0b5
fix: Updated send(midiMessage&) to better handle system real time (#250)
* 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>
2021-11-03 15:04:52 +01:00
lathoub be557c1f4b Update MIDI.h
added return value (missed by PR)
2021-10-10 17:04:46 +02:00
lathoub 50e33c8b4a
Merge pull request #247 from FortySevenEffects/chaining
chaining for all commands, callbacks and setters
2021-10-10 16:47:07 +02:00
lathoub 417beca1c7 Update platformio.yml
added Chaining example
2021-10-10 15:48:29 +02:00
lathoub c9d3b9b592 no chaining for private functions, added example 2021-10-10 15:33:28 +02:00
François Best c7922927e5
chore: Fix PlatformIO checks
See platformio/platformio-core#4078
2021-10-10 14:01:47 +02:00
lathoub 892f65a9ee Update MIDI.hpp 2021-10-10 12:16:15 +02:00
lathoub e1035a03f7 Update MIDI.hpp
fixed errors (return -> return *this where needed)
2021-10-10 12:13:30 +02:00
lathoub 2012e2a84a chaining for all commands, callbacks and setters 2021-10-10 12:04:08 +02:00
Francois Best b4daa697a9 doc: Update badges with CI status 2021-08-10 16:26:57 +02:00
Francois Best d9873560ad chore: Improve coverage blind spots 2021-08-10 16:21:18 +02:00
François Best bf80e99d54
chore: Move CI to GitHub Actions
- Build and run unit tests with CMake
- Track code coverage with Coveralls
- Build examples on officially supported boards
- Removed TravisCI configuration

Closes #233.
2021-08-10 16:12:51 +02:00
François Best 2f03d9b29d
chore: Checkout submodules in CI 2021-08-09 22:06:09 +02:00
François Best d2f11d02e2
chore: Add CMake CI 2021-08-09 22:03:59 +02:00
Francois Best 9f5317f299 chore: Config 2021-08-06 09:35:54 +02:00
Francois Best f356c99ca2 chore: Allow copying Messages
This is ground work for the `map` Thru function
in PR #232.
2021-08-06 09:35:54 +02:00
Francois Best 7ca289d84e chore: Fix internal method casing 2021-08-06 09:35:54 +02:00
François Best 0d605dc8a7
doc: Update contributors
Added @kant for PR #230
2021-08-01 20:02:40 +02:00
Darío Hereñú 3f0a2d3fdb Minor fix (line 65) 2021-08-01 20:00:28 +02:00
lathoub d501f4bb3d end method for Serial Transport
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
2021-06-08 20:36:38 +02:00
François Best d9149d19df
chore: Better description for Discussions 2020-12-09 14:04:49 +01:00
François Best a93fb27a1c
chore: Add link to Discussions in issue templates 2020-12-09 11:39:42 +01:00
François Best d967c0c389
chore: Disable generic issues
General community-related Q&A is moved to Discussions
2020-12-09 11:34:22 +01:00
François Best d3c361033d
chore: Suggest using Discussions first 2020-12-09 11:28:26 +01:00
François Best 33b294624a chore: Add Feature Request template
Also redirect issues to discussions for project help.
2020-12-09 11:26:09 +01:00
François Best 10ef10bfde feat: Add issue template for bug report 2020-12-09 11:20:27 +01:00
Felix Uhl da8ca5e69a Update search term for library manager 2020-09-16 16:39:29 +02:00
Felix Uhl e292cf61b0 Update library manager screenshot 2020-09-16 16:39:29 +02:00
stfufane 150cecd450 Fix sendPitchBend multiplication 2020-06-08 11:39:16 +02:00
lathoub ff3052ceb4 fix bug in MIDI_CREATE_CUSTOM_INSTANCE
- MIDI Setting in MIDI_CREATE_CUSTOM_INSTANCE, but Setting for SerialMIDI
- MACRO outside of Namespace
2020-05-16 15:51:03 +02:00
Francois Best e5ee620139 doc: Add contributor 2020-04-28 07:34:38 +02:00
Francois Best 0d9f6f4731 chore: Release 5.0.2
Includes fix for missing MIDI_CREATE_CUSTOM_INSTANCE,
see #150.
2020-04-28 07:31:42 +02:00
Rolel 42 80dfb8333c [FIX] Repair missing MIDI_CREATE_CUSTOM_INSTANCE
The MIDI_CREATE_CUSTOM_INSTANCE function was removed with 5.0 branch. This commit brings it back.
2020-04-28 07:28:24 +02:00