Fix issue #8 - CC changes after PC not working #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a race condition in the midi event processing. When a midi control
change is sent, it took effect immediately. Program changes occur
asynchronously.
This fix adds a map of booleans that indicate that a specific parameter should
not be overriden during a program change, thus effectively retaining
controller changes that occur while a program change is still pending.
This also replaces effect parameter numbers with symbolic constants (at least
in the midi event processing code). This originally seemed like a good way to
protect the parameter values from exceeding the size of the per-effect array,
though this didn't work out well in practice. I've retained this change
because the code is still more readable this way.
Finally, this adds "midicheck.py", a python script to verify that I haven't
changed any of the constants. This should probably be removed from this PR
prior to merging.