Old 06-03-2021, 01:14 PM   #1
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default v6.29+dev0603 - June 3 2021

v6.29+dev0603 - June 3 2021
  • * Includes feature branch: render normalization
  • * Includes feature branch: MIDI editor note reordering
  • * Includes feature branch: media item lanes
  • * Includes feature branch: EEL2 x86_64/SSE
  • * Includes feature branch: VST3 bridging
  • + Actions: add action to calculate loudness of selected tracks within time selection via dry run render
  • + ReaScript: support getting/setting render normalization mode and target
  • + Render: add preference to calculate true peak on render when not normalizing to it
  • + VST3: add IPlugInterfaceSupport, for plugins to request compatibility features
  • + VST3: add support for IMidiLearn interface
  • + VST3: avoid threading conflicts when processing expression and keyswitch information
  • + VST3: internal threading changes to MIDI controller and program change handling
  • # Batch converter: fix button positioning when window is resized
  • # Convert: fix normalization for source files that do not have an embedded source start time [p=2450739]
  • # MIDI editor: fix keyboard drawing glitches around top of view [p=2450683]
  • # MIDI note ordering: fix ordering issue after undo [p=2449996]
  • # MIDI note ordering: give more visual feedback about selected note [p=2450000]
  • # Rendering: fix denormal issues with silence [p=2450456]
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 offline   Reply With Quote
Old 06-03-2021, 01:23 PM   #2
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Quote:
Originally Posted by vitalker View Post
[*]+ ReaScript: support getting/setting render normalization mode and target
Yeah! Thank you!
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 06-03-2021, 01:50 PM   #3
Triode
Human being with feelings
 
Triode's Avatar
 
Join Date: Jan 2012
Posts: 1,180
Default

With all these normalisation and true peak functions is there a way of bouncing a mix directly from a 48k session and converting to 44.1k while ensuring no inter sample overs?
__________________
Mixing / Brush and Beater Drums Online: www.outoftheboxsounds.com
Triode is offline   Reply With Quote
Old 06-03-2021, 02:56 PM   #4
ovnis
Human being with feelings
 
ovnis's Avatar
 
Join Date: Oct 2011
Posts: 2,924
Default

"# MIDI editor: fix keyboard drawing glitches around top of view [p=2450683]"
Thx. It works!
ovnis is offline   Reply With Quote
Old 06-03-2021, 03:08 PM   #5
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by vitalker View Post
+ Actions: add action to calculate loudness of selected tracks within time selection via dry run render
+ ReaScript: support getting/setting render normalization mode and target
Thanks for these! I guess now we really have all LUFS calculation actions we could possibly need. Maybe (for the sake of completion) calculating loudness on master with/without time selection could be convenient to have as actions too..? But It's not really that important as it can easily be done with a dry-run render (or as a script).

Quote:
Originally Posted by vitalker View Post
+ Render: add preference to calculate true peak on render when not normalizing to it
Nice! Maybe we can also have a preference to hide RMS-I when not normalizing to it? Less unnecessary numbers mean less visual clutter and I believe in the LUFS-era most people don't need to see RMS-I anyway?

Quote:
Originally Posted by vitalker View Post
# Batch converter: fix button positioning when window is resized
# Convert: fix normalization for source files that do not have an embedded source start time [p=2450739]
# MIDI editor: fix keyboard drawing glitches around top of view [p=2450683]
Thanks! I can confirm that all three bugs are fixed now.
Phazma is offline   Reply With Quote
Old 06-03-2021, 03:31 PM   #6
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Quote:
Originally Posted by Phazma View Post
Maybe (for the sake of completion) calculating loudness on master with/without time selection could be convenient to have as actions too..? But It's not really that important as it can easily be done with a dry-run render (or as a script).
Agreed it's actually not that important, but as a sidenote, I intuitively expected that it already works with the 'calculate loudness of selected tracks [within time selection] via dry run render' action when having only the master track selected (I mean by the wording of it it should, right?) but it doesn't.
nofish is offline   Reply With Quote
Old 06-03-2021, 03:34 PM   #7
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,750
Default

Quote:
Originally Posted by Phazma View Post
Nice! Maybe we can also have a preference to hide RMS-I when not normalizing to it? Less unnecessary numbers mean less visual clutter and I believe in the LUFS-era most people don't need to see RMS-I anyway?
We added an option to not calculate true peak if not normalizing to it because that's the only calculation that has any meaningful CPU cost. The other calculations are much cheaper.
schwa is offline   Reply With Quote
Old 06-03-2021, 03:37 PM   #8
chmaha
Human being with feelings
 
chmaha's Avatar
 
Join Date: Feb 2021
Posts: 2,261
Default

Quote:
Originally Posted by Phazma View Post
Maybe we can also have a preference to hide RMS-I when not normalizing to it? Less unnecessary numbers mean less visual clutter and I believe in the LUFS-era most people don't need to see RMS-I anyway?
+1...RMS-I result should probably not be shown by default in the age of LUFS. Also please consider adding LUFS-M and LUFS-S as options for render targets.
chmaha is offline   Reply With Quote
Old 06-03-2021, 03:40 PM   #9
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by nofish View Post
Agreed it's actually not that important, but as a sidenote, I intuitively expected that it already works with the 'calculate loudness of selected tracks [within time selection] via dry run render' action when having only the master track selected (I mean by the wording of it it should, right?) but it doesn't.
Funny, I actually tried that too and after it didn't work I made the suggestion here. Perhaps separate actions would make it easier to identify (and not dependant on track selection) but just expanding the functionality of the already existing actions would be perfectly fine too.
Phazma is offline   Reply With Quote
Old 06-03-2021, 04:01 PM   #10
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by schwa View Post
We added an option to not calculate true peak if not normalizing to it because that's the only calculation that has any meaningful CPU cost. The other calculations are much cheaper.
Thanks for the info, was a very good idea indeed to save some CPU that way.
My suggestion was not about the CPU cost but more about reducing visually distracting information when it is not needed. But I can understand it, if this is not enough of a reason to fill the precious preferences space with an extra option.
Phazma is offline   Reply With Quote
Old 06-03-2021, 05:19 PM   #11
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,990
Default

Hi devs, I'm still getting lost note orders when gluing items with BFD3. Here are my steps:

1. MIDI Editor open and docked (one per project). 2. Insert an empty item. 3. Create a simple 4 note closed hat pattern. 4. Rearrange the drum notes to sort the hat articulations together. 5. Duplicate items. 6. Glue.






Undo restores the prior note order.
Funkybot is offline   Reply With Quote
Old 06-03-2021, 05:28 PM   #12
citizenkeith
Human being with feelings
 
Join Date: Jun 2014
Location: Ohio
Posts: 978
Default

Is there a chance that some of these normalization additions can be added to Consolidate/Export?
citizenkeith is online now   Reply With Quote
Old 06-03-2021, 05:49 PM   #13
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: Southern Vermont
Posts: 864
Default

Quote:
Originally Posted by vitalker View Post
[*]+ ReaScript: support getting/setting render normalization mode and target
Could we add an option in the API to get the normalization result of a render (whether increase or decrease in decibels), so that scripts could be made to automate batch normalization?
__________________

Support my feature request!
Dafarkias is offline   Reply With Quote
Old 06-03-2021, 06:45 PM   #14
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Quote:
Originally Posted by Dafarkias View Post
Could we add an option in the API to get the normalization result of a render (whether increase or decrease in decibels), so that scripts could be made to automate batch normalization?
+1 from me.

Edit: and a way to automatically close the window after analysis has been finished, so it can be fully automatized.
Currently the window must be closed by hand unlike with normal renders, where closing automatically after the fact is possible.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...

Last edited by Meo-Ada Mespotine; 06-04-2021 at 05:16 AM.
Meo-Ada Mespotine is offline   Reply With Quote
Old 06-04-2021, 04:23 AM   #15
MrTsonts
Human being with feelings
 
MrTsonts's Avatar
 
Join Date: Apr 2019
Location: Ukraine, Kyiv
Posts: 173
Default

Quote:
Originally Posted by Dafarkias View Post
Could we add an option in the API to get the normalization result of a render (whether increase or decrease in decibels), so that scripts could be made to automate batch normalization?
+1

And on/off "Save copy of project to outfile.wav.RPP"
MrTsonts is offline   Reply With Quote
Old 06-04-2021, 04:58 AM   #16
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Posts: 3,669
Default

Quote:
# MIDI note ordering: give more visual feedback about selected note [p=2450000]
looks great, thank you!
__________________
mccrabney scripts: MIDI edits from the Arrange screen ala jjos/MPC sequencer
|sis - - - anacru| isn't what we performed: pls no extra noteons in loop recording
| - - - - - anacru|sis <==this is what we actually performed.
mccrabney is offline   Reply With Quote
Old 06-04-2021, 08:08 AM   #17
lb0
Human being with feelings
 
Join Date: Apr 2014
Posts: 4,171
Default

I'm having an issue with GetParam/SetParam API and JSFX.

This is a very recent issue - but not exactly sure when it cropped up.

It seems GetParam/SetParam are affecting the wrong sliders within the JSFX.

So I'm trying to toggle the value of a slider in a JSFX from 0 to 1 or 1 to 0. The slider I'm wanting to change is slider 48. Therefore I use a param index of 47 in the API calls (as they're zero based). I'm finding slider 49 changing - not slider 48... ??!!

Quick gif showing the issue:



I've not yet tested outside of this example...
__________________
Projects - Reascripts - Lua:
Smart Knobs 2 | LBX Stripper | LBX Floating FX Positioner
Donate via Paypal | LBX Tools Website
lb0 is offline   Reply With Quote
Old 06-04-2021, 08:15 AM   #18
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,750
Default

Are any of the sliders unnamed or hidden? I think those will get skipped when counting to 47.
schwa is offline   Reply With Quote
Old 06-04-2021, 08:20 AM   #19
lb0
Human being with feelings
 
Join Date: Apr 2014
Posts: 4,171
Default

Quote:
Originally Posted by schwa View Post
Are any of the sliders unnamed or hidden? I think those will get skipped when counting to 47.
Yes - they're all hidden. What do you mean skipped?

Version 529 was working perfectly. versions since then have exhibited this behaviour (I believe).
__________________
Projects - Reascripts - Lua:
Smart Knobs 2 | LBX Stripper | LBX Floating FX Positioner
Donate via Paypal | LBX Tools Website
lb0 is offline   Reply With Quote
Old 06-04-2021, 08:29 AM   #20
Funkybot
Human being with feelings
 
Funkybot's Avatar
 
Join Date: Jul 2007
Location: New Joisey
Posts: 5,990
Default

Regarding my MIDI Note Name Order being lost after Glue bug: BFD3 is one of those plugins that reports note names to the host. If I update the keymap in BFD3, it gets written back to Reaper in near-realtime.

Is it possible that some events in Reaper [like a Glue] are causing BFD3 and similar plugins to resend the note name+order, which is overwriting the user's custom order? If that were the case, that could explain why the order gets lost so easily and hopefully there'd be a way to maintain the order.
Funkybot is offline   Reply With Quote
Old 06-04-2021, 08:33 AM   #21
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,750
Default

Quote:
Originally Posted by lb0 View Post
Yes - they're all hidden. What do you mean skipped?

Version 529 was working perfectly. versions since then have exhibited this behaviour (I believe).
Do the sliders all have names? Looking at the code, when deciding what the 48th jsfx parameter is, REAPER counts only sliders that have names. That's longstanding behavior.
schwa is offline   Reply With Quote
Old 06-04-2021, 08:41 AM   #22
lb0
Human being with feelings
 
Join Date: Apr 2014
Posts: 4,171
Default

Quote:
Originally Posted by schwa View Post
Do the sliders all have names? Looking at the code, when deciding what the 48th jsfx parameter is, REAPER counts only sliders that have names. That's longstanding behavior.
Thanks - one (slider2) did not have a name (just hidden)! However - I don't think this exact behaviour is that longstanding - because everything worked up until a week ago (although I've only just had the issue brought to my attention).

I shall give names to all parameters - whether used/unused... But there definitely has been a change regarding this in 530 - so this could potentially break lots of scripts that use JSFX's like I do (as utility plugins - which require no user interaction and are controlled entirely by other scripts)...
__________________
Projects - Reascripts - Lua:
Smart Knobs 2 | LBX Stripper | LBX Floating FX Positioner
Donate via Paypal | LBX Tools Website
lb0 is offline   Reply With Quote
Old 06-04-2021, 08:44 AM   #23
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,750
Default

Ah, yes, I think there was a change in +dev0530. Previously unnamed hidden sliders would be included in the parameter count, now they are skipped. Honestly it's not very consistent to skip unnamed unhidden sliders and include unnamed hidden sliders, but we can preserve the old behavior.
schwa is offline   Reply With Quote
Old 06-04-2021, 08:55 AM   #24
lb0
Human being with feelings
 
Join Date: Apr 2014
Posts: 4,171
Default

Quote:
Originally Posted by schwa View Post
Ah, yes, I think there was a change in +dev0530. Previously unnamed hidden sliders would be included in the parameter count, now they are skipped. Honestly it's not very consistent to skip unnamed unhidden sliders and include unnamed hidden sliders, but we can preserve the old behavior.
Thank you. I've fixed it my end to the new behaviour - and have now named the unused/unnamed slider (although it was set up in the slider list despite being unused and unnamed).

It was only that single slider that caught me out. If you'd rather keep it consistent - that's up to you - and I have now fixed my code.

But my worry is this may affect other people (or maybe I'm just weird and the only person doing things this way) lol. But it seems it might have been an unusual edge case that I triggered.

Strangely - elsewhere in my other JSFX's - all unused hidden sliders have been named 'skip' - so I wasn't very consistent either.
__________________
Projects - Reascripts - Lua:
Smart Knobs 2 | LBX Stripper | LBX Floating FX Positioner
Donate via Paypal | LBX Tools Website

Last edited by lb0; 06-04-2021 at 09:01 AM.
lb0 is offline   Reply With Quote
Old 06-05-2021, 05:10 AM   #25
n997
Human being with feelings
 
Join Date: Dec 2018
Posts: 503
Default

Quote:
# MIDI editor: fix keyboard drawing glitches around top of view [p=2450683]
Thanks, appears to be fixed on my system as well.



Also, thanks for the Normalize feature!
A few weeks ago I was thinking of how useful that would be in REAPER, especially in batch runs, and now it's there.
Sometimes it seems like you are reading users' minds
n997 is offline   Reply With Quote
Old 06-05-2021, 07:31 AM   #26
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Funkybot View Post
Hi devs, I'm still getting lost note orders when gluing items with BFD3. Here are my steps:

1. MIDI Editor open and docked (one per project). 2. Insert an empty item. 3. Create a simple 4 note closed hat pattern. 4. Rearrange the drum notes to sort the hat articulations together. 5. Duplicate items. 6. Glue.






Undo restores the prior note order.
Ah yes, you can get the custom note ordering back by going to view->show/hide note rows->custom note order. Fixing that change so that it preserves when glueing.
Justin 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 10:53 PM.


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