Old 11-12-2018, 05:58 PM   #1
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,913
Default v5.961+dev1112 - November 12 2018

v5.961+dev1112 - November 12 2018
+ Linux: fix JSFX/ReaScript EEL bug on armv7l
+ MIDI editor: better pasting of time-selection-copied notes
+ MIDI editor: time selection copy better handles notes that begin after selection start [p=2055757]
+ OSC: add /loop/start/time and /loop/end/time messages
+ Project settings: fix writing of default project measure offset [t=213175]
+ ReaScript: optimize calling of extension-defined functions
+ ReaScript: support NeedBig/NeedXXX suffixes for extension-defined function char* API parameters (via realloc_cmd_ptr() extension API function for NeedBig)
+ ReaSurround: avoid possible deadlock when changing channel counts [t=213308]
+ ReaTune: update UI on preset load [t=212979]
# ARA: properly track which take is selected
# linux: fix menu popup immediately after opening a window [p=2053638]

Full changelog - Latest pre-releases

Re-cap of all the other additions in this release, in case you forgot.
+ API: add get_config_var_string() for ReaScript
+ ARA: ask plugins to respect tempo when stretching only if the project/track/item timebase is set to beats/position/length
+ ARA: associate audio modifications with underlying source audio rather than individual takes (note, old projects will not load properly)
+ ARA: don't commit suicide when user preference enabled to set media items offline when application is not active
+ ARA: fix importing notes and tempo at once
+ ARA: fix model updates from plugin
+ ARA: fix rendering short fades with large buffer sizes
+ ARA: if one instance of an ARA FX UI is already open, focus that UI when inserting a new instance of the same type of FX
+ ARA: load copied tracks even if the ARA plugin context is no longer available [p=2022675]
+ ARA: mirror edits in looped media
+ ARA: support for ARA2-compatible plugins (note: there are no publicly available ARA2-compatible plugins)
+ ARA: update edits to muted items and inactive takes when loading project
+ ASIO: permit buffer sizes that are not a power of 2 if the device does not very specifically request otherwise [t=200746]
+ Autosave: fix autosave when undo is completely disabled
+ Autosave: manual saves do not prevent autosaves from occurring [t=189230]
+ Comps: include item mute state in take comps
+ Elastique: improve timing of timestretch ramps [t=204269]
+ Fade editor: fixed an obscure possible bug
+ FX: allow embed of some plug-in UIs into TCP (done via action or FX menus)
+ FX: embed support for ReaEQ, ReaXComp, ReaComp, ReaSurround, and graphical JSFX
+ JSFX: frequency spectrum analyzer slope control, improve UI layout for smaller sizes
+ Keyboard: add "Main (override all contexts including text fields)" section which allows global keyboard overrides
+ Keyboard: add global hotkey override section
+ linux: auto-cleanup zombie processes when not waiting for return of reaper.ExecProcess() or if jackd takes a long time to exit
+ Linux: reduce flicker when certain windows overlap (e.g. meter + track rename)
+ Linux: VST2 bridging/firewalling support
+ macOS: do not use 32-bit bridge on Mojave
+ Marker manager: fix time format autodetection
+ Media: better handling of take start offsets when disabling item looping
+ MIDI editor: 14-bit registered parameter/non-registered parameter CC editing
+ Misc: fixed a few minor memory leaks
+ OGG Vorbis: update to libogg 1.3.3, libvorbis 1.3.6
+ Opus: update to Opus v1.3 (opusfile 0.11)
+ OSC: .ReaperOSC parsing improvements
+ OSC: continue loading .ReaperOSC files that have unknown action tokens
+ OSC: fix notifications when removing markers
+ OSC: lowering device marker/region count clears cached values (setting bank size to 0 and increasing forces re-send of marker/region information)
+ OSC: send marker position and region position/length
+ OSC: support setting various device counts to 0
+ OSC: update Default.ReaperOSC to accurately reflect default state
+ Project bay: fix take-selection issues when removing source media from project
+ ReaComp: improved knee behavior, added "Weird knee" checkbox for old behavior (default on old state/presets) [t=208286]
+ ReaComp: improved knee behavior, added classic knee to new Quirks button which replaces "Classic attack" checkbox [t=208286]
+ ReaEQ: fix incorrect preview display for certain filters
+ ReaFIR: add context menu mode configuration
+ ReaFIR: fix potential graph move when shift+clicking a point [t=212541]
+ ReaScript: add reaper.gmem_attach()/gmem_read()/gmem_write() to Lua for interacting with JSFX/Video Processors/EEL2 ReaScripts gmem[] segments
+ ReaScript: EEL2 scripts support //@gmem=sharedMemorySegmentName starting line in first 100 lines of code (also shares with JSFX)
+ ReaXcomp: improve knee behavior, add Quirks menu to allow choosing old behavior (old presets unaffected)
+ Recording: improve performance when disarming many tracks during recording
+ Rubberband: improve timing of timestretch ramps [t=204269]
+ Stretch markers: add new "transient-optimized" and "no pre-echo reduction" stretch marker modes
+ Stretch markers: add project setting for stretch marker mode
+ Takes: add option for smart take lane reconciliation when switching takes [t=210747]
+ Takes: delete active take has improved behavior when smart take reconciliation is enabled
+ Takes: improve behavior of next/previous take actions with multiple items selected
+ Takes: make take changing behavior consistent independent of take-lane visibility option
+ Takes: overhauled display vs selection of empty takes
+ Tempo map: fix importing initial time signature from MIDI tempo map
+ Track wiring diagram view
+ Video: add Decorative Spectrum Analyzer
+ Video: add input_get_name() to get input take/track name
+ Video: added preset for Decorative Oscilloscope with Blitter (requires included JSFX video_sample_peeker)
+ Video: gfx_evalrect() improvements (can execute initialization code in context, does not hook r/g/b/a variables unless in RGBA mode, etc
+ Video: sort/rename presets and give categories
+ Video: support //@gmem=sharedMemorySegmentName (also shares with JSFX's options:gmem=)
+ Video: support fft() etc
+ VST: inform plugins of project loop selection regardless of playback state
+ VST3: do not deactivate plugin before changing IO buffer information
+ VST3: flush buffers on stop without resetting other plugin state
+ VST3: support notifying plug-ins of track title, GUID, color, and index via IInfoListener interface
+ WALTER: meter text colors support alpha field (0-255) if theme version is 6 or higher
+ WALTER: support complex rules for mcp.size and mcp.master.size

Last edited by Edgemeal; 11-12-2018 at 06:06 PM.
Edgemeal is offline   Reply With Quote
Old 11-13-2018, 05:47 AM   #2
Eliseat
Human being with feelings
 
Eliseat's Avatar
 
Join Date: Mar 2018
Location: Cologne
Posts: 1,362
Default

That's a lot of stuff.
Eliseat is offline   Reply With Quote
Old 11-13-2018, 06:35 AM   #3
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
Default

Hi devs!

I´m using this latest dev release and I found a problem with copy/paste in the Notation Editor. To show it, I´ve attached a test project. Just try the following :

- Open the Notation Editor, showing the staves from all three tracks (A,B & C).
-Select and copy the notes from staves A & B.
- Click on stave B and paste on measure 3 : you´ll see that the notes from staves A & B are all strangely copied on stave C.

This doesn´t happen on the previous dev release.

I think this must be an easy one to fix...


Thank you very much in advance,


Greets!
Attached Files
File Type: rpp Cut & Paste Problem.RPP (18.1 KB, 171 views)
Soli Deo Gloria is offline   Reply With Quote
Old 11-13-2018, 07:09 AM   #4
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by Soli Deo Gloria View Post
Hi devs!

I´m using this latest dev release and I found a problem with copy/paste in the Notation Editor. To show it, I´ve attached a test project. Just try the following :

- Open the Notation Editor, showing the staves from all three tracks (A,B & C).
-Select and copy the notes from staves A & B.
- Click on stave B and paste on measure 3 : you´ll see that the notes from staves A & B are all strangely copied on stave C.

This doesn´t happen on the previous dev release.

I think this must be an easy one to fix...
Thanks, fixing for the next build

Last edited by Justin; 11-13-2018 at 07:45 AM.
Justin is offline   Reply With Quote
Old 11-14-2018, 07:31 AM   #5
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

EDIT: Nothing to see here, folks.

Quote:
Originally Posted by Edgemeal View Post
+ ReaScript: support NeedBig/NeedXXX suffixes for extension-defined function char* API parameters (via realloc_cmd_ptr() extension API function for NeedBig)
Unfortunately, I haven't been able to get NeedBig/realloc_cmd_ptr to work in Lua, and NeedXXX still always passes sizes of 1024 chars.

I don't see realloc_cmd_ptr in reaper-plugin-functions.h, so I load it as follows: In my extension's header, I define the function:
Code:
bool(*realloc_cmd_ptr)(char** ptr, int *ptr_size, int new_size);
Then, in REAPER_PLUGIN_ENTRYPOINT, I load the function:
Code:
extern "C" REAPER_PLUGIN_DLL_EXPORT int REAPER_PLUGIN_ENTRYPOINT(REAPER_PLUGIN_HINSTANCE hInstance, reaper_plugin_info_t *rec)
{
	if (rec)

...

		if (!((*(void **)&realloc_cmd_ptr) = (void *)rec->GetFunc("realloc_cmd_ptr")))
		{
			MB("Unable to import realloc_cmd_ptr function.", "ERROR: ReaScriptAPI extension", 0);
			return 0;
		}
Everything seems to load fine, but when I try to use realloc_cmd_ptr, I always get a "false" return value.


P.S.: Perhaps realloc_cmd_ptr can be added to reaper-plugin-functions.h, so that it can be loaded together with all the other standard plugin functions?

P.P.S.: Besides realloc_cmd_ptr, which other "hidden" API functions are not listed in reaper-plugin-functions.h? I am aware of these:
* AttachWindowTopmostButton
* AttachWindowResizeGrip
* RemoveXPStyle
* Various CoolScrollBar functions

Last edited by juliansader; 11-15-2018 at 04:06 AM.
juliansader is offline   Reply With Quote
Old 11-15-2018, 01:36 AM   #6
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by Edgemeal View Post
+ Video: added preset for Decorative Oscilloscope with Blitter (requires included JSFX video_sample_peeker)
The combination of JSFX + video FX work well as Track FX, but don't seem to work as Take FX.

Would it be possible to add the code for curving a video as a parameter to the decorative oscilloscope / spectrum? Or perhaps as a new preset that can be applied to any video input, with tweakable parameters?
juliansader is offline   Reply With Quote
Old 11-15-2018, 02:32 AM   #7
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 juliansader View Post
P.S.: Perhaps realloc_cmd_ptr can be added to reaper-plugin-functions.h, so that it can be loaded together with all the other standard plugin functions?
It's there for me in newly generated reaper_plugin_functions.h (from +dev1112, Win x64)

Code:
#if defined(REAPERAPI_WANT_realloc_cmd_ptr) || !defined(REAPERAPI_MINIMAL)
REAPERAPI_DEF //==============================================
// realloc_cmd_ptr
// special use for NeedBig script API functions - reallocates a NeedBig buffer and updates its size, returns false on error

  bool (*realloc_cmd_ptr)(char** ptr, int* ptr_size, int new_size);
#endif
nofish is offline   Reply With Quote
Old 11-15-2018, 03:06 AM   #8
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,937
Default

Quote:
Originally Posted by juliansader View Post
Unfortunately, I haven't been able to get NeedBig/realloc_cmd_ptr to work in Lua, and NeedXXX still always passes sizes of 1024 chars.
Works here (*NeedBig defaults to 32768 and *NeedXXX must be > 1024). How are your parameters named exactly (in "APIdef_*")?

Last edited by cfillion; 11-15-2018 at 03:16 AM.
cfillion is offline   Reply With Quote
Old 11-15-2018, 04:10 AM   #9
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by nofish View Post
It's there for me in newly generated reaper_plugin_functions.h (from +dev1112, Win x64)
Whoops, sorry! I was probably using the new rc yesterday instead of the dev version. I tested realloc_cmd_ptr again, and it works fine.
juliansader is offline   Reply With Quote
Old 11-15-2018, 06:38 PM   #10
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by juliansader View Post
P.P.S.: Besides realloc_cmd_ptr, which other "hidden" API functions are not listed in reaper-plugin-functions.h? I am aware of these:
* AttachWindowTopmostButton
* AttachWindowResizeGrip
* RemoveXPStyle
* Various CoolScrollBar functions
There are many, but you shouldn't use them, or at least, you should gracefully handle them not being present in the future.
Justin is offline   Reply With Quote
Old 11-17-2018, 01:54 AM   #11
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

I hope that realloc_cmd_ptr and the NeedXXX features can soon be moved from the dev versions to rc, so that extensions can immediately start using them.
juliansader is offline   Reply With Quote
Old 11-20-2018, 08:05 PM   #12
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by juliansader View Post
I hope that realloc_cmd_ptr and the NeedXXX features can soon be moved from the dev versions to rc, so that extensions can immediately start using them.
They will, once it stabilizes (want to make sure it's all working perfectly before we commit to stabilizing that API):

Some slight changes to realloc_cmd_ptr in 5.962+dev1120 -- calling it will cause Lua to return the full resized length (so you can embed nul characters in there). There are other fixes/optimizations related to this, so if anybody is using this, please test thoroughly again! Thanks!


oh btw, in case it wasn't obvious: calling realloc_cmd_ptr() does not preserve the contents of the buffer -- if you need to read the buffer, you should read it, resize, then write to the buffer.
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 06:59 AM.


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