Old 07-02-2021, 08:12 AM   #1
matt_t
Human being with feelings
 
Join Date: Nov 2012
Location: West Midlands, UK
Posts: 379
Default 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
matt_t is offline   Reply With Quote
Old 07-02-2021, 08:36 AM   #2
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Quote:
Originally Posted by matt_t View Post
# 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 View Post
# Render: handle multibyte characters in render dialog
What does this do?
Phazma is offline   Reply With Quote
Old 07-02-2021, 09:17 AM   #3
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

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.
EvilDragon is offline   Reply With Quote
Old 07-02-2021, 09:27 AM   #4
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 EvilDragon View Post
Supports Unicode and so on.
originated by this I guess:
https://forum.cockos.com/showthread.php?t=255148
nofish is offline   Reply With Quote
Old 07-02-2021, 09:36 AM   #5
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,872
Default

Thanks for explaining guys.
Phazma is offline   Reply With Quote
Old 07-02-2021, 09:55 AM   #6
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,913
Default

Quote:
Originally Posted by EvilDragon View Post
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.
Edgemeal is offline   Reply With Quote
Old 07-02-2021, 12:00 PM   #7
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 nofish View Post
Nice
__________________
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 07-02-2021, 12:14 PM   #8
PhelixK
Human being with feelings
 
PhelixK's Avatar
 
Join Date: Mar 2019
Posts: 876
Default

Quote:
Originally Posted by Phazma View Post
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.
PhelixK is offline   Reply With Quote
Old 07-02-2021, 01:08 PM   #9
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by EvilDragon View Post
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!
Justin is offline   Reply With Quote
Old 07-02-2021, 04:07 PM   #10
Arthur
Human being with feelings
 
Arthur's Avatar
 
Join Date: Dec 2017
Posts: 83
Default

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
Arthur is offline   Reply With Quote
Old 07-02-2021, 05:18 PM   #11
xpander
Human being with feelings
 
xpander's Avatar
 
Join Date: Jun 2007
Location: Terra incognita
Posts: 7,670
Default

Quote:
Originally Posted by EvilDragon View Post
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);
);
xpander is offline   Reply With Quote
Old 07-03-2021, 01:35 AM   #12
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,646
Default

Quote:
Originally Posted by xpander View Post
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).
Tale is online now   Reply With Quote
Old 07-03-2021, 04:58 AM   #13
Thunderfinger
Human being with feelings
 
Join Date: Jun 2020
Posts: 48
Default

Quote:
Originally Posted by matt_t View Post
[*]# 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?
Thunderfinger is offline   Reply With Quote
Old 07-03-2021, 06:36 AM   #14
xpander
Human being with feelings
 
xpander's Avatar
 
Join Date: Jun 2007
Location: Terra incognita
Posts: 7,670
Default

Quote:
Originally Posted by Tale View Post
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.
xpander 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 12:52 AM.


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