Old 07-31-2024, 06:58 PM   #1
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 4,029
Default v7.19+dev0731 - July 31 2024

v7.19+dev0731 - July 31 2024
* Includes feature branch: FX automation overhaul
* Includes branch: internal buffering/antfx modernizations
* Includes branch: internal cleanups
* Includes feature branch: 128 track groups
* Includes feature branch: more combinations of peak display modes
* Includes feature branch: RGB profile tweak
* Includes feature branch: additional localization options
* Includes feature branch: extended ASCII encoding for .wav file text metadata
+ API: improve undo-dirty tagging of various item/take APIs
+ ARA: do not seek to loop start when setting loop points from ARA plugins
+ Automation: increase UI processing rates
+ Control surfaces: increase input reading rate [t=231630]
+ Lanes: when track has only one lane and it is not already playing, do not automatically set that lane playing after edits [t=293259]
+ Metronome/click: fix mouse behavior in click pattern editor with retina monitors and high time signatures
+ Render: show project regions in render peaks display
+ Tempo envelope: fix possible bad click pattern created when pencil-drawing tempo envelope points
+ Video: automatically refresh video processors that use input_get_name() when a track/take name changes [t=293212]
+ Video: fix loading presets via ReaScript when UI is hidden [t=293212]
# Render: improve behavior when creating time selection and mouse moves outside the window
# Tempo/time signature: fix inserting tempo change immediately before a time signature change [p=2799205]

Full Changelog - Pre-Releases - Feature Requests - Generated by WhatsNew2
Edgemeal is offline   Reply With Quote
Old 07-31-2024, 11:28 PM   #2
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,255
Default

Render: show project regions in render peaks display

Thanks!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 08-01-2024, 01:26 AM   #3
mozart999uk
Human being with feelings
 
Join Date: Nov 2010
Posts: 1,848
Default

Whilst you're doing work on rendering and the window, do you think it might be possible to address this?

https://forum.cockos.com/showthread.php?t=258279
mozart999uk is offline   Reply With Quote
Old 08-01-2024, 01:44 AM   #4
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
Default

OSC timer issue is still a thing with this build
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is online now   Reply With Quote
Old 08-01-2024, 02:40 AM   #5
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,262
Default

Quote:
Originally Posted by Edgemeal View Post
v7.19+dev0731 - July 31 2024

+ Video: automatically refresh video processors that use input_get_name() when a track/take name changes [t=293212]

+ Video: fix loading presets via ReaScript when UI is hidden [t=293212]

The second issue is fixed, thank you.

There's no improvement in the first unfortunately (the animation below).

What i tried as a workaround before this dev release was creation of new items in real time and copying to them an instance of the Video processor sitting in another track specifically for this purpose OR having an item with the Video processor set up located elsewhere and pasting its copies to the markers which are crossed by the playhead OR alternating bypass of two Video proc instances in the same take FX chain. These didn't work.

What works 100% is having separate items with Video processor instances inserted and different take names at key points ready, which is basically a static setup and which leads me to believe that the Video processor or the input_get_name() function processes content in advance and is unable to react to changes which haven't been pre-processed. Is this a more or less accurate understanding?


Last edited by Buy One; 08-01-2024 at 03:49 AM.
Buy One is online now   Reply With Quote
Old 08-01-2024, 06:22 AM   #6
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 16,006
Default

Quote:
Originally Posted by _Stevie_ View Post
OSC timer issue is still a thing with this build

Was it fixed in 0729?
Justin is offline   Reply With Quote
Old 08-01-2024, 06:23 AM   #7
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 16,006
Default

Quote:
Originally Posted by Buy One View Post
the Video processor or the input_get_name() function processes content in advance and is unable to react to changes which haven't been pre-processed. Is this a more or less accurate understanding?
That is correct, though the current builds detect changes in input names and tries to make sure those frames get re-rendered ASAP, but it still takes time.
Justin is offline   Reply With Quote
Old 08-01-2024, 06:36 AM   #8
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
Default

Quote:
Originally Posted by Justin View Post
Was it fixed in 0729?
It was not entirely, but only for (empty!) tracks.
Now, when there are more than 8-10 items in a project, the OSC timer slows down at the moment the cursor crosses those items.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom

Last edited by _Stevie_; 08-01-2024 at 06:42 AM.
_Stevie_ is online now   Reply With Quote
Old 08-01-2024, 07:24 AM   #9
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 16,006
Default

Quote:
Originally Posted by _Stevie_ View Post
It was not entirely, but only for (empty!) tracks.
Now, when there are more than 8-10 items in a project, the OSC timer slows down at the moment the cursor crosses those items.

Hmm can't duplicate that, can you post a .rpp that duplicates it (ideally with media, if any is required -- if MIDI items are sufficient that would be ideal)
Justin is offline   Reply With Quote
Old 08-01-2024, 07:37 AM   #10
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,262
Default

Quote:
Originally Posted by Justin View Post
That is correct, though the current builds detect changes in input names and tries to make sure those frames get re-rendered ASAP, but it still takes time.
OK, i guess no cigar then
Buy One is online now   Reply With Quote
Old 08-01-2024, 07:39 AM   #11
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 16,006
Default

Quote:
Originally Posted by Buy One View Post
OK, i guess no cigar then

If the change in behavior (catching changes to those names while stopped, etc) is a meaningful improvement for you let me know. Otherwise it's extra overhead that might be best avoided.
Justin is offline   Reply With Quote
Old 08-01-2024, 07:58 AM   #12
Buy One
Human being with feelings
 
Buy One's Avatar
 
Join Date: Sep 2019
Posts: 1,262
Default

Quote:
Originally Posted by Justin View Post
If the change in behavior (catching changes to those names while stopped, etc) is a meaningful improvement for you let me know. Otherwise it's extra overhead that might be best avoided.
Unfortunately it's not. And while stopped the immediate update isn't necessary, it's only in play mode that the change must occur at specific moments to accurately reflect time stamps defined by the user. So no need to include the changes in the official release. Appreciate the consideration and willingness to address this.
Buy One is online now   Reply With Quote
Old 08-01-2024, 08:00 AM   #13
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
Default

Quote:
Originally Posted by Justin View Post
Hmm can't duplicate that, can you post a .rpp that duplicates it (ideally with media, if any is required -- if MIDI items are sufficient that would be ideal)
I'm sending you a video and the .rpp via mail!
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is online now   Reply With Quote
Old 08-01-2024, 08:17 AM   #14
ferropop
Human being with feelings
 
ferropop's Avatar
 
Join Date: Jan 2016
Location: Los Angeles, CA
Posts: 3,256
Default

Not sure if it's related to the video processor, but the first frame on ffmpeg exports is always completely blank. Social media sites generally use frame 1 as the default thumbnail, and any video exported out of Reaper ends up with a black frame as the thumbnail as a result of this.
__________________
FERRO
Songs I've Written/Produced : https://t.ly/OtOM-
Instagram : http://www.instagram.com/ferropop
ferropop is offline   Reply With Quote
Old 08-01-2024, 09:28 AM   #15
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 16,006
Default

Quote:
Originally Posted by ferropop View Post
Not sure if it's related to the video processor, but the first frame on ffmpeg exports is always completely blank. Social media sites generally use frame 1 as the default thumbnail, and any video exported out of Reaper ends up with a black frame as the thumbnail as a result of this.

Just tested here and it generates a correct first frame, so:


What ffmpeg version? Does it do it if you use MJPEG as a codec rather than H264? Can you provide a minimal test project with media to reproduce?
Justin is offline   Reply With Quote
Old 08-01-2024, 09:36 AM   #16
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 16,006
Default

Quote:
Originally Posted by _Stevie_ View Post
I'm sending you a video and the .rpp via mail!

Received, thank you.


Using your .rpp (without the FX, though), and reaper.ini, on Windows 11, can't reproduce at all using 0731. Hmph. I'm using the default left/right-key actions to move the cursor.

First - try it with all FX offline, in case that changes anything.

Second - Can you try it without sws and other third-party extensions installed? It's not unusual for strange performance issues to come down to this :/
Justin is offline   Reply With Quote
Old 08-01-2024, 12:10 PM   #17
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
Default

Quote:
Originally Posted by Justin View Post
Received, thank you.


Using your .rpp (without the FX, though), and reaper.ini, on Windows 11, can't reproduce at all using 0731. Hmph. I'm using the default left/right-key actions to move the cursor.

First - try it with all FX offline, in case that changes anything.

Second - Can you try it without sws and other third-party extensions installed? It's not unusual for strange performance issues to come down to this :/
I think I located the issue. It's the screen resolution that causes it.
I'm running 5120 x 2160 here. Is that maybe the reason you cannot repro it?

Reducing the arrange canvas by resizing REAPER to half the size solves it
Is there anything that can be done here?

EDIT: dropped you another video via mail
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom

Last edited by _Stevie_; 08-01-2024 at 12:20 PM.
_Stevie_ is online now   Reply With Quote
Old 08-01-2024, 02:10 PM   #18
vsthem
Human being with feelings
 
Join Date: Nov 2018
Posts: 706
Default

With the metronome improvements, has there been any discussion of allowing users to have 1/8th note clicks for a period of time? When keeping measures lined up with a score, I don't want to actually adjust the time sig or BPM, just to have the click work in 1/8 notes. Is this possible now outside of hacky solutions?

Thanks all!
vsthem is offline   Reply With Quote
Old 08-01-2024, 02:16 PM   #19
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 16,244
Default

Does it do what you want to set the click pattern to 2x?
schwa is offline   Reply With Quote
Old 08-01-2024, 03:20 PM   #20
tonalstates
Human being with feelings
 
tonalstates's Avatar
 
Join Date: Jun 2020
Posts: 699
Default

Is it out of place to ask to be able to edit the time signature metronome pattern and also playback audio from the arrangement window? This when editing a tempo marker, I have a complex time signature and being able to hear and count the subdivisions while writing would be nice
tonalstates is offline   Reply With Quote
Old 08-01-2024, 03:48 PM   #21
Reaktor:[Dave]
Human being with feelings
 
Reaktor:[Dave]'s Avatar
 
Join Date: Jun 2010
Location: Berlin
Posts: 599
Default

Quote:
Originally Posted by Edgemeal View Post
+ Control surfaces: increase input reading rate [t=231630]
Cool to see this in the current pre-release!

Made some tests with v7.19 and v7.19+dev0731. The rate seems to have changed from ~30ms to ~15ms when logging time_precise from IReaperControlSurface::Run(). About right?

The first two tracks in the screenshot show the difference between both versions when calling TrackFX_SetParamNormalized() in Run() for every MIDI event in midi_input_device->GetReadBuf()->EnumItems(). Clearly, the rate got increased for dev0731. For reference, the time selection is exactly 1 second.


When feeding the MIDI events into a record-armed track using StuffMIDIMessage(), the rate still seems the same when comparing tracks 3 and 4. Any idea why there's no improvement here? (Why would you do this, anyway? The use case is an adaptive MIDI controller using REAPER's API to make its data and display fit automatically to all sorts of instruments in a project.)

Track 5 shows how the control surface MIDI events are fed to a track via a REAPER API aware CLAP plugin in the input FX. While this allows for "placing" the events with the event's offset information and increases the rate, the jitter is still quite strong. EDIT: This was wrong. The described approach works as good as recording MIDI events directly to a track, but it's a workaround requiring significant effort.

Finally, track 6 shows the events when REAPER records the MIDI data directly into a track. This one has both, a high rate (seems about the same as track 1?) and no jitter. Any idea for improvements or how we can get to that quality level for control surface plugins creating TCP parameter events or virtual MIDI events?

Last edited by Reaktor:[Dave]; 08-02-2024 at 01:13 AM. Reason: Track 5 was misconfigured,
Reaktor:[Dave] is offline   Reply With Quote
Old 08-01-2024, 04:57 PM   #22
pentecost
Human being with feelings
 
Join Date: Jan 2011
Posts: 97
Default

Quote:
Originally Posted by schwa View Post
Does it do what you want to set the click pattern to 2x?
not to speak for OP- in my own case, globally, yes.
i just tweak tempo subdivisions to achieve localized changes, but a local multiplier within the marker dialog would also be welcome.
pentecost is offline   Reply With Quote
Old 08-01-2024, 05:46 PM   #23
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,948
Default

Quote:
Originally Posted by pentecost View Post
not to speak for OP- in my own case, globally, yes.
i just tweak tempo subdivisions to achieve localized changes, but a local multiplier within the marker dialog would also be welcome.
maybe could be considered: 2x 4x 0.5x 0.25x and possibly more.
__________________
🙏🏻
deeb is offline   Reply With Quote
Old 08-01-2024, 06:15 PM   #24
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 16,006
Default

Quote:
Originally Posted by _Stevie_ View Post
I think I located the issue. It's the screen resolution that causes it.
I'm running 5120 x 2160 here. Is that maybe the reason you cannot repro it?

Reducing the arrange canvas by resizing REAPER to half the size solves it
Is there anything that can be done here?

EDIT: dropped you another video via mail

ah I think I have a couple of ideas on this, I'll try the cleanest of the two for the next build.
Justin is offline   Reply With Quote
Old 08-01-2024, 07:00 PM   #25
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,948
Default

+ Video: automatically refresh video processors that use input_get_name() when a track/take name changes

Looking forward to try this. Does this mean take name (notes) will be read in a single video processor loaded on a track?
__________________
🙏🏻
deeb is offline   Reply With Quote
Old 08-01-2024, 11:35 PM   #26
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
Default

Quote:
Originally Posted by Justin View Post
ah I think I have a couple of ideas on this, I'll try the cleanest of the two for the next build.
Justin, you are my hero, thanks! <3
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is online now   Reply With Quote
Old 08-02-2024, 01:15 AM   #27
Reaktor:[Dave]
Human being with feelings
 
Reaktor:[Dave]'s Avatar
 
Join Date: Jun 2010
Location: Berlin
Posts: 599
Default

Quote:
Originally Posted by Reaktor:[Dave] View Post
Any idea for improvements or how we can get to that quality level for control surface plugins creating TCP parameter events or virtual MIDI events?
I wonder if it would improve the situation at least post-record if functions like TrackFX_SetParamNormalized() or StuffMIDIMessage() could get an expanded version with support for handing over the MIDI offset?
Reaktor:[Dave] is offline   Reply With Quote
Old 08-02-2024, 06:05 AM   #28
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 15,707
Default

Quote:
Originally Posted by Reaktor:[Dave] View Post
Finally, track 6 shows the events when REAPER records the MIDI data directly into a track. This one has both, a high rate (seems about the same as track 1?) and no jitter. Any idea for improvements or how we can get to that quality level for control surface plugins creating TCP parameter events or virtual MIDI events?
Midi events are handled with at much accuracy as the hardware provides and stored with sample accuracy.

By definition Midi and audio are "virtual realtime" stuff (timing tied to the streams of sample blocks ), while parameter Modulation is not (timing mostly according to the "wall clock"). Hence Midi and audio are always handled using PDC etc: if the CPU power (and latency setting) are not sufficient, you get crackling, but no "erroneous" behavior. With parameter modulation this is different: value changes can be dropped.

Hence it would be better to record Midi, if high time resolution is needed.
mschnell is offline   Reply With Quote
Old 08-02-2024, 08:29 AM   #29
splitting_ears
Human being with feelings
 
splitting_ears's Avatar
 
Join Date: Apr 2022
Location: Saint-Étienne, France
Posts: 165
Default

The new render window improvements are great, thank you!

Just a small UI suggestion: wouldn't it make sense to move these options from the Stats/Charts/Display button to the right-click menu on the peak display itself? I think it would feel more logical.

__________________
Cyril
Website
splitting_ears is online now   Reply With Quote
Old 08-02-2024, 09:21 AM   #30
Reaktor:[Dave]
Human being with feelings
 
Reaktor:[Dave]'s Avatar
 
Join Date: Jun 2010
Location: Berlin
Posts: 599
Default

Quote:
Originally Posted by mschnell View Post
Midi events are handled with at much accuracy as the hardware provides and stored with sample accuracy.
That's why I suggested to allow control surface plugins to express a MIDI event's offset in the relevant APIs which should help at least post-recording. When the control surface plugin looks into the event queue, it'll likely find multiple events for the same control and has no way to tell Reaper when these events happened originally. See here for how there is a problem with recording parameter automation [1] and here for how the result is much better when the data is recorded to a MIDI clip instead [2].

In the end, control surface plugins should process and alter MIDI data from and to a control surface. Reducing the quality of the event queue (lower rate, more jitter) should be avoided. Whether the MIDI data goes to a track or its envelopes shouldn't affect the quality of the event queue.

[1] https://forum.cockos.com/showthread.php?t=231630
[2] https://forum.cockos.com/showthread.php?t=272125
Reaktor:[Dave] is offline   Reply With Quote
Old 08-02-2024, 11:19 AM   #31
vsthem
Human being with feelings
 
Join Date: Nov 2018
Posts: 706
Default

Quote:
Originally Posted by schwa View Post
Does it do what you want to set the click pattern to 2x?
always appreciate you responding on here.

I just found that option. It DOES do what I want, but then I'm finding that I need to constantly fiddle with the metronome pattern when it's doubled for the whole session. It'd be nice if there was a 2x metronome option per time sig change (override). The double metronome time is likely only to be needed 1 or 2 times in a session, so it'd be nice to not have it doubled throughout.

Totally get that this likely falls into the "nice to have" category.

Appreciate all your work on here!
vsthem is offline   Reply With Quote
Old 08-02-2024, 03:26 PM   #32
soundfield
Human being with feelings
 
Join Date: Jan 2021
Posts: 27
Default

Quote:
Originally Posted by splitting_ears View Post
The new render window improvements are great, thank you!

Just a small UI suggestion: wouldn't it make sense to move these options from the Stats/Charts/Display button to the right-click menu on the peak display itself? I think it would feel more logical.
I totally agree... this new render window is amazing.

UI : Also agree, right click was my first instinct looking at the new plot for the first time,
I found it soon after 😅. Maybe both 🤷‍♂️ Good idea! +1 👍
soundfield is offline   Reply With Quote
Old 08-06-2024, 04:43 AM   #33
dangguidan
Human being with feelings
 
Join Date: Jan 2019
Location: China
Posts: 717
Default

Quote:
# Tempo/time signature: fix inserting tempo change immediately before a time signature change
This action is different from before, as it only inserted tempo information without inserting beats.
__________________
My script sharing sources are mostly about MIDI editing.
https://github.com/zaibuyidao/YS_Rea...main/index.xml
dangguidan is offline   Reply With Quote
Old 08-06-2024, 05:06 AM   #34
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 16,244
Default

Quote:
Originally Posted by dangguidan View Post
This action is different from before, as it only inserted tempo information without inserting beats.
Can you be more specific, please?
schwa is offline   Reply With Quote
Old 08-06-2024, 05:32 AM   #35
dangguidan
Human being with feelings
 
Join Date: Jan 2019
Location: China
Posts: 717
Default

This action is different from before:
Tempo envelope: Insert tempo marker at edit cursor, without opening tempo edit dialog

before:


now:
__________________
My script sharing sources are mostly about MIDI editing.
https://github.com/zaibuyidao/YS_Rea...main/index.xml
dangguidan is offline   Reply With Quote
Old 08-06-2024, 08:58 AM   #36
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 16,244
Default

Quote:
Originally Posted by dangguidan View Post
This action is different from before:
Tempo envelope: Insert tempo marker at edit cursor, without opening tempo edit dialog
Fixing, thanks!
schwa 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 05:19 AM.


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