jcsteh / osara

OSARA: Open Source Accessibility for the REAPER Application
GNU General Public License v2.0
127 stars 46 forks source link

When choosing to view FX parameters, can we make that effect last-touched? #960

Closed ScottChesworth closed 11 months ago

ScottChesworth commented 1 year ago

When navigating entries in the FX chain list, REAPER makes the most recently selected effect the last-touched. However, when choosing to view FX parameters in the OSARA Params dialog, we don't designate the effect being viewed as last-touched yet, and there's also no way of reporting which effect is last-touched on demand, so it's easy for users to lose track of that detail. As a result, I often end up engaging Delta mode or switching presets using SWS actions for an unintended Effect. Is it possible for OSARA to make an effect the last-touched when the user chooses to view its parameters in our dialog?

TIA for any thoughts/advice/implementations!

jcsteh commented 1 year ago

Does it at least become last touched if you wiggle a parameter (so that parameter becomes last touched)?

In any case, I just took a quick look at the API and I don't see a way to set an effect as last touched other than messing with parameters.

ScottChesworth commented 1 year ago

Nope, seems last-touched param and last-touched effect are two separate things. I wiggled and jiggled just to be sure before opening the issue. Shall I ask about an API for this?

jcsteh commented 1 year ago

Sure. It's possible I'm missing something, so the answer may be "we already have this,", but either way, I think this needs input from Cockos.

ScottChesworth commented 12 months ago

I described what we want to do, Justin added this in v7.05+dev1115: ReaScript: allow accessing focused/last touched state for FX via TrackFX_SetNamedConfigParm/etc

ScottChesworth commented 11 months ago

Hey, reopening this because when testing with REAPER 7.07, it's either not working yet or perhaps the FR wasn't as clear as I thought. Here are the repro steps and what happens versus desired outcome:

  1. Instantiate two different FX on a track, doesn't matter which really but I've been using ReaEQ and ReaComp here in that order.
  2. Hit Shift+F6, it'll enable delta for the last-touched effect, which in this case will be the most recent one you've instantiated, as that would've been the one most recently focused in the FX chain list. Once you've verified that's what's happened, hit Alt+Shift+F6 to clear all deltas.
  3. Now hit P on the track, choose the first effect you instantiated. Hit Shift+F6 in the params dialog. What happens right now is Delta mode still gets enabled for the same effect as above. My desired outcome is that Delta would be enabled for the effect we're currently viewing the parameters of. I'm hoping this effect would be made last-touched when we choose to view its params in the OSARA dialog.

Is that possible?

jcsteh commented 11 months ago

Hmm. That is supposed to be what happens. I don't know why it isn't. I'll look into it.

ScottChesworth commented 11 months ago

Just noticed that the action we've mapped is called "FX: Toggle delta solo for last focused FX". I wonder, is last focused different from last touched?

ScottChesworth commented 11 months ago

I've tested a different action that applies to last touched effect, your commit works fine, it's the delta action we're using that doesn't respect last touched. It only seems to respect last focused, as in, focused using the FX chain list. Is this one for me to nag Justin about instead do you think?