|
|
|
05-21-2019, 05:18 AM
|
#1
|
Moderator
Join Date: Aug 2007
Location: Italy
Posts: 4,326
|
v5.978+dev0521a - May 21 2019
v5.978+dev0521a - May 21 2019
+ ReaScript: prevent possible use-after-free when running quit action from script [t=221191]
# MIDI editor: fix CC segment mouse modifier to draw/edit CC ignoring snap
# MIDI editor: fix inconsistent behavior of mouse modifier to move CC events respecting time selection
# ReaScript: fix calling extension-supplied functions with optional or output parameters
v5.978+dev0521 - May 21 2019
- + API: support optional arguments in extension-supplied functions when called from ReaScript/Lua [t=219455]
- + Configuration: store item and track-specific docker preferences with the project, not globally [p=2136380]
- # MIDI editor: add MIDI CC segment context mouse modifiers to draw CC events [p=2136645]
- # MIDI editor: add mouse modifier to move CC segment within time selection
- # MIDI editor: draw active channel CC fill behind events on other channels
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
Last edited by schwa; 05-22-2019 at 04:25 AM.
|
|
|
05-21-2019, 05:20 AM
|
#2
|
Human being with feelings
Join Date: Jun 2006
Posts: 22,567
|
per project docking wow yay
|
|
|
05-21-2019, 05:28 AM
|
#3
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
Quote:
Originally Posted by Jason Brian Merrill
per project docking wow yay
|
There shouldn't be any change in what actually happens, this just removes some clutter from the global ini file.
|
|
|
05-21-2019, 05:32 AM
|
#4
|
Human being with feelings
Join Date: Jun 2006
Posts: 22,567
|
oh. I haven't changed docking much so didnt realize. heh. just sounded cool.
|
|
|
05-21-2019, 05:37 AM
|
#5
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Quote:
Originally Posted by schwa
There shouldn't be any change in what actually happens, this just removes some clutter from the global ini file.
|
Ah, is this in relation to docked MIDI editor thing I mentioned?
EDIT: Reaper hard crashes when right-clicking in the CC lanes.
EDIT #2: Also looks like all my MIDI editor settings from Options and View menus (what is displayed on notes, etc.) got restored to defaults?
Last edited by EvilDragon; 05-21-2019 at 05:46 AM.
|
|
|
05-21-2019, 05:52 AM
|
#6
|
Human being with feelings
Join Date: Apr 2014
Posts: 4,171
|
Something in this release has broken something in Julian's API.
Trying to open Stripper hard crashes Reaper. Removed Julian's API dll - works ok.
To do with the allow extensions to use optional parameters perhaps?
EDIT - I've narrowed it down to the JS_ReascriptAPI_Version function. Hopefully Julian can fix.
Last edited by lb0; 05-21-2019 at 06:21 AM.
|
|
|
05-21-2019, 05:54 AM
|
#7
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
Quote:
Originally Posted by EvilDragon
EDIT: Reaper hard crashes when right-clicking in the CC lanes.
EDIT #2: Also looks like all my MIDI editor settings from Options and View menus (what is displayed on notes, etc.) got restored to defaults?
|
I don't see either of these problems, but they are probably related. Could you share your reaper-menu.ini?
|
|
|
05-21-2019, 06:14 AM
|
#8
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
CC segment: "Draw/edit CC events ignoring snap and selection" doesn't seem to work here. The one that obeys snap works neatly
Thanks
|
|
|
05-21-2019, 06:19 AM
|
#9
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,621
|
Quote:
+ API: support optional arguments in extension-supplied functions when called from ReaScript/Lua [t=219455]
|
That's nice. Will open a lot of possibilities for SWS as well
|
|
|
05-21-2019, 06:48 AM
|
#10
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Quote:
Originally Posted by schwa
I don't see either of these problems, but they are probably related. Could you share your reaper-menu.ini?
|
reaper-menu.zip
(Everything worked perfectly in the previous dev build!)
|
|
|
05-21-2019, 07:02 AM
|
#11
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
"Move CC segment" (obey time selection) is acting up:
This is with "Allow selecting a single event..." enabled. If I disable that option, nothing will happen at all, provided I didn't select the events beforehand.
Also, it will move events (on that lane) on all visible channels even if the event filter is set to a specific channel. It will obey the filter only if "Show only events that pass filter" is enabled.
|
|
|
05-21-2019, 08:30 AM
|
#12
|
Human being with feelings
Join Date: May 2016
Posts: 2,065
|
I have a somewhat large custom action containing some custom scripts that is now broken in this pre-release. Rolling back to the previous pre-release solves the issue.
Below is an image of the error message as well as an overview of the custom action.
Please let me know if this can be cleared up in the next pre-release or if I have to consult my scripting expert to fix one of the scripts.
__________________
REAPER, just script it bro.
Last edited by MRMJP; 05-21-2019 at 08:35 AM.
|
|
|
05-21-2019, 09:00 AM
|
#13
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Quote:
Originally Posted by MRMJP
I have a somewhat large custom action containing some custom scripts that is now broken in this pre-release. Rolling back to the previous pre-release solves the issue.
|
Confirmed here.
Issue seems to be (from a first test) when extension provided functions are supposed to return more than one parameter they aren't returned anymore in this version.
https://i.imgur.com/mOERVNQ.gif
|
|
|
05-21-2019, 09:43 AM
|
#14
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
If possible, it would be really helpful to narrow down a specific example of a script or extension function that breaks with this build.
I suspect the problem is that some extension functions are not properly handling receiving NULLs from scripts, which was never a problem before because a bug on our side prevented it from happening. If that is the case, we might have to make the feature (optional parameters for extension-provided functions) officially not allowed.
But a specific example would really help us figure it out.
|
|
|
05-21-2019, 09:45 AM
|
#15
|
Human being with feelings
Join Date: Apr 2014
Posts: 4,171
|
Quote:
Originally Posted by schwa
If possible, it would be really helpful to narrow down a specific example of a script or extension function that breaks with this build.
I suspect the problem is that some extension functions are not properly handling receiving NULLs from scripts, which was never a problem before because a bug on our side prevented it from happening. If that is the case, we might have to make the feature (optional parameters for extension-provided functions) officially not allowed.
But a specific example would really help us figure it out.
|
JS_ReascriptAPI_Version() from Julian's extension causes a Reaper crash as mentioned earlier if this helps.
|
|
|
05-21-2019, 10:14 AM
|
#16
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
Quote:
Originally Posted by EvilDragon
|
Still can't get it to crash, and I do see your customized Options and View menus...
|
|
|
05-21-2019, 10:25 AM
|
#17
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Ugh... Not sure. It's a poof crash, no crashlog, nothing. Any suggestions on how to catch what happens?
|
|
|
05-21-2019, 10:25 AM
|
#18
|
Human being with feelings
Join Date: May 2016
Posts: 2,065
|
Quote:
Originally Posted by schwa
If possible, it would be really helpful to narrow down a specific example of a script or extension function that breaks with this build.
I suspect the problem is that some extension functions are not properly handling receiving NULLs from scripts, which was never a problem before because a bug on our side prevented it from happening. If that is the case, we might have to make the feature (optional parameters for extension-provided functions) officially not allowed.
But a specific example would really help us figure it out.
|
This gets beyond my knowledge of software coding/development but this appears to be the script that is shown in the error message:
https://www.dropbox.com/s/0kv0zjzl6l...value.lua?dl=0
The error message itself is truncated but I think that's it, and maybe NoFish can weigh in more.
__________________
REAPER, just script it bro.
|
|
|
05-21-2019, 10:39 AM
|
#19
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
OK, got the ReaScript/extension problem sorted, it was our error.
|
|
|
05-21-2019, 10:40 AM
|
#20
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
Quote:
Originally Posted by EvilDragon
Ugh... Not sure. It's a poof crash, no crashlog, nothing. Any suggestions on how to catch what happens?
|
I assume it does not crash with the default menus?
|
|
|
05-21-2019, 10:44 AM
|
#21
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Actually, it does crash with default menus as well.
Also seems to crash if just clicking in the piano roll and ruler area, regardless if a MIDI item is opened in piano roll or not. It doesn't crash if I right-click in the MIDI CC chooser area, or above the piano keys area.
|
|
|
05-21-2019, 10:56 AM
|
#22
|
Human being with feelings
Join Date: Jan 2016
Location: Los Angeles, CA
Posts: 3,116
|
A quick thing I've noticed with the last few releases -- opening some Older projects gives me an error like this:
There were 4 items in the project that were not understood. If this project was created in a newer version of REAPER, this version may not preserve all of the settings of the project.
Project tokens not recognized:
SWSAUTOCOLOR
Is there an issue with the latest Reaper builds in conjunction with SWS?
|
|
|
05-21-2019, 10:56 AM
|
#23
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
I checked out the CC mods and a quick test shows that "Shift+LeftClick/Drag" is now working great.
However, "LeftClick/Drag" is not functioning as I would expect. Even when it's assigned "Draw/edit CC events" it only "Moves CC segment".
Also, for myself, I can't think of any reason I would want it to move the segment with LeftClick/Drag. In the Arrange area yes, but not on CCs. Besides, as you can see, Shift+Ctrl is assigned to "Move CC segment".
Last edited by Tod; 05-21-2019 at 01:54 PM.
|
|
|
05-21-2019, 11:03 AM
|
#24
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Quote:
Originally Posted by schwa
If possible, it would be really helpful to narrow down a specific example of a script or extension function that breaks with this build.
|
Expanding on my previous post, this is a script (calling an SWS provided ReaScript function) which worked before but breaks in this version in that it doesn't return lufsIntegrated anymore.
Code:
reaper.ClearConsole()
function msg(m)
return reaper.ShowConsoleMsg(tostring(m) .. "\n")
end
item = reaper.GetMediaItem(0, 0)
take = reaper.GetActiveTake( item )
retval, lufsIntegrated = reaper.NF_AnalyzeTakeLoudness_IntegratedOnly( take )
msg(lufsIntegrated)
(For demonstration purpose I've omitted the nil checks for item / take)
Running it in 0517:
Running it in 0521 (screencap from previous post):
relevant code sections in SWS:
https://github.com/reaper-oss/sws/bl...cript.cpp#L287
https://github.com/reaper-oss/sws/bl...cript.cpp#L268
https://github.com/reaper-oss/sws/bl...ness.cpp#L4350
|
|
|
05-21-2019, 11:21 AM
|
#25
|
Human being with feelings
Join Date: Jul 2009
Posts: 3,714
|
Quote:
Originally Posted by schwa
I suspect the problem is that some extension functions are not properly handling receiving NULLs from scripts, which was never a problem before because a bug on our side prevented it from happening. If that is the case, we might have to make the feature (optional parameters for extension-provided functions) officially not allowed.
|
It seem the problem lies with parameters that use the "Out" suffix -- not "Optional" -- such as "double* versionOut". Previously, such *output* parameters did not require any arguments in Lua, are were automatically provided with a proper pointer for the parameter type. In this dev version, they seem to be handled similar to Optional *input* parameters, and are given NULL pointers.
Functions such as JS_ReaScriptAPI_Version, which use "Out" parameters will now only work in Lua if the function is provided with a dummy variable:
Code:
reaper.JS_ReaScriptAPI_Version(5)
(Another issue that I noticed, is that void* (or should it be void**?) parameters do not yet work with the Optional suffix in Lua.)
|
|
|
05-21-2019, 11:38 AM
|
#26
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
The API issue should be fixed with 5.978+dev0521a, which we just posted. Would you mind testing that?
|
|
|
05-21-2019, 11:40 AM
|
#27
|
Human being with feelings
Join Date: Oct 2011
Posts: 2,924
|
"# MIDI editor: add mouse modifier to move CC segment within time selection"
Is it possible to always display the CC segment, even when CC is set to 0 ?
With CC always displayed, we would be able to use this new fonctionnality (add mouse modifier to move CC segment within time selection) without the need to create a CC segment.
Last edited by ovnis; 05-21-2019 at 12:33 PM.
|
|
|
05-21-2019, 11:41 AM
|
#28
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Quote:
Originally Posted by juliansader
It seem the problem lies with parameters that use the "Out" suffix -- not "Optional" -- such as "double* versionOut". Previously, such *output* parameters did not require any arguments in Lua, are were automatically provided with a proper pointer for the parameter type. In this dev version, they seem to be handled similar to Optional *input* parameters, and are given NULL pointers.
Functions such as JS_ReaScriptAPI_Version, which use "Out" parameters will now only work in Lua if the function is provided with a dummy variable:
[code]
reaper.JS_ReaScriptAPI_Version(5)
|
I can confirm here too.
If I do
Code:
retval, lufsIntegrated = reaper.NF_AnalyzeTakeLoudness_IntegratedOnly(take, 5)
instead of
Code:
retval, lufsIntegrated = reaper.NF_AnalyzeTakeLoudness_IntegratedOnly(take)
it works.
edit:
Posted before I saw schwa's reply about the new build.
|
|
|
05-21-2019, 01:10 PM
|
#29
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Quote:
Originally Posted by schwa
The API issue should be fixed with 5.978+dev0521a, which we just posted. Would you mind testing that?
|
Fixed for me with the test script from above, thanks.
Also
Quote:
+ API: support optional arguments in extension-supplied functions when called from ReaScript/Lua [t=219455]
|
tested with int*, correctly passed nullptr now (if parameter omitted in call), thanks.
Last edited by nofish; 05-21-2019 at 02:04 PM.
|
|
|
05-21-2019, 01:39 PM
|
#30
|
Human being with feelings
Join Date: May 2016
Posts: 2,065
|
This seems fixed now on my end too.
Thanks for the quick native fix.
__________________
REAPER, just script it bro.
|
|
|
05-21-2019, 01:47 PM
|
#31
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
It's all just code.
|
|
|
05-21-2019, 01:54 PM
|
#32
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
"Draw edit ignoring snap" is fixed as well, thank you
There is still something off with "Move segment" obeying time selection, though. It does create points at the time selection edges, but the end point should not be moved away from the original value, so that after the time selection the original value is still valid:
This modifier doesn't seem to work at all when "Allow selecting a single event in a CC lane with a mouse click" (Mouse modifiers, CC lane context) is disabled.
I've got another issue with it that I might have failed to explain in the previous post. Move CC segment always works on all visible channels. It should obey the setting of the filter fields instead:
(channel 1 is yellow, channel 2 is blue)
Please move all channels only if this field is set to "All channels".
Note that, even if it's intended behavior (for whatever reason) that channel 2 events are moved in this szenario, there is an error at the time selection start of the blue events, it failed to create events on time selection edges for channel 2.
|
|
|
05-21-2019, 02:04 PM
|
#33
|
Human being with feelings
Join Date: Oct 2011
Posts: 2,924
|
Fast (CC lane is always displayed) - only 1 step:
Slow (CC lane is not always displayed) - 3 steps:
|
|
|
05-21-2019, 02:21 PM
|
#34
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
Hmm, at least for you the end point is not moving. Going to check which setting makes it fail for me. Mine gets selected and moves with the segment.
I think, the 0-segment (without any existing points) doesn’t need to be shown, Reaper could just be smart and create a point (on the active channel) at time selection start in this situation. But I agree that this should work without having to create a segment for Reaper to understand what it should do in the first place.
EDIT: Thinking about it, my proposal above would probably collide with whatever is set for the same modifier in “CC lane” context... so it’s maybe really necessary to always show a 0-segment for the active channel if no events exist on the lane for this channel. Should be center for pitch and pan.
Last edited by gofer; 05-21-2019 at 02:37 PM.
|
|
|
05-21-2019, 02:25 PM
|
#35
|
Human being with feelings
Join Date: Oct 2011
Posts: 2,924
|
Quote:
I think, the 0-segment (without any existing points) doesn’t need to be shown,
|
The advantage with CC lane always displayed is the visual feedback. If the CC lane is set to 0 or 5, we should be able to see that.
|
|
|
05-21-2019, 02:29 PM
|
#36
|
Human being with feelings
Join Date: Oct 2011
Posts: 2,924
|
In this exemple, we are not able to see the CC value inside the next MIDI item... It's not great to know the CC value.
|
|
|
05-21-2019, 02:50 PM
|
#37
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
Yep, I agree, that’s not good. I’m too much concentrating on MPE so I didn’ t even notice. The current valid value should absolutely be visible across the entire track.
|
|
|
05-21-2019, 02:53 PM
|
#38
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Imagine this. No crash on right-click in piano roll/CC lane in dev0521a!
|
|
|
05-21-2019, 03:00 PM
|
#39
|
Human being with feelings
Join Date: Jan 2016
Location: Los Angeles, CA
Posts: 3,116
|
With the new "ramp-style" CCs, if you draw using "Ignore Snap" are you getting maximum resolution? It seems a bit low-res even when zooming in a little bit...but maybe that's been the case the whole time?
|
|
|
05-21-2019, 03:03 PM
|
#40
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
Quote:
Originally Posted by EvilDragon
Imagine this. No crash on right-click in piano roll/CC lane in dev0521a!
|
Maybe you had a customized menu that included an extension action that was crashing when it called the extension code to see if the menu item should be checked?
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 08:02 AM.
|