Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old 01-06-2022, 03:59 AM   #1881
Reaktor:[Dave]
Human being with feelings
 
Reaktor:[Dave]'s Avatar
 
Join Date: Jun 2010
Location: Berlin
Posts: 563
Default

Quote:
Originally Posted by helgoboss View Post
I assume you are talking about the track that contains ReaLearn? Yes. Right mouse click the header panel => Options => Unchecked "Send feedback only if track armed".
That doesn't seem to follow my track selection. When I have multiple tracks with MIDI CC data on them, the feedback seems to be coming from all tracks with a ReaLearn instance and not just the selected track.

Quote:
Originally Posted by helgoboss View Post
I assume you use the "Project: Invoke REAPER action" target to do scrubbing with some REAPER scrub action? REAPER actions don't deliver good feedback, they are not made for that. So disable feedback for that existing mapping and instead add another feedback-only mapping with the same source and the "Project: Seek" target. This one can be configured very flexibly to feed back position information.
The "Project: Seek" action in ReaLearn seems to be about controlling the position of the play cursor.
I meant something different. While not being in play mode, moving the edit cursor would send MIDI feedback to the hardware (and MIDI CC data to the VSTi) of the current MIDI CC data of the current (record-enabled) track at the current position. When REAPER is in play mode, that works nicely, although with the play cursor, but it doesn't when moving the edit cursor around in edit mode.
This means that any parameters changed by the MIDI data will be in a different state in edit mode than they would be in play mode with the cursor at that position.
Reaktor:[Dave] is offline   Reply With Quote
Old 01-06-2022, 05:12 AM   #1882
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by Reaktor:[Dave] View Post
That doesn't seem to follow my track selection. When I have multiple tracks with MIDI CC data on them, the feedback seems to be coming from all tracks with a ReaLearn instance and not just the selected track.
Okay, I understand you want a ReaLearn instance with control input <FX input> to send feedback *without* its track being armed. And at the same time you want to somehow make sure that only one of the many ReaLearn instances send feedback.

Which of these two you want?

a. Let ReaLearn send feedback *as long as* its track is selected.

b. Let ReaLearn send feedback just in the moment you select its track?


Quote:
Originally Posted by Reaktor:[Dave] View Post
The "Project: Seek" action in ReaLearn seems to be about controlling the position of the play cursor.
I meant something different. While not being in play mode, moving the edit cursor would send MIDI feedback to the hardware (and MIDI CC data to the VSTi) of the current MIDI CC data of the current (record-enabled) track at the current position. When REAPER is in play mode, that works nicely, although with the play cursor, but it doesn't when moving the edit cursor around in edit mode.
This means that any parameters changed by the MIDI data will be in a different state in edit mode than they would be in play mode with the cursor at that position.
I understand now. What you are referring to is commonly called "Chasing". REAPER chases CCs while the project is playing, e.g. when you seek. So that should work. But when the project is not playing, it doesn't chase. Not sure if there's a possibility to do it, mmh. Here's an old thread: https://forum.cockos.com/showthread.php?t=21286


BTW, there are two things you should beaware of when doing this kind of track-item based control:

1. Don't record relative control (convert it to absolute control first, e.g. with an additional Input FX ReaLearn instance and "MIDI: Send message" target)! Because then the result will be relative to where you start But I guess you know that already.

2. If you want to render the project, you must use render "online", otherwise your CC-based automation won't have any effect.
helgoboss is offline   Reply With Quote
Old 01-06-2022, 08:22 AM   #1883
Reaktor:[Dave]
Human being with feelings
 
Reaktor:[Dave]'s Avatar
 
Join Date: Jun 2010
Location: Berlin
Posts: 563
Default

Quote:
Originally Posted by helgoboss View Post
Which of these two you want?

a. Let ReaLearn send feedback *as long as* its track is selected.

b. Let ReaLearn send feedback just in the moment you select its track?
Option a. It's similar to how control surfaces work with automation. Just with MIDI data.
ReaLearn would only need to send feedback whenever something changed, it doesn't have to spam the same CC value over and over again.


Quote:
Originally Posted by helgoboss View Post
I understand now. What you are referring to is commonly called "Chasing". REAPER chases CCs while the project is playing, e.g. when you seek. So that should work. But when the project is not playing, it doesn't chase. Not sure if there's a possibility to do it, mmh. Here's an old thread: https://forum.cockos.com/showthread.php?t=21286
I think it isn't just about chasing MIDI events as feedback doesn't even work when putting the edit cursor in edit mode directly onto the position of a MIDI event (for which chasing wouldn't be necessary). But yeah, chasing MIDI events is quite useful when you can put the edit cursor inbetween MIDI events and want to have the resulting parameter change from that position synced to your MIDI controller.
So we have the functionality of chasing MIDI events in REAPER. Would it be possible to request chasing MIDI CCs from a specific position on moving the edit cursor via the API? Maybe the result could then just be sent out to the MIDI controller.

Quote:
Originally Posted by helgoboss View Post
BTW, there are two things you should beaware of when doing this kind of track-item based control:

1. Don't record relative control (convert it to absolute control first, e.g. with an additional Input FX ReaLearn instance and "MIDI: Send message" target)! Because then the result will be relative to where you start But I guess you know that already.

2. If you want to render the project, you must use render "online", otherwise your CC-based automation won't have any effect.
2. comes as a surprise. Why is that?
Reaktor:[Dave] is offline   Reply With Quote
Old 01-06-2022, 08:50 AM   #1884
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by Reaktor:[Dave] View Post
Option a. It's similar to how control surfaces work with automation. Just with MIDI data.
ReaLearn would only need to send feedback whenever something changed, it doesn't have to spam the same CC value over and over again.
Of course, I was not talking about spamming. So, to shorten this discussion: You want ReaLearn to behave exactly like when you arm the track - just without arming but instead selecting. Right?

Quote:
Originally Posted by Reaktor:[Dave] View Post
I think it isn't just about chasing MIDI events as feedback doesn't even work when putting the edit cursor in edit mode directly onto the position of a MIDI event (for which chasing wouldn't be necessary).
As long as you make sure that the MIDI event arrives at ReaLearn's FX input pin, ReaLearn will process it and translate it to some target invocations. If you just put a cursor somewhere, REAPER typically doesn't send any MIDI events. So no events will arrive at ReaLearn and it won't do its job. If you find a way to make REAPER send the CC events at that position whenever you put the cursor at that position, then it will work. Not sure if such an option or script exists.

You are right, this is level 1. Chasing is level 2

Quote:
Originally Posted by Reaktor:[Dave] View Post
But yeah, chasing MIDI events is quite useful when you can put the edit cursor inbetween MIDI events and want to have the resulting parameter change from that position synced to your MIDI controller.
So we have the functionality of chasing MIDI events in REAPER. Would it be possible to request chasing MIDI CCs from a specific position on moving the edit cursor via the API? Maybe the result could then just be sent out to the MIDI controller.
I'm not aware of any function that just does chasing. Maybe I can ask Justin if there is one or if he can expose that functionality, otherwise I guess I would have to roll my own. It's certainly possible because the API has ways to look into MIDI item contents and ReaLearn detects play cursor changes already.


Quote:
Originally Posted by Reaktor:[Dave] View Post
2. comes as a surprise. Why is that?
REAPER seems to block the main thread during offline rendering, so ReaLearn doesn't get any chance to change FX parameters, track volumes etc. - because all of that needs the main thread event loop to run. If this is an issue, I could ask Justin if there's a chance to change that. So far, nobody ever bothered and I don't use MIDI-CC-based workflow so much.
helgoboss is offline   Reply With Quote
Old 01-06-2022, 11:16 AM   #1885
Reaktor:[Dave]
Human being with feelings
 
Reaktor:[Dave]'s Avatar
 
Join Date: Jun 2010
Location: Berlin
Posts: 563
Default

Quote:
Originally Posted by helgoboss View Post
You want ReaLearn to behave exactly like when you arm the track - just without arming but instead selecting. Right?
Exactly!


Quote:
Originally Posted by helgoboss View Post
If you find a way to make REAPER send the CC events at that position whenever you put the cursor at that position, then it will work. Not sure if such an option or script exists.
I haven't found a way to achieve that. Only a workaround:
- disable resetting MIDI CCs 0-127 in Preferences->Audio->Playback
- after placing the edit cursor in edit mode, start and immediately stop playback

Quote:
Originally Posted by helgoboss View Post
I'm not aware of any function that just does chasing. Maybe I can ask Justin if there is one or if he can expose that functionality, otherwise I guess I would have to roll my own. It's certainly possible because the API has ways to look into MIDI item contents and ReaLearn detects play cursor changes already.
That'd be great if Reaper's API could be extended to make this possible.
Can ReaLearn also detect edit cursor changes or only play cursor changes?


Quote:
Originally Posted by helgoboss View Post
REAPER seems to block the main thread during offline rendering, so ReaLearn doesn't get any chance to change FX parameters, track volumes etc. - because all of that needs the main thread event loop to run. If this is an issue, I could ask Justin if there's a chance to change that. So far, nobody ever bothered and I don't use MIDI-CC-based workflow so much.
I see. It's quite a gotcha if you have to trade offline rendering for MIDI controller feedback. Maybe Justin could expose just a small subset of the API (FX parameters, volume ...)?
Reaktor:[Dave] is offline   Reply With Quote
Old 01-08-2022, 12:32 AM   #1886
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Quote:
Originally Posted by helgoboss View Post
Mmh, if you really address each track by name or track selection, ReaLearn shouldn't even ask that question. Are you sure? Can you send an RPP file to me?
Idk how it escaped me before, but I just confirmed that this (at least in my case) seems to most times be the result of having added a mapping but not configured it at all.

In other words, the default map settings trigger this dialog. Clicking Yes changes them from:
Track <This>
Fx "By ID"
to:
Track <This>
Fx <Focused>

I guess it would make more sense for the default settings to be the latter so the dialog doesn't needlessly appear...but what would be really super duper awesome is if those default settings could reflect whatever the user has last chosen.

I find myself selecting the same things all the time for every mapping and it would be most helpful if ReaLearn could anticipate that that. E.g. I'm basically always using <Selected> track or "By Name," so when I add a new mapping it could already have <Selected> Track as the target, instead of <This> Track (which I don't think I've ever used).

Maybe a simpler request would be, every time the user changes a setting, it updates the template for the default mapping. I think it would be a big time-saver.

I can make an FR (I've got a few others I've been meaning to do anyway), but does that sound like a great effort or not?
__________________
foxyyymusic
foxAsteria is online now   Reply With Quote
Old 01-09-2022, 06:25 AM   #1887
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 811
Default Sending text to TouchOSCmk1's label

Hi!

Need some help - have been reading and looking around
but cant get it to work.

What I want is simple - when pressing button on my
Faderport Classic I want the text in a label on my
TouchOSCmk1 to change.

I think my communication with TouchOSCmk1 works, I
managed to make a button on controller change page
in TouchOSCmk1. And make a button on controller
change the state of a togglebutton on TouckOSCmk1.

But to send a text to a label wont work for me!

I have a mapping with Type: OSC: Send message
Output: to my tab with TouchOSCmk1
Adress: /mixer/label45
Argument: String(feedback only): Some text

I tried with argument Some text in [], "", ''
and without any, but no luck!

What am I missing???
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify
tompad is offline   Reply With Quote
Old 01-09-2022, 07:07 AM   #1888
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by tompad View Post
Hi!

Need some help - have been reading and looking around
but cant get it to work.

What I want is simple - when pressing button on my
Faderport Classic I want the text in a label on my
TouchOSCmk1 to change.

I think my communication with TouchOSCmk1 works, I
managed to make a button on controller change page
in TouchOSCmk1. And make a button on controller
change the state of a togglebutton on TouckOSCmk1.

But to send a text to a label wont work for me!

I have a mapping with Type: OSC: Send message
Output: to my tab with TouchOSCmk1
Adress: /mixer/label45
Argument: String(feedback only): Some text

I tried with argument Some text in [], "", ''
and without any, but no luck!

What am I missing???
You are missing the "(feedback only)" note At the moment, "OSC: Send message" only works for sending control values and control values are always numeric. OSC argument type "String" works for feedback direction only, e.g. in response to some parameter changes in REAPER.

In general, the full OSC capabilities (e.g. also multiple feedback arguments) in ReaLearn are only usable if you set your TouchOSC as feedback device. So you can go this way (you probably need two instances then because you want to use TouchOSC only as feedback display, not as controller).


I'm looking into making ReaLearn capable of using OSC in a very generic scripty way (imagine something like JSFX but possible to send OSC messages e.g. in response to some incoming MIDI message). But in order to make this really powerful, I need some addition to the REAPER API. Let's see if Justin is open for such an addition. Lots of Playtime 2 stuff to do at the moment, so I will most likely not have the time for creating some half-baked interim solution that works without REAPER API additions.
helgoboss is offline   Reply With Quote
Old 01-09-2022, 10:22 AM   #1889
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 811
Default

Quote:
Originally Posted by helgoboss View Post
You are missing the "(feedback only)" note At the moment, "OSC: Send message" only works for sending control values and control values are always numeric. OSC argument type "String" works for feedback direction only, e.g. in response to some parameter changes in REAPER.
Aha :-) I misinterpreted the words Feedback only - I thought the text I
wanted to send was the feedback :-)
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify
tompad is offline   Reply With Quote
Old 01-10-2022, 11:42 AM   #1890
Reaktor:[Dave]
Human being with feelings
 
Reaktor:[Dave]'s Avatar
 
Join Date: Jun 2010
Location: Berlin
Posts: 563
Default

Quote:
Originally Posted by helgoboss View Post
If I understood you correctly, that's possible:

1. Put the ReaLearn instance in the normal track FX chain and set "Control input" to <FX input>. That way it can receive MIDI both from your controller (provided you set the track MIDI input device correctly, armed the track and switched input monitoring on) and from the MIDI items on that track.
2. Set "Feedback output" to your hardware device (that way you can still receive feedback).
3. Put your VSTi anywhere in the project, e.g. directly below ReaLearn (ReaLearn will by default let unmatched events through). Just *not above* ReaLearn (because then the instrument might filter out MIDI messages and they wouldn't arrive at ReaLearn anymore).
4. You can learn/create/use mappings as usual, e.g. with target "FX: Set parameter value" pointing to the VSTi.
5. You can also record the incoming MIDI, play it back and both control/feedback should work.
I've found an alternative approach to this that doesn't break offline rendering and still allows MIDI feedback to the device and recording MIDI CCs to the track. It works similar to the original approach, but the ReaLearn instance is set to let matched events through and the "FX: Set parameter value" is just used for feedback (the source bool "->" is disabled). This way, the original MIDI data gets to the VSTi and its parameters are used for generating feedback to the device.

If a VSTi doesn't update its parameters by itself (like the Kontakt 6.6.1), it's still possible to enable the source bool "->".

I also got textual feedback working on my fader controller, so I can exactly see which parameter a fader controls.

I'm also setting up a fixed controller template that controls Pro-Q if it's found on a selected track with completely different design goals.
Is it possible to use ReaLearn to ensure that some parameters on Pro-Q are always set to "1"?
Also, is it possible to let ReaLearn check a certain parameter (like "Band 1 Shape") and if it's at a specific value (like "Bell" or "LowPass" or whatever the numeric representation of that is) enable and disable certain ReaLearn mappings?

Last edited by Reaktor:[Dave]; 01-11-2022 at 10:20 AM.
Reaktor:[Dave] is offline   Reply With Quote
Old 01-11-2022, 02:44 AM   #1891
matt37137
Human being with feelings
 
Join Date: Feb 2020
Posts: 19
Default Realearn live solution-looking for fix

Hi

For about a month, I'm trying to make the band go live with vst, realearn and touchOSC.
I thought that I succeeded, and even wrote a post, that I will make tutorial about this. But Reaper gave me a solid road block...

I need to change VSTs on the fly. I click one midi button -> guitar1, guitar2, keyboard changes presets for songs and banks in songs. I did manage to do this because realearn is frickin awesome! Problem is, that it was possible to do, with every song and mid song preset on a different track, no biggie. I thought that with realearn I will just bypass fx on those tracks, and disarm, no problem...

And here goes the kicker. Reaper stores bypass FX in RAM, and I'm almost certain that it affect latency. With 100+ tracks loaded with amps sims and virtual instruments, bypass n disarm doesn't help. CPU is 3-5% loaded ram is 70-80%(I have 8gb, think I'll buy 8 more) and I got pops, on low latency, but even on high like 1024...

Tried to make different approach, with loading one track with all songs vst and with bypass, changing them. As ever realearn works great, but issue still occurs.

I tried to check option with do not process mute items, thread processing, anticipative fx, live fx multiprocessing, everything with different combinations, nothing fixed the problem.

I think my only option is to use offline fx. That's the one thing that actually disable fx affecting latency and ram usage. I know that it will not be smooth, so I will only use it for song changes, not mid song presets.


Is it possible that You will implement this? I have a gig in a month, and was looking forward to use this new setup, because it's so great. I will gladly show it here if it actually works.
matt37137 is offline   Reply With Quote
Old 01-11-2022, 04:01 AM   #1892
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by foxAsteria View Post
Idk how it escaped me before, but I just confirmed that this (at least in my case) seems to most times be the result of having added a mapping but not configured it at all.

In other words, the default map settings trigger this dialog. Clicking Yes changes them from:
Track <This>
Fx "By ID"
to:
Track <This>
Fx <Focused>

I guess it would make more sense for the default settings to be the latter so the dialog doesn't needlessly appear...but what would be really super duper awesome is if those default settings could reflect whatever the user has last chosen.
I would like to improve on that but I'm not exactly sure which would be the best default solution, for everyone - and also concerning all the other fields in the GUI, it should be a generic and consistent solution. In your case, do you use "Learn" or are you talking about the defaults in the GUI? Always using the last settings of any mapping could be quite confusing. Plus, there's already a way to do that: Duplicate.

Quote:
Originally Posted by foxAsteria View Post
I find myself selecting the same things all the time for every mapping and it would be most helpful if ReaLearn could anticipate that that. E.g. I'm basically always using <Selected> track or "By Name," so when I add a new mapping it could already have <Selected> Track as the target, instead of <This> Track (which I don't think I've ever used).

Maybe a simpler request would be, every time the user changes a setting, it updates the template for the default mapping. I think it would be a big time-saver.

I can make an FR (I've got a few others I've been meaning to do anyway), but does that sound like a great effort or not?
There's no such thing as a default mapping template at the moment, that would be necessary to implement first and I think that one would make sense (see https://github.com/helgoboss/realearn/issues/159). What you describe, sounds more or less the same as "those default settings could reflect whaterver the user has last chosen", see my opinion on that above.

Quote:
Originally Posted by Reaktor:[Dave] View Post
I've found an alternative approach to this that doesn't break offline rendering and still allows MIDI feedback to the device and recording MIDI CCs to the track. It works similar to the original approach, but the ReaLearn instance is set to let matched events through and the "FX: Set parameter value" is just used for feedback (the source bool "->" is disabled). This way, the original MIDI data gets to the VSTi and its parameters are used for generating feedback to the device.
Ah, so the VSTi parameters are controllable via MIDI I guess? Yes, that's a workaround that takes ReaLearn out of the equation for the "control" direction and keeps it for the "feedback" direction.

BTW, I've experimented a bit some days ago after we had that discussion and almost thought I found a solution to the offline rendering issue ... but then not I found a way to do things in the main thread during the rendering process by registering a timer instead of using the control surface run method to "drive" ReaLearn. However, at least with the track volume target, the volume changes were not applied correctly. There might be a way, but it probably involves some additions on Justin's side and right now I'd rather not overload him because there are already a few API FRs I have bothered him with recently

Quote:
Originally Posted by Reaktor:[Dave] View Post
If a VSTi doesn't update its parameters by itself (like the Kontakt 6.6.1), it's still possible the enable the source bool "->".

I also got textual feedback working on my fader controller, so I can exactly see which parameter a fader controls.

I'm also setting up a fixed controller template that controls Pro-Q if it's found on a selected track with completely different design goals.
Is it possible to use ReaLearn to ensure that some parameters on Pro-Q are always set to "1"?
You mean that it should prevent the parameter from ever changing from "1" to another value? Even when changing the preset or modifying the parameter in the GUI? No. But if you talk about invoking some control and make the parameter change to "1" in response to that, that's possible (by setting target min and max to that value).

Quote:
Originally Posted by Reaktor:[Dave] View Post
Also, is it possible to let ReaLearn check a certain parameter (like "Band 1 Shape") and if it's at a specific value (like "Bell" or "LowPass" or whatever the numeric representation of that is) enable and disable certain ReaLearn mappings?
That sounds like one of my personal favorite FRs: https://github.com/helgoboss/realearn/issues/392 ... so this might get implemented soon.

Quote:
Originally Posted by matt37137 View Post
Hi

For about a month, I'm trying to make the band go live with vst, realearn and touchOSC.
I thought that I succeeded, and even wrote a post, that I will make tutorial about this. But Reaper gave me a solid road block...

I need to change VSTs on the fly. I click one midi button -> guitar1, guitar2, keyboard changes presets for songs and banks in songs. I did manage to do this because realearn is frickin awesome! Problem is, that it was possible to do, with every song and mid song preset on a different track, no biggie. I thought that with realearn I will just bypass fx on those tracks, and disarm, no problem...

And here goes the kicker. Reaper stores bypass FX in RAM, and I'm almost certain that it affect latency. With 100+ tracks loaded with amps sims and virtual instruments, bypass n disarm doesn't help. CPU is 3-5% loaded ram is 70-80%(I have 8gb, think I'll buy 8 more) and I got pops, on low latency, but even on high like 1024...

Tried to make different approach, with loading one track with all songs vst and with bypass, changing them. As ever realearn works great, but issue still occurs.

I tried to check option with do not process mute items, thread processing, anticipative fx, live fx multiprocessing, everything with different combinations, nothing fixed the problem.

I think my only option is to use offline fx. That's the one thing that actually disable fx affecting latency and ram usage. I know that it will not be smooth, so I will only use it for song changes, not mid song presets.


Is it possible that You will implement this? I have a gig in a month, and was looking forward to use this new setup, because it's so great. I will gladly show it here if it actually works.
You mean a target to set an FX online or offline? Sure, can do that. But please try not to rely on me having this finished in time for your gig. I would add it to a prerelease version, so things would be not battle-tested enough.
helgoboss is offline   Reply With Quote
Old 01-11-2022, 05:01 AM   #1893
matt37137
Human being with feelings
 
Join Date: Feb 2020
Posts: 19
Default

Quote:
Originally Posted by helgoboss View Post
You mean a target to set an FX online or offline? Sure, can do that. But please try not to rely on me having this finished in time for your gig. I would add it to a prerelease version, so things would be not battle-tested enough.
Of course! Thank You! I will get by with select and action option, but it's not ideal. Very slow, compared to actions that are implemented in realearn.

One question I forgot about. Is there a way to add multiple taxonomies in field? "all by name" I abuse it a lot with *. But would be lovely to add only one mapping with something like:

guitar.*;keyboard.*;vocal.* etc.

Or is there a better solution for: Do "something" on every track/fx beside this track/fx etc. because that's what I'm going for.

Now if I want to disarm a group of tracks, but leaving one armed. I make mapping "disarm all by name", and then another one, arming just one that I want to have armed.
matt37137 is offline   Reply With Quote
Old 01-11-2022, 07:39 AM   #1894
Mavriq
Human being with feelings
 
Mavriq's Avatar
 
Join Date: Aug 2016
Location: Thunder Bay, Canada
Posts: 297
Default

I'm trying to setup banks using the new "navigate within groups "feature. I can make it go forward, how do you make it "go backwards"?
Mavriq is offline   Reply With Quote
Old 01-11-2022, 07:54 AM   #1895
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by matt37137 View Post
Of course! Thank You! I will get by with select and action option, but it's not ideal. Very slow, compared to actions that are implemented in realearn.

One question I forgot about. Is there a way to add multiple taxonomies in field? "all by name" I abuse it a lot with *. But would be lovely to add only one mapping with something like:

guitar.*;keyboard.*;vocal.* etc.

Or is there a better solution for: Do "something" on every track/fx beside this track/fx etc. because that's what I'm going for.

Now if I want to disarm a group of tracks, but leaving one armed. I make mapping "disarm all by name", and then another one, arming just one that I want to have armed.
I think you are looking for the "Exclusive" option. That is exactly for switching something on or off for only one track/FX/etc. and do the opposite for the others.

BTW, concerning the "FX: Put online/offline" target, please open a feature request at GitHub.

Quote:
Originally Posted by gvanbrunt View Post
I'm trying to setup banks using the new "navigate within groups "feature. I can make it go forward, how do you make it "go backwards"?
I assume you use "Incremental button" mode? Answer is: "Reverse" checkbox.
helgoboss is offline   Reply With Quote
Old 01-11-2022, 12:35 PM   #1896
Mavriq
Human being with feelings
 
Mavriq's Avatar
 
Join Date: Aug 2016
Location: Thunder Bay, Canada
Posts: 297
Default

First let me say Thank You for such and amazing add on!

I got everything working using "navigate within groups ". The only issue was that tags could only be used for banks and nothing else. Since they were based being "exclusive" everytime a bank tag was "turned on" every other tag was switched off. Not sure if I could work around that, but decided to go with the "old" method of parameters and that works great.

A while back there was a user who was looking for a way to get feedback in Reaper about what bank was selected. They were looking to set the color of the selected tracks, and you replied:

Quote:
There's no built-in easy way to achieve this. Pretty sure this could be done by writing a Lua script that queries ReaLearn's "Bank Switch" parameter value and colorizes tracks accordingly. You could let ReaLearn trigger this script by mapping it to the same buttons like "Prev Bank" and "Next Bank" and using "Fire after timeout" with at least 1ms of timeout (to make sure the bank is switched already when the script is executed).
I've been a programmer for many years but I'm a noob to Reaper scripting. How would I go about querying Realearn's parameters from an outside script?
Mavriq is offline   Reply With Quote
Old 01-11-2022, 03:28 PM   #1897
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Quote:
Originally Posted by helgoboss View Post
In your case, do you use "Learn" or are you talking about the defaults in the GUI?
These new mappings when I click "Add one" always have the same settings. That's not a default tho? I don't often use Learn to create mappings; usually I just add one and modify it.

In any case, yea that FR to declare default settings would be great.
__________________
foxyyymusic
foxAsteria is online now   Reply With Quote
Old 01-12-2022, 03:27 AM   #1898
matt37137
Human being with feelings
 
Join Date: Feb 2020
Posts: 19
Default all by name problems

Quote:
Originally Posted by helgoboss View Post
I think you are looking for the "Exclusive" option. That is exactly for switching something on or off for only one track/FX/etc. and do the opposite for the others.
Hmm I think it's not working as it should be, with "All by name". I tested it with track arm/disarm, and actually every exclusive option.

Made folder above tracks that I want to control, add realearn there and tested.

With All by name: A.*.dol it only arm last track in subfolder, with option exclusive - folder on only Not all of them.

Folder structure tree looks like this:

Relearn
-Guitars
--MattGuitar
---Dolina.mattg
----A-Dolina-Solo.mattg
-----A.Solo.gm.dol
-----A.SoloW.gm.dol
<---- arms only this one
----B-Dolina-Verse.mattg
-----blablabla
-----blablabla
etc.

Funny thing is, if I swap those two presets around. The one like this:
-----A.SoloW.gm.dol
-----A.Solo.gm.dol
<---- arms only this one

It will then arm the Solo without "W" in name. So again - last one.

And if I change to exclusive "Within folder" (without only on) When I turn it on it will select last one if I press off in value filed, it will select first one. On - last one, off - first. With 3 tracks with on: last one. With off: first and second.

All by name have problems with actions like offline/online too.

Am I doing something wrong or is it a bug?
matt37137 is offline   Reply With Quote
Old 01-12-2022, 05:02 AM   #1899
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by matt37137 View Post
Hmm I think it's not working as it should be, with "All by name". I tested it with track arm/disarm, and actually every exclusive option.

Made folder above tracks that I want to control, add realearn there and tested.

With All by name: A.*.dol it only arm last track in subfolder, with option exclusive - folder on only Not all of them.

Folder structure tree looks like this:

Relearn
-Guitars
--MattGuitar
---Dolina.mattg
----A-Dolina-Solo.mattg
-----A.Solo.gm.dol
-----A.SoloW.gm.dol
<---- arms only this one
----B-Dolina-Verse.mattg
-----blablabla
-----blablabla
etc.

Funny thing is, if I swap those two presets around. The one like this:
-----A.SoloW.gm.dol
-----A.Solo.gm.dol
<---- arms only this one

It will then arm the Solo without "W" in name. So again - last one.

And if I change to exclusive "Within folder" (without only on) When I turn it on it will select last one if I press off in value filed, it will select first one. On - last one, off - first. With 3 tracks with on: last one. With off: first and second.

All by name have problems with actions like offline/online too.

Am I doing something wrong or is it a bug?
Not sure if the "All by name" selector works in combination with Exclusive. Let me think ... no it shouldn't work. Will have to document this restriction.

Try without "All by name", just Exclusive. You wrote that you want to do "something" on every track/fx beside this track/fx, so why use "All by name"?
helgoboss is offline   Reply With Quote
Old 01-12-2022, 05:36 AM   #1900
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by gvanbrunt View Post
First let me say Thank You for such and amazing add on!

I got everything working using "navigate within groups ". The only issue was that tags could only be used for banks and nothing else. Since they were based being "exclusive" everytime a bank tag was "turned on" every other tag was switched off. Not sure if I could work around that, but decided to go with the "old" method of parameters and that works great.
Oh? The "ReaLearn: Enable/disable mappings" target has an exclusive option. Isn't that working for you? Please also note that there's a user guide that (hopefully) explains these options.

Quote:
Originally Posted by gvanbrunt View Post
A while back there was a user who was looking for a way to get feedback in Reaper about what bank was selected. They were looking to set the color of the selected tracks, and you replied:



I've been a programmer for many years but I'm a noob to Reaper scripting. How would I go about querying Realearn's parameters from an outside script?
You can use reaper.TrackFX_GetParamNormalized() on the ReaLearn FX instance that you want to query. This essentially allows you to access the values of all 200 ReaLearn VST parameters. The "conditional activation"-style banking method is based on these parameters, so you could query the current bank with that. There's no way though to query the active mapping tags from outside, since this mechanism is not based on VST parameters. It would be technically possible to add it, it just doesn't exist.

Quote:
Originally Posted by foxAsteria View Post
These new mappings when I click "Add one" always have the same settings. That's not a default tho? I don't often use Learn to create mappings; usually I just add one and modify it.

In any case, yea that FR to declare default settings would be great.
It's a default, but a hard-coded one. No way to change it.
helgoboss is offline   Reply With Quote
Old 01-12-2022, 06:06 AM   #1901
matt37137
Human being with feelings
 
Join Date: Feb 2020
Posts: 19
Default

Quote:
Originally Posted by helgoboss View Post
Not sure if the "All by name" selector works in combination with Exclusive. Let me think ... no it shouldn't work. Will have to document this restriction.

Try without "All by name", just Exclusive. You wrote that you want to do "something" on every track/fx beside this track/fx, so why use "All by name"?
I'm trying to make songs ABC presets for guitars and midi. So for eg. I'm going for arming only tracks with A (that's why "All by name" - there are more than one tracks). And I want all others in folder to go disarm. I'm doing this by disarming all, and then arming all by name. But was looking for more elegant solution.
matt37137 is offline   Reply With Quote
Old 01-12-2022, 06:19 AM   #1902
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by matt37137 View Post
I'm trying to make songs ABC presets for guitars and midi. So for eg. I'm going for arming only tracks with A (that's why "All by name" - there are more than one tracks). And I want all others in folder to go disarm. I'm doing this by disarming all, and then arming all by name. But was looking for more elegant solution.
If you want that possibility one day, best create an issue. But it will have to wait as I'm busy with other ReaLearn/Playtime stuff at the moment.
helgoboss is offline   Reply With Quote
Old 01-12-2022, 06:47 AM   #1903
matt37137
Human being with feelings
 
Join Date: Feb 2020
Posts: 19
Default

Quote:
Originally Posted by helgoboss View Post
If you want that possibility one day, best create an issue. But it will have to wait as I'm busy with other ReaLearn/Playtime stuff at the moment.
Ok, I will stick with what we have, not a burning issue. Offline state is what I'm patiently waiting for Thought that I was doing something wrong, but everything cleared up.
matt37137 is offline   Reply With Quote
Old 01-12-2022, 07:07 AM   #1904
Mavriq
Human being with feelings
 
Mavriq's Avatar
 
Join Date: Aug 2016
Location: Thunder Bay, Canada
Posts: 297
Default

Quote:
Originally Posted by helgoboss View Post
Oh? The "ReaLearn: Enable/disable mappings" target has an exclusive option. Isn't that working for you? Please also note that there's a user guide that (hopefully) explains these options.
That's actually the issue. Since those are exclusive based on tags, only 1 tag can be "active" at a time. So if you need to use a tag "outside" of banks, they won't work. Any other tag is disabled as a bank goes active. Unless I'm doing something wrong.

Quote:
Originally Posted by helgoboss View Post
You can use reaper.TrackFX_GetParamNormalized() on the ReaLearn FX instance that you want to query. This essentially allows you to access the values of all 200 ReaLearn VST parameters.
Duh, I forgot it is a VST not a script. That is awesome and exactly what I need.

I have one more issue I'm trying to deal with. I have my main controller mapped and working with the DAW Control for most of the DAW itself. It is in the Monitoring Chain and that works great. Now I would like to use the Auto-Load Feature so I can use the same controller for FX when they have focus. I can't seem to find a way to "auto-load" DAW Control as a default, So I tried putting another instance higher in the chain. However, the events seem to be getting though and the 2 instances "fight" each other.

What is the best way to handle this?
Mavriq is offline   Reply With Quote
Old 01-12-2022, 08:51 AM   #1905
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by gvanbrunt View Post
That's actually the issue. Since those are exclusive based on tags, only 1 tag can be "active" at a time. So if you need to use a tag "outside" of banks, they won't work. Any other tag is disabled as a bank goes active. Unless I'm doing something wrong.
You can have multiple tags active at a time even with "Exclusive". Simply enter them comma-separated. Also, ReaLearn leaves mappings without tags untouched.

Quote:
Originally Posted by gvanbrunt View Post
Duh, I forgot it is a VST not a script. That is awesome and exactly what I need.

I have one more issue I'm trying to deal with. I have my main controller mapped and working with the DAW Control for most of the DAW itself. It is in the Monitoring Chain and that works great. Now I would like to use the Auto-Load Feature so I can use the same controller for FX when they have focus. I can't seem to find a way to "auto-load" DAW Control as a default, So I tried putting another instance higher in the chain. However, the events seem to be getting though and the 2 instances "fight" each other.

What is the best way to handle this?
Having 2 instances is exactly the way. One normal one and one with auto-load that should "mute" the normal one as soon as an FX is focused. The missing ingredient is to make the "auto-load" instance superior (right mouse click in header panel => options). Then this instance will become an arrogant superior instance that overrides all non-superior ones with the same control input / feedback output.
helgoboss is offline   Reply With Quote
Old 01-12-2022, 08:55 AM   #1906
Sound asleep
Human being with feelings
 
Sound asleep's Avatar
 
Join Date: Nov 2009
Location: Montreal, Canada
Posts: 9,052
Default Export to another PC

I have realearn running in my monitor FX chain, with a default preset that I just leave for every project I use. I would like to copy that over to my laptop, but I would also like to find the easiest way to transfer settings like that. So far, I do configurations export of everything except the config, and then I have to do the mouse button configurations as well. But I'm not exactly sure where realearn saves its presets, and default configuration so that it loads up at my default preference for every project.
Sound asleep is offline   Reply With Quote
Old 01-12-2022, 08:58 AM   #1907
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by Sound asleep View Post
I have realearn running in my monitor FX chain, with a default preset that I just leave for every project I use. I would like to copy that over to my laptop, but I would also like to find the easiest way to transfer settings like that. So far, I do configurations export of everything except the config, and then I have to do the mouse button configurations as well. But I'm not exactly sure where realearn saves its presets, and default configuration so that it loads up at my default preference for every project.
It's all in your REAPER resource directory, along with all other REAPER preferences. Look for "Show REAPER resource path in explorer/finder" in the actions list. From there, ReaLearn populates the directories "Helgoboss" and "data/helgoboss".
helgoboss is offline   Reply With Quote
Old 01-12-2022, 10:23 AM   #1908
Sound asleep
Human being with feelings
 
Sound asleep's Avatar
 
Join Date: Nov 2009
Location: Montreal, Canada
Posts: 9,052
Default

Quote:
Originally Posted by helgoboss View Post
It's all in your REAPER resource directory, along with all other REAPER preferences. Look for "Show REAPER resource path in explorer/finder" in the actions list. From there, ReaLearn populates the directories "Helgoboss" and "data/helgoboss".

I guess maybe you wouldn't, but would you happen to know which category this is included in for configuration exports? Is it in configuration? It doesn't seem like it would be, which is why I'm a little surprised it didn't update for me.
Sound asleep is offline   Reply With Quote
Old 01-12-2022, 10:46 AM   #1909
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by Sound asleep View Post
I guess maybe you wouldn't, but would you happen to know which category this is included in for configuration exports? Is it in configuration? It doesn't seem like it would be, which is why I'm a little surprised it didn't update for me.
Woah, I didn't even know there's something like a configuration export in REAPER. This is even easier than copying a folder. All those little practical things which make REAPER unique ... awesome.

Looks like the preset stuff is in "Misc data", so this one will be saved. "Helgoboss" (contains mainly Projection server setting and configured OSC devices) is a directory that the configuration export is not aware off, so it won't be included in the export.
helgoboss is offline   Reply With Quote
Old 01-13-2022, 04:08 PM   #1910
Sound asleep
Human being with feelings
 
Sound asleep's Avatar
 
Join Date: Nov 2009
Location: Montreal, Canada
Posts: 9,052
Default

Quote:
Originally Posted by helgoboss View Post
Woah, I didn't even know there's something like a configuration export in REAPER. This is even easier than copying a folder. All those little practical things which make REAPER unique ... awesome.

Looks like the preset stuff is in "Misc data", so this one will be saved. "Helgoboss" (contains mainly Projection server setting and configured OSC devices) is a directory that the configuration export is not aware off, so it won't be included in the export.
Ya, that export feature is nice because it knows what has changed and what hasn't, and you can choose to carry over certain elements but not others. Unfortunately, I don't think they included a "mouse modifiers" section.

I see what happened. I had actually copied that over, but I had to select the preset in the window, and the preset of the same name was selected as a reaper preset, not the one loaded within realearn. So that's why. Thanks for your help!
Sound asleep is offline   Reply With Quote
Old 01-15-2022, 10:19 AM   #1911
Reaktor:[Dave]
Human being with feelings
 
Reaktor:[Dave]'s Avatar
 
Join Date: Jun 2010
Location: Berlin
Posts: 563
Default

Quote:
Originally Posted by helgoboss View Post
You mean that it should prevent the parameter from ever changing from "1" to another value? Even when changing the preset or modifying the parameter in the GUI? No. But if you talk about invoking some control and make the parameter change to "1" in response to that, that's possible (by setting target min and max to that value).
Thanks, that's working!

I'm trying to page through the parameters of my virtual instruments, but still with the conversion to MIDI CCs workflow. The basic setup looks like this:
1) one ReaLearn instance as InputFX, converting incoming MIDI messages to specific MIDI CCs that fit the current page of parameters of the track's VSTi. No Feedback is set up at this stage, this is purely done to reroute my fader messages to the respective CCs that a certain VSTi expects as input.
2) one ReaLearn instance before the VSTi, letting through matched and unmatched events, purely for creating feedback to my controller:
2.1) textual feedback to the channel's display line #1 displaying the plugin's parametername
2.2) numeric feedback to the channel's display line #2 displaying the plugin's parameter value
2.3) conversion from the MIDI CC message to the VSTi's parameter (purely for making feedback work for the two points above)
2.4) conversion from the MIDI CC message to the controller's original input message via "MIDI: Send message" to the feedback output (this one is where I'm having problems with)

I'd expect this setup to take my controllers input, convert it so the messages arrive at the CC numbers expected by the VSTi (this one is working) and also send feedback to the faders of my control surface (this one only works partially). Feedback to the display is working fine (only when track is record-enabled, works fine during playback, when stopped and when changing the parameter from within the VSTi). But feedback to the faders has some problems like it's always being sent during playback disregarding whether the track is actually record-enabled. It's also not working when changing a parameter from within the VSTi's GUI.

I wondered if this can be achieved via Advanced Settings, but it looks like this is intended for on activating and deactivating a configuration. Any idea how get proper feedback in this scenario?
Reaktor:[Dave] is offline   Reply With Quote
Old 01-16-2022, 07:57 PM   #1912
mks
Human being with feelings
 
Join Date: Dec 2011
Posts: 171
Default

I’m trying to write volume automation in touch mode via osc. Specifically TouchOSC with touch commands enabled. Is there any way for Realearn to be aware of touch and pass that onto the automation system so that touch mode can work as intended? Unfortunately I only get values written when the values change, resulting in erratic data.
mks is offline   Reply With Quote
Old 01-16-2022, 08:47 PM   #1913
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Quote:
Originally Posted by mks View Post
I’m trying to write volume automation in touch mode via osc. Specifically TouchOSC with touch commands enabled. Is there any way for Realearn to be aware of touch and pass that onto the automation system so that touch mode can work as intended? Unfortunately I only get values written when the values change, resulting in erratic data.
I believe that's how touch mode works; only changes while you move it and then right back to where it was (if that's not what you want, try Latch).

What were you expecting? And by "touch commands," do you mean the multitouch settings in Reaper prefs? Because that has nothing to do with automation or OSC.
__________________
foxyyymusic
foxAsteria is online now   Reply With Quote
Old 01-17-2022, 12:05 AM   #1914
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by mks View Post
I’m trying to write volume automation in touch mode via osc. Specifically TouchOSC with touch commands enabled. Is there any way for Realearn to be aware of touch and pass that onto the automation system so that touch mode can work as intended? Unfortunately I only get values written when the values change, resulting in erratic data.
ReaLearn has a target named "Track: Set touch state" or similar, too lazy to look up the name at the moment You need to map the touch/release events sent by your touch-capable controller (or TouchOSC in your case) to this target, then writing automation in touch mode works as intended.

However, even without that, it shouldn't result in erratic data to be written. The only negative effect should be that it keeps overwriting existing automation data even you have taken your finger from the touchscreen already. So if you get erratic data, maybe something else is wrong?
helgoboss is offline   Reply With Quote
Old 01-17-2022, 06:30 AM   #1915
mks
Human being with feelings
 
Join Date: Dec 2011
Posts: 171
Default

Quote:
Originally Posted by helgoboss View Post
ReaLearn has a target named "Track: Set touch state" or similar, too lazy to look up the name at the moment You need to map the touch/release events sent by your touch-capable controller (or TouchOSC in your case) to this target, then writing automation in touch mode works as intended.

However, even without that, it shouldn't result in erratic data to be written. The only negative effect should be that it keeps overwriting existing automation data even you have taken your finger from the touchscreen already. So if you get erratic data, maybe something else is wrong?
Amazing! Thank you! I kept reading that as a function to change automation modes. I blame lack of sleep. This is really great and will likely yield the control I've been trying to build since switching to Reaper!
mks is offline   Reply With Quote
Old 01-17-2022, 04:31 PM   #1916
mks
Human being with feelings
 
Join Date: Dec 2011
Posts: 171
Default

I wanted to ask about one aspect that can hopefully find solutions with Realearn. Having a good time over here getting my controllers setup It was two questions but I solved the OSC text string situation.

Is there any way to have the track order follow either the mixer or arrange visibility? Specifically, ignoring folded folder tracks? Currently I’m playing with track selections and the dynamic assignment function. Combined with reaper track selection snapshots. Which may ultimately be more powerful, albeit a bit slower to work with. Perhaps there’s some use of “dynamic” that would follow track visibility of Reaper.

Thanks. Realearn has become really amazing!

Last edited by mks; 01-17-2022 at 07:27 PM.
mks is offline   Reply With Quote
Old 01-18-2022, 12:06 PM   #1917
jimosity
Human being with feelings
 
Join Date: Jul 2007
Location: Cincinnati, Ohio
Posts: 58
Default ReaLearn note to PC

I've been playing with ReaLearn and I'm not quite sure how if it can do this, and if so, how to get there.
I'd like to take an incoming midi note from a controller and have it map to a specific Program Change. Is that possible?
jimosity is offline   Reply With Quote
Old 01-18-2022, 03:18 PM   #1918
Mavriq
Human being with feelings
 
Mavriq's Avatar
 
Join Date: Aug 2016
Location: Thunder Bay, Canada
Posts: 297
Default ReaLearn Bank Monitor

Some users have requested a way to be able to monitor which bank is active. I put together a script that allows this.

[edit]

At this point it just displays the bank and track information in the script window itself, but I'm looking to expand that further. Looking for feedback on what people may want.

The script will switch out the track layouts so you can highlight which ones are active.


Bank 1. Tracks 1-8 Knobs Red to Indicate they are active

Last edited by Mavriq; 01-19-2022 at 09:25 PM.
Mavriq is offline   Reply With Quote
Old 01-19-2022, 04:01 PM   #1919
Miscreant
Human being with feelings
 
Miscreant's Avatar
 
Join Date: Mar 2012
Posts: 375
Default

I have a question about using a Boss FS-5L Latching footswitch as a controller. (https://www.sweetwater.com/store/det...ing-footswitch).

This footswitch is 'latching' because it has discrete on/off states: one press turns and keeps it on; one more press turns and keeps it off. I have this footswitch hooked up via a regular guitar cable to my midi controller, which is a Yamaha Motif 7.

Previously I used my Motif's sustain pedal to execute the following actions:

1. Two presses: play metronome
2. One press: play/stop w.o pre-roll
3. One (longer) press: record with metronome

Here is a screenshot of the settings: https://imgur.com/rYG9Ra8 Everything works great.

I am now trying to execute the same actions with the Boss FS-5L (so I can free up my sustain pedal for...sustain). But unfortunately I cannot get it working as (1)-(3) describe.

The only functionality I get is after a double-press of the footswitch, action (2) above runs. But, as my screenshot shows, this action should run after only a single (quick) press.

I figure the issue I am running into stems from the fact that this Boss pedal is latching and therefore has discrete on/off states, unlike the sustain pedal. But I am not certain.

So my question is: what configuration (if any) will allow me to run actions (1)-(3) above in the way I currently trigger them with my sustain pedal (i.e. double press, one press, one longer press)?

EDIT #2: are all my problems solved simply by returning this and getting the unlatched pedal instead? https://www.sweetwater.com/store/det...ing-footswitch

Last edited by Miscreant; 01-19-2022 at 06:58 PM. Reason: Speeling
Miscreant is offline   Reply With Quote
Old 01-19-2022, 06:16 PM   #1920
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,255
Default

Quote:
Originally Posted by jimosity View Post
I'd like to take an incoming midi note from a controller and have it map to a specific Program Change. Is that possible?
It's not a MIDI translator. MIDI-Ox can do that, though it's not the most user-friendly program. There are probably plugins that do as well.
__________________
foxyyymusic
foxAsteria is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 09:58 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.