Old 11-16-2022, 07:13 AM   #1
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,320
Default v6.70+dev1116 - November 16 2022

v6.70+dev1116 - November 16 2022
  • * Includes feature branch: razor edits on master track envelopes
  • * Includes feature branch: selected media item appearance changes
  • * Includes feature branch: track grouping manager dialog
  • * Includes feature branch: CLAP plugin support
  • * Includes feature branch: track media/razor edit grouping
  • * Includes feature branch: improve experimental silent-track CPU reduction option to include FX tail length
  • * Includes feature branch: media item fixed lanes
  • * Includes feature branch: internal pin management overhaul for future extension
  • + JSFX: support log-scaled sliders for controls, specify :log or :log=offset after step size
  • + Localization: support localizing layout category names [p=2599980]
  • + Localization: support localizing wiring diagram labels [p=2599980]
  • + Localization: support longer action names in action dialog/custom actions editor
  • + Media items: arrange overlapping items by the order the items were added to the track [p=2613674]
  • + Metadata: fix possible mislabeling of generic metadata in source properties dialog and media explorer
  • + Render: support rendering BW64 files
  • + WAV: support importing BW64 files (ADM metadata is ignored)
  • # ReaScript: change get_action_context() runcontext to contextstr
  • # ReaScript: mark FX dirty when using TrackFX_GetNamedConfigParm param.X etc [t=272617]
  • # ReaScript: update get_action_context lua docs
This thread is for pre-release features discussion. Use the Feature Requests forum for other requests.

Changelog - Pre-Releases

Generated by X-Raym's REAPER ChangeLog to BBCode
vitalker is online now   Reply With Quote
Old 11-16-2022, 07:17 AM   #2
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 784
Default

Quote:
Originally Posted by vitalker View Post
v6.70+dev1116 - November 16 2022
  • + JSFX: support log-scaled sliders for controls, specify :log or :log=offset after step size
Very good cool! This is a very useful feature.

Last edited by cool; 11-16-2022 at 07:58 AM.
cool is offline   Reply With Quote
Old 11-16-2022, 07:18 AM   #3
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,320
Default

Quote:
Originally Posted by cool View Post
Very good! This is a very useful feature.
No, you should say "cool".
vitalker is online now   Reply With Quote
Old 11-16-2022, 07:20 AM   #4
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,320
Default

Quote:
Originally Posted by vitalker View Post
[*]# ReaScript: mark FX dirty when using TrackFX_GetNamedConfigParm param.X etc [t=272617]
Shouldn't it be for TrackFX_SetNamedConfigParm?
vitalker is online now   Reply With Quote
Old 11-16-2022, 07:59 AM   #5
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 784
Default

Quote:
Originally Posted by vitalker View Post
No, you should say "cool".
Fixed
cool is offline   Reply With Quote
Old 11-16-2022, 11:59 AM   #6
tohubohu
Human being with feelings
 
Join Date: Sep 2019
Location: france
Posts: 2,127
Default

Quote:
Originally Posted by vitalker View Post
v6.70+dev1116 - November 16 2022[*]+ JSFX: support log-scaled sliders for controls, specify :log or :log=offset after step size
does this mean that it would now be possible, for example, to design a JS volume on a logarithmic scale?
tohubohu is offline   Reply With Quote
Old 11-16-2022, 01:32 PM   #7
mawi
Human being with feelings
 
Join Date: Apr 2011
Location: Germany
Posts: 1,142
Default

Quote:
+ JSFX: support log-scaled sliders for controls, specify :log or :log=offset after step size
Haha, works great! It would be very nice if the scaling is also applied to envelope automations and parameter modulations. Thanks!
mawi is offline   Reply With Quote
Old 11-16-2022, 01:59 PM   #8
tohubohu
Human being with feelings
 
Join Date: Sep 2019
Location: france
Posts: 2,127
Default

Quote:
Originally Posted by vitalker View Post
v6.70+dev1116 - November 16 2022[*]+ Localization: support localizing layout category names [p=2599980]
[*]+ Localization: support localizing wiring diagram labels [p=2599980]
I can't check until the next version...

Quote:
Originally Posted by vitalker View Post
v6.70+dev1116 - November 16 2022[*]+ Localization: support longer action names in action dialog/custom actions editor
that works. thank you
tohubohu is offline   Reply With Quote
Old 11-16-2022, 02:30 PM   #9
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,752
Default

Quote:
Originally Posted by vitalker View Post
[*]+ JSFX: support log-scaled sliders for controls, specify :log or :log=offset after step size
Amazing, thanks!

Quote:
Originally Posted by mawi View Post
It would be very nice if the scaling is also applied to envelope automations and parameter modulations.
Agree, that's actually a very important point!
Phazma is online now   Reply With Quote
Old 11-16-2022, 02:33 PM   #10
mawi
Human being with feelings
 
Join Date: Apr 2011
Location: Germany
Posts: 1,142
Default

Quote:
Agree, that's actually a very important point!
That's right! I have still forgotten the FX parameters in the TCP and MCP. There the scaling should be taken over also.
mawi is offline   Reply With Quote
Old 11-17-2022, 03:21 AM   #11
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,579
Default

Quote:
  • + JSFX: support log-scaled sliders for controls, specify :log or :log=offset after step size
Nice, but while playing with this I noticed that this way we only shift the midway point to the right, but not to the left (unless I'm missing something). Now, I couldn't quickly reverse-engineer the exact formula used here, but if you use f(x) = (exp(a*x) - 1) / (exp(a) - 1), then you can have both concave up and down curves.

Here is a little JSFX plug that demonstrates what I mean:

Code:
desc:Log scale slider test

slider1:x=0.5<0,1,0.0001>x
slider2:y1=0.5<0,1,0.0001:log>y1
slider3:y2=0.5<0,1,0.0001>y2
slider4:a=0.7<-10,10,0.0001>a

@slider

y1 = x;
y2 = a != 0 ? log((exp(a) - 1)*x + 1) / a : x;
Just move the x slider, and the y1 slider will move with :log, but y2 will move according to the value of a, where a < 0 will shift the midway point to the left, and a > 0 will shift it to the right. A value of a = 0.7 gives you more or less the same curve as :log.
Tale is offline   Reply With Quote
Old 11-17-2022, 06:06 AM   #12
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,344
Default

Quote:
Originally Posted by Tale View Post
Nice, but while playing with this I noticed that this way we only shift the midway point to the right, but not to the left (unless I'm missing something). Now, I couldn't quickly reverse-engineer the exact formula used here, but if you use f(x) = (exp(a*x) - 1) / (exp(a) - 1), then you can have both concave up and down curves.
What's a use case for the other shape?

The advantage of plain log()/exp() is that when we expose these as parameters for automation, they can exist in a non-normalized range, so e.g. if you increase the range of a JSFX parameter, those values will remain mapped to the correct values. Though perhaps we can do the same for these.

Last edited by Justin; 11-17-2022 at 06:17 AM.
Justin is offline   Reply With Quote
Old 11-17-2022, 06:34 AM   #13
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,579
Default

Quote:
Originally Posted by Justin View Post
What's a use case for the other shape?
Mostly volume sliders, e.g. if the slider goes from e.g. -60 to 0 dB, then you might want more resolution near 0 instead of -60.

Quote:
Originally Posted by Justin View Post
The advantage of plain log()/exp() is that when we expose these as parameters for automation, they can exist in a non-normalized range, so e.g. if you increase the range of a JSFX parameter, those values will remain mapped to the correct values. Though perhaps we can do the same for these.
I was assuming you would convert to normalized first, then apply the curve, and then go back to non-normalized. But yeah, then extending the range could be problematic.
Tale is offline   Reply With Quote
Old 11-17-2022, 06:46 AM   #14
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,344
Default

Perhaps we should add a volume-fader scaling mode too then (since that wouldn't be a log curve anyway).

Or a fader that is 0..1, and a separate dB readout

Hmm given it is EEL, we could allow the user to specify some code to convert to/from fader/envelope scaling...

Last edited by Justin; 11-17-2022 at 07:07 AM.
Justin is offline   Reply With Quote
Old 11-17-2022, 07:51 AM   #15
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,752
Default

Quote:
Originally Posted by Justin View Post
Perhaps we should add a volume-fader scaling mode too then (since that wouldn't be a log curve anyway).

Or a fader that is 0..1, and a separate dB readout
If we could have volume faders in jsfx that behave like volume faders in the mixer (in terms of scaling/resolution and range, ideally going down to -inf/silence) that would be super awesome! Probably a ton of jsfx would get updates.


Quote:
Originally Posted by Justin View Post
Hmm given it is EEL, we could allow the user to specify some code to convert to/from fader/envelope scaling...
Wouldn’t it be simpler to just automatically switch the envelope to respond the same way as the fader (whether that’s linear, logarithmic, volume mode or whatever..)? I can’t think of cases where a mismatch between fader and envelope response would be desirable.
Phazma is online now   Reply With Quote
Old 11-17-2022, 08:03 AM   #16
tohubohu
Human being with feelings
 
Join Date: Sep 2019
Location: france
Posts: 2,127
Default

Quote:
Originally Posted by Phazma View Post
If we could have volume faders in jsfx that behave like volume faders in the mixer (in terms of scaling/resolution and range, ideally going down to -inf/silence) that would be super awesome! Probably a ton of jsfx would get updates.
.
+1
tohubohu is offline   Reply With Quote
Old 11-17-2022, 08:29 AM   #17
mawi
Human being with feelings
 
Join Date: Apr 2011
Location: Germany
Posts: 1,142
Default

Quote:
If we could have volume faders in jsfx that behave like volume faders in the mixer (in terms of scaling/resolution and range, ideally going down to -inf/silence) that would be super awesome! Probably a ton of jsfx would get updates.
+1

Quote:
Wouldn’t it be simpler to just automatically switch the envelope to respond the same way as the fader (whether that’s linear, logarithmic, volume mode or whatever..)? I can’t think of cases where a mismatch between fader and envelope response would be desirable.
+1 I also think that the envelope should have the same scaling as the jsfx slider (linear, logarithmic, exponential, volume etc.). Maybe you could still define a zoom range in the envelope panel to get even more resolution in a certain scaling range.

Edit:
Also the normal included Reaper plugins (ReaComp, ReaEQ etc.) have partly non-linear sliders (attack, release, frequency etc.), which are linearly controlled in track controls, track envelopes, parameter modulations. This would also need to be adjusted.

Last edited by mawi; 11-17-2022 at 12:17 PM.
mawi is offline   Reply With Quote
Old 11-17-2022, 09:31 AM   #18
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,344
Default

hmm simple pow() scaling might be good enough for volume faders, and a lot of other controls. Going to add :log and :sqr (optionally :sqr=4 for 4th power) as separate modes, I think
Justin is offline   Reply With Quote
Old 11-17-2022, 09:39 AM   #19
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
Default

Quote:
Originally Posted by vitalker View Post
+ JSFX: support log-scaled sliders for controls, specify :log or :log=offset after step size
Cool! I assume changing existing sliders to use this won't break any saved projects?
IXix is offline   Reply With Quote
Old 11-17-2022, 11:37 AM   #20
mabian
Moderator
 
mabian's Avatar
 
Join Date: Aug 2007
Location: Italy
Posts: 4,302
Default

Quote:
Originally Posted by mawi View Post
Haha, works great! It would be very nice if the scaling is also applied to envelope automations and parameter modulations. Thanks!
Check this out

https://forum.cockos.com/showthread.php?t=251684

- Mario
__________________
Instagram: @mabian_art - Twitter:: @MabianArt
Music: https://www.reverbnation.com/errepici - https://www.facebook.com/errepici
mabian is offline   Reply With Quote
Old 11-17-2022, 11:43 AM   #21
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,344
Default

Quote:
Originally Posted by IXix View Post
Cool! I assume changing existing sliders to use this won't break any saved projects?
If you are modifying an existing effect, you should use :log! which will keep it linearly-exported for envelopes/etc. for new FX (or new parameters) you can use :log without the ! which will use log scaling for envelopes.
Justin is offline   Reply With Quote
Old 11-17-2022, 12:20 PM   #22
mawi
Human being with feelings
 
Join Date: Apr 2011
Location: Germany
Posts: 1,142
Default

Quote:
Originally Posted by mabian View Post
Great idea, I will check this out! Thanks!
mawi is offline   Reply With Quote
Old 11-17-2022, 08:16 PM   #23
wol
Human being with feelings
 
Join Date: Oct 2013
Posts: 91
Default

Quote:
Originally Posted by vitalker View Post
v6.70+dev1116 - November 16 2022
  • # ReaScript: change get_action_context() runcontext to contextstr
  • # ReaScript: update get_action_context lua docs
Really we can get the shortcut that triggered the action now?
wol is offline   Reply With Quote
Old 11-18-2022, 09:10 AM   #24
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
Default

Quote:
Originally Posted by Justin View Post
If you are modifying an existing effect, you should use :log! which will keep it linearly-exported for envelopes/etc. for new FX (or new parameters) you can use :log without the ! which will use log scaling for envelopes.
Thanks Justin, good to know.
IXix is offline   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 02:24 AM.


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