Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v5.1.0 #304

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open

v5.1.0 #304

wants to merge 26 commits into from

Conversation

franky47
Copy link
Member

@franky47 franky47 commented Oct 8, 2022

Staging PR for release 5.1.0, rebasing everything here and adding tests.

hyperbolist and others added 12 commits October 8, 2022 14:33
* 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.
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:
#232 (comment)
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
removed ErrorActiveSensingTimeout
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
@coveralls
Copy link

coveralls commented Oct 8, 2022

Coverage Status

coverage: 100.0% (+0.4%) from 99.625% when pulling 7e9222b on feat/v5.1.0 into 2d64cc3 on master.

@franky47 franky47 requested a review from lathoub October 8, 2022 13:32
@franky47
Copy link
Member Author

franky47 commented Oct 8, 2022

@lathoub we can also include #286 in this release, but we'll discuss there before merging it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants