 |
|
|
07-02-2021, 08:12 AM
|
#1
|
Human being with feelings
Join Date: Nov 2012
Location: West Midlands, UK
Posts: 352
|
v6.30rc11 - July 2 2021
v6.30rc11 - July 2 2021
- * Includes feature branch: render normalization
- * Includes feature branch: EEL2 x86_64/SSE
- * Includes feature branch: VST3 bridging
- # JSFX: remove autodetect-mono setting, replace with force-mono setting
- # Master VU: fix LRA metering display when transport is stopped
- # Render: handle multibyte characters in render dialog
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
|
|
|
07-02-2021, 08:36 AM
|
#2
|
Human being with feelings
Join Date: Jun 2019
Posts: 2,787
|
Quote:
Originally Posted by matt_t
# JSFX: remove autodetect-mono setting, replace with force-mono setting
|
Meh.. the autodetect setting was cool as when switched on we didn't have to worry if our sound is mono or stereo, we knew we would get the right value whatever goes through. Now it has been simplified to what seems to be a mere -3LU offset. We now need to know ourselves if the channels are identical or not and change the setting based on the sound rather than having the value conveniently adapting itself. Not that cool on tracks with both mono and stereo audio.
Quote:
Originally Posted by matt_t
# Render: handle multibyte characters in render dialog
|
What does this do?
|
|
|
07-02-2021, 09:17 AM
|
#3
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,742
|
Supports Unicode and so on.
BTW just had Reaper have a poof crash by using the Delay (Floaty) JSFX, and setting the delay to 0 ms.
|
|
|
07-02-2021, 09:27 AM
|
#4
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,934
|
Quote:
Originally Posted by EvilDragon
Supports Unicode and so on.
|
originated by this I guess:
https://forum.cockos.com/showthread.php?t=255148
|
|
|
07-02-2021, 09:36 AM
|
#5
|
Human being with feelings
Join Date: Jun 2019
Posts: 2,787
|
Thanks for explaining guys.
|
|
|
07-02-2021, 09:55 AM
|
#6
|
Human being with feelings
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,683
|
Quote:
Originally Posted by EvilDragon
BTW just had Reaper have a poof crash by using the Delay (Floaty) JSFX, and setting the delay to 0 ms.
|
Confirmed, but I got a dialog and dmp file was created (will post if needed). Win10 x64.
Unhandled exception at 0x00000000034505F2 in reaper.exe.8024.dmp: 0xC0000094: Integer division by zero.
|
|
|
07-02-2021, 12:00 PM
|
#7
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,369
|
Quote:
Originally Posted by nofish
|
Nice
|
|
|
07-02-2021, 12:14 PM
|
#8
|
Human being with feelings
Join Date: Mar 2019
Posts: 835
|
Quote:
Originally Posted by Phazma
Meh.. the autodetect setting was cool as when switched on we didn't have to worry if our sound is mono or stereo, we knew we would get the right value whatever goes through. Now it has been simplified to what seems to be a mere -3LU offset. We now need to know ourselves if the channels are identical or not and change the setting based on the sound rather than having the value conveniently adapting itself. Not that cool on tracks with both mono and stereo audio.
|
I agree, the auto-detection is/was quite unique and very useful, personally I would vote to keep it(!) However, I understand it can lead to confusion or even mistakes as the master channel does not (yet) feature mono-detection, meaning that different readings can occur next to each other.
|
|
|
07-02-2021, 01:08 PM
|
#9
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,362
|
Quote:
Originally Posted by EvilDragon
Supports Unicode and so on.
BTW just had Reaper have a poof crash by using the Delay (Floaty) JSFX, and setting the delay to 0 ms.
|
Good catch, thank you!
|
|
|
07-02-2021, 04:07 PM
|
#10
|
Human being with feelings
Join Date: Dec 2017
Posts: 80
|
In v6.30 rc 1, when scrolling through video processor presets (using mouse wheel) Reaper suddenly closes. I am now far from home and cannot check how it works in rc 11. Can anyone check it?
Win10x64
|
|
|
07-02-2021, 05:18 PM
|
#11
|
Human being with feelings
Join Date: Jun 2007
Location: Terra incognita
Posts: 7,608
|
Quote:
Originally Posted by EvilDragon
BTW just had Reaper have a poof crash by using the Delay (Floaty) JSFX, and setting the delay to 0 ms.
|
Good find. Similar poof crash happens with Tales malloc_delay. I wonder if it's the same issue?
Code:
// Copyright (C) 2015 Theo Niessink
// License: GPL - http://www.gnu.org/licenses/gpl.html
desc:Delay
slider1:300<0,1000,1>Delay (ms)
import Tale/malloc.jsfx-inc
@slider
len = floor(srate * slider1 * 0.001);
len > 0 ? (
buf = realloc(buf, len);
idx %= len;
) : (
buf = free(buf);
);
@sample
in = 0.5 * (spl0 + spl1);
buf ? buf[idx] = in + 0.5 * buf[idx];
idx = (idx + 1) % len;
out = buf ? 0.5 * buf[idx];
spl0 += out;
spl1 += out;
malloc.jsfx-inc
Code:
desc:Dynamic memory management
// Copyright (C) 2015 Theo Niessink
// License: GPL - http://www.gnu.org/licenses/gpl.html
/* Example
desc:Delay
slider1:300<0,1000,1>Delay (ms)
import Tale/malloc.jsfx-inc
@slider
len = floor(srate * slider1 * 0.001);
len > 0 ? (
buf = realloc(buf, len);
idx %= len;
) : (
buf = free(buf);
);
@sample
in = 0.5 * (spl0 + spl1);
buf ? buf[idx] = in + 0.5 * buf[idx];
idx = (idx + 1) % len;
out = buf ? 0.5 * buf[idx];
spl0 += out;
spl1 += out;
Memory Management Functions
* malloc(size)
Example: buf = malloc(128);
Example: top = malloc(0);
Allocates a block of local memory, and returns its index. If size is
0, then returns the next available index.
* calloc(num, size)
Example: buf = calloc(64, 2);
Allocates a block of local memory of num*size items, and initializes
it to zero.
* realloc(ptr, size)
Example: buf = realloc(buf, 256);
Changes the size of the memory block, moving it to a new location if
necessary. If ptr is 0, then it calls malloc(size).
* free(ptr)
Example: free(buf);
Deallocates the memory block, and returns 0.
*/
@init
function malloc(size)
static(top, alloc, in_use)
local(ptr)
(
(size |= 0) > 0 ? (
top = 0; alloc = -2; in_use = -1;
ptr = top + 3;
while(ptr < top[] && (ptr[alloc] < size || ptr[in_use] > 0) ? ptr += ptr[alloc] + 2);
ptr >= top[] ? (
ptr[alloc] = size;
top[] = ptr + size;
);
ptr[in_use] = size;
ptr;
) : (
top[];
);
);
function calloc(num, size)
local(ptr)
(
size = (size|0) * (num|0);
memset(ptr = malloc(size), 0, size);
ptr;
);
function realloc(ptr, size)
static(top, alloc, in_use)
local(new_ptr)
(
(ptr |= 0) > 0 ? (
top = 0; alloc = -2; in_use = -1;
(size |= 0) <= ptr[alloc] ? (
ptr[in_use] = size;
ptr;
) : ptr + ptr[alloc] >= top[] ? (
ptr[alloc] = ptr[in_use] = size;
top[] = ptr + size;
ptr;
) : (
new_ptr = malloc(size);
memcpy(new_ptr, ptr, ptr[in_use]);
ptr[in_use] = 0;
new_ptr;
);
) : (
malloc(size);
);
);
function free(ptr)
static(top, alloc, in_use)
(
(ptr |= 0) > 0 ? (
top = 0; alloc = -2; in_use = -1;
ptr + ptr[alloc] >= top[] ? (
freembuf(top[] = ptr - 2);
0;
) : (
ptr[in_use] = 0;
);
);
);
/* @gfx
// _malloc_dump();
function _malloc_dump()
local(ptr, top, alloc, in_use)
(
top = malloc(0);
gfx_g = gfx_a = 1;
gfx_r = gfx_b = 0;
gfx_x = gfx_y = gfx_texth;
gfx_drawchar($'['); gfx_drawnumber(0, 0); gfx_drawchar($']');
gfx_drawchar($'='); gfx_drawnumber(top, 0);
ptr = 3;
while(ptr < top ? (
alloc = ptr[-2];
in_use = ptr[-1];
gfx_x = gfx_texth;
gfx_y += gfx_texth * 5/4;
gfx_drawchar($'['); gfx_drawnumber(ptr - 2, 0); gfx_drawchar($']');
gfx_drawchar($'='); gfx_drawnumber(alloc, 0);
gfx_drawchar($' ');
gfx_drawchar($'['); gfx_drawnumber(ptr - 1, 0); gfx_drawchar($']');
gfx_drawchar($'='); gfx_drawnumber(in_use, 0);
alloc > 0 && in_use >= 0 ? ptr += alloc + 2;
));
); */
// Actually part of array.jsfx-inc and midi_queue.jsfx-inc, but included
// here to avoid dependency issues.
function array_alloc(rows, cols)
instance(buf, num, size)
(
num = 0;
size = cols;
buf = malloc(rows * cols);
);
function array_alloc(rows)
(
this.array_alloc(rows, 1);
);
function midiq_alloc(num)
instance(buf, size)
(
size = num * 3;
buf = malloc(size);
);
|
|
|
07-03-2021, 01:35 AM
|
#12
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,598
|
Quote:
Originally Posted by xpander
Code:
idx = (idx + 1) % len;
|
Oops, that's a bug in my code, but I guess it still shouldn't crash REAPER.
BTW, I have already fixed this bug a while back (by forcing len >= 1).
|
|
|
07-03-2021, 04:58 AM
|
#13
|
Human being with feelings
Join Date: Jun 2020
Posts: 48
|
Quote:
Originally Posted by matt_t
[*]# JSFX: remove autodetect-mono setting, replace with force-mono setting
|
I was also a big fan of the autodetect-mono. I hire many freelancers that don't have any experience in Reaper to do dialog editing in Reaper, and having a loudness meter with autodetect-mono would have been one less thing to worry about for me. Any chance to see it reintegrated?
|
|
|
07-03-2021, 06:36 AM
|
#14
|
Human being with feelings
Join Date: Jun 2007
Location: Terra incognita
Posts: 7,608
|
Quote:
Originally Posted by Tale
BTW, I have already fixed this bug a while back (by forcing len >= 1).
|
Ok, thanks Tale. I noticed the poof crash when I started to test JS effects after ED's report. I'll have to update the JSFX pack here to the latest version.
|
|
|
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 10:16 AM.
|