Closed Nils31011992 closed 2 years ago
I don't see how this would be possible for OSARA. In order for OSARA to do that, the plugin would need to expose that information programmatically. The only way to do that as far as I know is via a parameter. And if it exposed a parameter, you'd be able to see it in OSARA's Parameters dialog.
you can get a gain reduction value in db from the api, so it would work at least for vst3 plugins I think
Where did you find this in the API? I couldn't find anything about gain reduction.
A way it could be done is by inserting a custom jsfx before and after the effect to be measured, which could expose a parameter that could be read by OSARA, similar to how the peak watcher works.
I do think something like this would be useful. Did you have an idea for how the UX would work for this?
Here,
https://forums.cockos.com/showthread.php?t=232577
Von meinem iPhone gesendet
Am 14.12.2021 um 12:58 schrieb RDMurray @.***>:
Where did you find this in the API? I couldn't find anything about gain reduction.
A way it could be done is by inserting a custom jsfx before and after the effect to be measured, which could expose a parameter that could be read by OSARA, similar to how the peak watcher works.
I do think something like this would be useful. Did you have an idea for how the UX would work for this?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
This is only documented in the changelog:
I wonder how widely supported that API is?
We could make an action to report the current gain reduction for the focused effect using that API fairly easily. The problem as always with new actions is where to put them on the keymap?
Ah, I knew about that API, but I incorrectly thought it was only for Cockos effects which I believe already expose gain reduction in the GUI in an accessible way. It we indeed be interesting to know how many other effects support that.
The forum thread that Nils linked to indicates it's supported by Waves VST3. Beyond that, I don't know. How much work would be involved in whipping up that action to start testing in situ Robbie? I think that's probably the only way to find out how useful it is. Doing the gruntwork first isn't something I'd usually consider, but given how useful gain reduction on demand would be, maybe this is an exception.
We could use the key hook to hard-code a shortcut which only works in the FX chain dialog, since this can only work for a focused effect anyway. The only problem with that is that it would be Windows only.
The only problem with that is that it would be Windows only.
Nils is on Mac. Also, I know of a bunch of other Mac users who would be extremely sad to miss out on this if it happens. Originally I wondered about getting it into Peak Watcher, but I don't think that's an option until we know how wide support is.
The problem with an action is that it won't do anything unless an FX chain dialog is open, since otherwise, an effect can't be focused (so we don't know which one the user wants to query). The same problem applies if we tried to do this in Peak Watcher. How does it know which effect to query? What if there are multiple effects on the track with gain reduction meters?
But FWIW, implementing this as an action above caveats notwithstanding) should be a 5 minute job or less.
Uh oh, yeah, that's a sticky wicket. Any mileage in doing this as a reascript that we could bundle with OSARA to get Mac support?
ReaScript wouldn't be any different to an OSARA action. It's probably just easiest to implement it as an OSARA action. I was just trying to avoid adding something else to the main key map which can only actually be used in the FX chain dialog, since it's a wasted key then at all other times. But I guess there just isn't a way to do that cross-platform.
It could be included in the Mac keymap, and be hard coded for the FX window on windows. I seem to remember that there are keys that can only be assigned on Mac anyway?
It could be included in the Mac keymap, and be hard coded for the FX window on windows.
That sounds like a good middle ground. Mac folk aren't as pushed for space on their key map because they have tons of spare space with Control as a modifier, so the extra keystroke not being context sensitive won't be a biggy for them IMO.
In that case, I'd suggest starting with the action unbound, letting people take it for a spin (binding as they wish) and evaluating its usefulness. If it does turn out to be super useful, we can do the extra work to bind it in the FX chain, since that is going to be a bit trickier and uglier than the action.
Makes sense yep. Now the million dollar question: who wants to implement it? :)
I'm experimenting with it, but reacomp doesn't seem to support this API. Apparently it is implemented by waves and brainworx compressors, and presumably presonus. I don't have any of those on this machine.
I have compressors from both here, happy to have you test stuff using my machine via NVDA remote if that would help?
Thanks @ScottChesworth but I have since found out that reacomp is indeed supposed to support this API, so I must be doing something wrong.
I found the problem, it was a typo. It does work with reacomp.
I have a few more questions about how this should work:
Ok, How would it work in general? It would be good to have the gainreduction for every plugin.
Von meinem iPhone gesendet
Am 14.12.2021 um 20:23 schrieb RDMurray @.***>:
I found the problem, it was a typo. It does work with reacomp.
I have a few more questions about how this should work:
Should we cache the focused effect so that it continues to work when the fx window is closed? If there isn't an effect focused, should we report gain reduction for the first supported effect on the last touched track? Ditto for the current item? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
* Should we cache the focused effect so that it continues to work when the fx window is closed?
I'd say yes, given that we're not using the key hook to restrict it to the FX window now.
* If there isn't an effect focused, should we report gain reduction for the first supported effect on the last touched track?
Can you report the name of the plug-in the reading is from after the dynamic content? EG, "-3 ReaComp"? Reporting the first supported effect on last touched track is excellent in terms of convenience, but I think it needs to be clear which plug-in is being reported if the user hasn't chosen that by manually focusing the effect.
* Ditto for the current item?
Yeah, I can't see any reason to treat take-based fx differently.
Thanks man, super excited to try this out when you're ready.
It would be good to have the gainreduction for every plugin.
Steady on soldier, we don't even know how widely supported this information is yet. Let's do some testing and go from there.
* Should we cache the focused effect so that it continues to work when the fx window is closed?
I'd say yes, given that we're not using the key hook to restrict it to the FX window now. It will be a bit more difficult to support caching current FX and last touched track/take at the same time. Not impossible, but it would mean adding code related to this action to other unrelated functions.
* If there isn't an effect focused, should we report gain reduction for the first supported effect on the last touched track?
Can you report the name of the plug-in the reading is from after the dynamic content? EG, "-3 ReaComp"? Reporting the first supported effect on last touched track is excellent in terms of convenience, but I think it needs to be clear which plug-in is being reported if the user hasn't chosen that by manually focusing the effect.
Yes, good idea.
Why would caching/last touched require code in other functions? If OSARA's focus or the cached track/take aren't equal, fall back to last touched track/take depending on focus.
The first effect as a fallback seems really arbitrary to me. Why not the last? Why do we think the first will always be the most useful? I get the "better than nothing argument", but I'm not sure if that's true here, since it will only serve in very specific circumstances and users might not understand why a given effect is being chosen even with the name reported. In addition, it adds complexity, which is fine if the benefit is clear, but I'm not yet convinced of that.
More clarification on my caching comment:
All of that said, how are you caching the last focused effect anyway? I don't see how that can be done in a cross-platform way.
The first effect as a fallback seems really arbitrary to me. Why not the last? Why do we think the first will always be the most useful?
Fair questions, turns out I don't have strong answers to any of those lol. Let's go with users focusing the effect that they want gain reduction for. That's gonna be the clearest UX.
On Mac, we can't detect when the focused effect changes, nor can we detect when the FX chain dialog closes.
Fiddlesticks! How hard would it be to build a window populated with fx instantiated on the currently selected track or item on Mac? I'm just spitballing here.
Sorry, should've been clearer. OSARA action runs, displays a list of FX that are instantiated on the currently selected track or item, user chooses which of those they want gain reduction feedback for.
Yes, we could think of a Peak Watcher type window ...
I really like the idea; since James loves to make gui in C ++!
😅
Sorry, I haven't checked this thread for a few hours.
To cache the last focused FX, I was just planning to store the outputs from GetFocusedFX in static variables.
Doesn't GetFocusedFX work on Mac?
The first effect as a fallback seems really arbitrary to me. Why not the last? Why do we think the first will always be the most useful?
The idea behind the option of selecting the first supported FX on the track/take was to speed up the case where you have one compressor on a track and want to check the gain reduction quickly.
If it is sometimes the last focused effect, and at other times changes based on focus it could be unclear to the user exactly when it will change. I think that always using the last focused FX would be the most consistent UX.
It would be clearer if the effect is always selected explicitly, and would allow for things like checking a compressor on a folder while adjusting levels of individual tracks
To cache the last focused FX, I was just planning to store the outputs from GetFocusedFX in static variables.
Sure... but when? I guess we could do this only in the action itself, but that would require you to run the action while the FX chain was open in order for it to cache the last effect. Is that intuitive, though?
Doesn't GetFocusedFX work on Mac?
It does. I assumed you meant cache the last focused effect regardless of whether the action was run. That would require detecting when the focused FX changed or when the FX chain closed, which can't be done on Mac.
ah yes, I didn't think of that. It does require running the action when the effect is focused. Like you say, there is no cross platform way to detect the last focused effect otherwise. I still think it is useful to be able to read the gain reduction when the FX window is closed.
Would this be okay if it is clearly documented? Having subtly different behaviour on Windows and Mac would probably be more unintuitive.
I think it's useful too, but I worry users will be confused by the current behaviour. For example, they might do the following:
What they'll get at this point is the gain reduction for 1), not 4) as they might expect.
We can fix that on Windows, but not on Mac. Did I mention how much I hate having to support Mac?
Did I mention how much I hate having to support Mac?
Oh no, I've already wrapped up a Big Mac with extra cheese and posted it to Australia as a Christmas prezzie. Thought it was your favourite. Bit awkward.
I’ll take it
Sent from my iPhone
On 15 Dec 2021, at 2:37 pm, ScottChesworth @.***> wrote:
Did I mention how much I hate having to support Mac?
Oh no, I've already wrapped up a Big Mac with extra cheese and posted it to Australia as a Christmas prezzie. Thought it was your favourite. Bit awkward.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.
I've sent you a flat white (and a note explaining that it's just a coffee, not a gig review)
It would be great to have a Kind of Gainreduction Meter for Compressors and other dynamic tools, especially for less experienced users or people who can not see the Meters in Plugins.