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

(Conditionnal) Midi channel/event filtering when not using FX Input as controller input #378

Closed
dissofiddle opened this issue May 28, 2021 · 5 comments
Labels
enhancement New feature or request high priority

Comments

@dissofiddle
Copy link

Hello,

if I set a realearn instance on input FX, with the mapping rule [midi channel 1 note 0 -> solo selected track], I don't want the already armed tracks to receive this midi message.
It is a major flaw of reaper, and solving this on a global basis would be awesome for a lot of application (I know you already implemented that behaviour with input FX as controller input with the "let through matched event" tick box, but not for controllers).

Even better, what about isome kind of mecanism that could dynamically set that with a modifier ?
The same way you implemented such a feature for group map enabling with modifier.

example :
with modifier on -> pad 1 send midi channel 1 note 1 to the armed tracks
with modifier off -> it filters channels one from armed tracks and trigger an action.

@helgoboss helgoboss added the question Further information is requested label May 29, 2021
@helgoboss
Copy link
Owner

Hello,

if I set a realearn instance on input FX, with the mapping rule [midi channel 1 note 0 -> solo selected track], I don't want the already armed tracks to receive this midi message.
It is a major flaw of reaper, and solving this on a global basis would be awesome for a lot of application (I know you already implemented that behaviour with input FX as controller input with the "let through matched event" tick box, but not for controllers).

This is implemented for control input <FX input> - which you can use of course also with controllers: just set the REAPER track MIDI input to the controller of your choice.

I think what you want is that MIDI messages which match one ReaLearn instance are globally removed from the input device MIDI stream and hence will not reach other tracks at all. This might be possible, I'll try at some point.

Another more explicit way to deal with it would be this (haven't implemented it yet):
https://forum.cockos.com/showpost.php?p=2429303&postcount=1132

Even better, what about isome kind of mecanism that could dynamically set that with a modifier ?
The same way you implemented such a feature for group map enabling with modifier.

example :
with modifier on -> pad 1 send midi channel 1 note 1 to the armed tracks
with modifier off -> it filters channels one from armed tracks and trigger an action.

This is an additional request, please open a new issue and explain the particular practical use case of this feature.

@helgoboss helgoboss added enhancement New feature or request and removed question Further information is requested labels May 29, 2021
@dissofiddle
Copy link
Author

Yes, I know that it works choosing , but It would be awesome when using "controller" as well and for tracks that don't even hold a realearn instance.

For instance, a use case is for transport button : I put a mapping on monitoring fx with transport mapping. However I don't want to send the midi messages used for this to a armed track. I know I could put a realearn instance on each track for this, but it feels a bit overkill for this.
Another use case is this : I want my pads to send notes when my "shift" button (modifier) is not pressed. When it is pressed, I want to seek a region. Once again, I know I can do this with a realearn instance on each track, but having this globally would be great and for a lot of use cases.

@helgoboss
Copy link
Owner

Makes sense. I'll see what's possible technically.

@helgoboss
Copy link
Owner

Note to self: Deleting items in OnAudioBuffer(isPost=false) doesn't prevent the MIDI events to reach the tracks at the moment. Judging by a response from Justin, this is not intended and he will experiment with changed processing order in the next +dev cycle. If this is fixed on REAPER side, implementing global MIDI message filtering could indeed get possible.

helgoboss added a commit that referenced this issue Sep 2, 2021
…buting them

preparation for global MIDI filter
helgoboss added a commit that referenced this issue Sep 2, 2021
@helgoboss
Copy link
Owner

Good news: This is now implemented for REAPER >= v6.35+dev0831 in upcoming prerelease.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high priority
Projects
None yet
Development

No branches or pull requests

2 participants