Old 11-14-2019, 02:37 AM   #1
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 3,038
Default v5.985+dev1113 - November 13 2019

v5.985+dev1113 - November 13 2019
  • + MIDI editor: add note-type buttons to default toolbar
  • + MIDI editor: add option to move bank/program change events with notes
  • + MIDI editor: guarantee that notation events occur immediately after the note they are attached to
  • + MIDI: support editing file-based MIDI when multiple instances exist in the same project [t=227028]
  • + ReaScript: add support for user-defined note and track notation data that is not displayed
  • + Theme: main window size area theme element is now only applied on mouseover
  • + ReaScript: fix setting MIDI meta-messages via API
  • # API: extend ThemeLayout_GetLayout() to allow querying context DPI-scaling
  • # HiDPI: restore toolbar_load/save/lock images in IconTheme for sws
  • # MIDI editor: enable mouse-editing bank/program change marker with more CC mouse modifiers
  • # MIDI editor: improve support for custom action double-click mouse modifiers in bank/program, text, sysex lanes
  • # MIDI editor: prevent modifying program number via mouse edit in bank/program select lane
  • # Theme: add colors for unselected MIDI note handles, light and dark
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
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is offline   Reply With Quote
Old 11-14-2019, 06:30 AM   #2
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,637
Default

Option to follow note selection for bank/program select events doesn't have an action. (Actually the option to follow note selection for CC events also doesn't have an action!)

It would also be nice if this option showed when we right-click the toolbar button, similarly to how we have options for snapping on right-click.
EvilDragon is online now   Reply With Quote
Old 11-14-2019, 06:31 AM   #3
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,637
Default

Also, did something change when right-clicking the empty part of the CC lane where the lane type selector is (all the way to the left)? Previously it was opening MIDI main menu context, now it's opening MIDI CC lane context. I liked how it was before...
EvilDragon is online now   Reply With Quote
Old 11-14-2019, 09:13 AM   #4
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 957
Default

Quote:
Originally Posted by _Stevie_ View Post
v5.985+dev1113 - November 13 2019
[*]+ ReaScript: add support for user-defined note and track notation data that is not displayed
Where can I learn more about this?
pcartwright is offline   Reply With Quote
Old 11-14-2019, 09:23 AM   #5
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

Quote:
Originally Posted by pcartwright View Post
Where can I learn more about this?
https://forum.cockos.com/showthread.php?t=227040
https://forum.cockos.com/showpost.php?p=2202220
schwa is offline   Reply With Quote
Old 11-14-2019, 09:35 AM   #6
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 796
Default

Quote:
+ MIDI editor: guarantee that notation events occur immediately after the note they are attached to
If a notation event occurs immediately after the note they are attached to, would this not mean they cannot be used for articulations or keyswitches/patch changes?
Klangfarben is offline   Reply With Quote
Old 11-14-2019, 09:54 AM   #7
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

Quote:
Originally Posted by Klangfarben View Post
If a notation event occurs immediately after the note they are attached to, would this not mean they cannot be used for articulations or keyswitches/patch changes?
No, the intent of the change is to make the notation event placement more predictable for scripts that want to use the notation data to trigger articulations or keyswitches. A script will always get the note and its associated notation event in the same block with the same timestamp, the new guarantee is that the notation event will always be the very next event after the note. (A script that wants to use the notation data would need to check the following event before processing the note event.)
schwa is offline   Reply With Quote
Old 11-14-2019, 01:21 PM   #8
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 957
Default

Very nice. Thank you!
pcartwright is offline   Reply With Quote
Old 11-14-2019, 01:49 PM   #9
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 957
Default

Quote:
Originally Posted by _Stevie_ View Post
v5.985+dev1113 - November 13 2019
[*]+ ReaScript: add support for user-defined note and track notation data that is not displayed
Pardon my ignorance, but how is this feature called from the API?

Before this update I used this LUA function to insert notation data:
reaper.MIDI_InsertTextSysexEvt()

But that function doesn't seem to work with the new pre.

Here's a simple script that generates the text "Normal" in 5.985 but doesn't seem to do anything in +dev1113:

Steps:
open MIDI take in MIDI editor
select position via editor
run script

Code:
midieditor = reaper.MIDIEditor_GetActive()
take =  reaper.MIDIEditor_GetTake( midieditor )
cursor =  reaper.GetCursorPositionEx( 0 )
cursorPPQ = reaper.MIDI_GetPPQPosFromProjTime( take, cursor)
reaper.MIDI_InsertTextSysexEvt( take, false, false, cursorPPQ, 0xFF0F, "TRAC text Normal")
pcartwright is offline   Reply With Quote
Old 11-14-2019, 01:57 PM   #10
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

Quote:
Originally Posted by pcartwright View Post
But that function doesn't seem to work with the new pre.
That's interesting ... sending in the type as 0xFF0F is literally a hack to work around the previously not-working behavior. It should work if you now use 0xF as the type. We'll add some code to make sure the old hacky way is supported as well.

Last edited by schwa; 11-14-2019 at 02:03 PM.
schwa is offline   Reply With Quote
Old 11-14-2019, 02:09 PM   #11
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 957
Default

Quote:
Originally Posted by schwa View Post
That's interesting ... sending in the type as 0xFF0F is literally a hack to work around the previously not-working behavior. It should work if you now use 0xF as the type. We'll add some code to make sure the old hacky way is supported as well.
Thanks for the feedback.

I may be the only one that "hacked" anything (I don't know one way or the other), so don't change it on my account. My scripts are probably a corner case (and I can update them quickly).
pcartwright is offline   Reply With Quote
Old 11-15-2019, 04:04 AM   #12
bFooz
Human being with feelings
 
bFooz's Avatar
 
Join Date: Jul 2010
Location: Slovakia
Posts: 1,199
Default

Quote:
Originally Posted by _Stevie_ View Post
+ ReaScript: add support for user-defined note and track notation data that is not displayed
Great addition!

This does not seem to work when there is no other notation data assigned to the note.

If the user value is set as empty string, the whole user data could be removed instead of keeping them unchanged. Don't know at the moment if this would be safe or better, but other native data behaves like this (e.g. voice 0).
__________________
Donations | Mixing & Mastering Services
bFooz is online now   Reply With Quote
Old 11-15-2019, 04:15 AM   #13
bFooz
Human being with feelings
 
bFooz's Avatar
 
Join Date: Jul 2010
Location: Slovakia
Posts: 1,199
Default

Regarding the track notation data, this was possible before (5.984) and still is:



What does the new "user" data bring to it? Was that even desired behaviour? I've never used it though but someone easily could have.
__________________
Donations | Mixing & Mastering Services
bFooz is online now   Reply With Quote
Old 11-15-2019, 04:23 AM   #14
bFooz
Human being with feelings
 
bFooz's Avatar
 
Join Date: Jul 2010
Location: Slovakia
Posts: 1,199
Default

Quote:
+ MIDI editor: guarantee that notation events occur immediately after the note they are attached to
It looks like this for notes at the same position:



I have understood that it was supposed to be note-notation-note-notation.
__________________
Donations | Mixing & Mastering Services
bFooz is online now   Reply With Quote
Old 11-15-2019, 06:22 AM   #15
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

Quote:
Originally Posted by bFooz View Post
Regarding the track notation data, this was possible before (5.984) and still is:



What does the new "user" data bring to it? Was that even desired behaviour? I've never used it though but someone easily could have.
I think if you use the API to put garbage in a track notation event, the garbage will be removed if the user edits the event normally. The new user data should persist.
schwa is offline   Reply With Quote
Old 11-15-2019, 06:27 AM   #16
bFooz
Human being with feelings
 
bFooz's Avatar
 
Join Date: Jul 2010
Location: Slovakia
Posts: 1,199
Default

Quote:
Originally Posted by schwa View Post
I think if you use the API to put garbage in a track notation event, the garbage will be removed if the user edits the event normally. The new user data should persist.
Yes, it does.
__________________
Donations | Mixing & Mastering Services
bFooz is online now   Reply With Quote
Old 11-15-2019, 08:00 AM   #17
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,637
Default

Quote:
Originally Posted by bFooz View Post
It looks like this for notes at the same position:



I have understood that it was supposed to be note-notation-note-notation.
Yeah... the above doesn't really look like a guaranteed notation event follows note event...
EvilDragon is online now   Reply With Quote
Old 11-15-2019, 03:36 PM   #18
asai
Human being with feelings
 
asai's Avatar
 
Join Date: Apr 2016
Location: Tuscon, AZ
Posts: 30
Default MIDI CC Editor Mouse Click

Hello Devs,

Just letting you know, if you don't already know, that the point creation in the CC editor still requires that you click above or below the CC line. If I try to shift click or ctrl click like in the main track panel volume envelope, no points get created.

Thanks for all you do,
Asai
asai is offline   Reply With Quote
Old 11-15-2019, 04:52 PM   #19
Vadium
Human being with feelings
 
Vadium's Avatar
 
Join Date: Apr 2016
Posts: 81
Default

Hi,
this is not the first time in recent versions if I accidentally double-click in the tempo field (instead of one click), Reaper crashes
__________________
macOS 10.13.6, personal/small business use license
Vadium is offline   Reply With Quote
Old 11-15-2019, 06:07 PM   #20
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

Quote:
Originally Posted by Vadium View Post
Hi,
this is not the first time in recent versions if I accidentally double-click in the tempo field (instead of one click), Reaper crashes
Double click where, exactly?
schwa is offline   Reply With Quote
Old 11-15-2019, 06:35 PM   #21
Vadium
Human being with feelings
 
Vadium's Avatar
 
Join Date: Apr 2016
Posts: 81
Default

Quote:
Originally Posted by schwa View Post
Double click where, exactly?
see att.pic.:

To reproduce:
1. click on empty space in a project window
2. double click on bpm digit.
3. go to step 1

(it is an artificial way especially to reproduce a crash (some time it needs several loops). in real work it may be enough just 1 time to double click.)
Attached Images
File Type: jpg BPM double click issue.jpg (37.3 KB, 51 views)
__________________
macOS 10.13.6, personal/small business use license

Last edited by Vadium; 11-15-2019 at 06:48 PM.
Vadium is offline   Reply With Quote
Old 11-15-2019, 07:43 PM   #22
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 12,581
Default

Quote:
Originally Posted by Vadium View Post
see att.pic.:

To reproduce:
1. click on empty space in a project window
2. double click on bpm digit.
3. go to step 1

(it is an artificial way especially to reproduce a crash (some time it needs several loops). in real work it may be enough just 1 time to double click.)
Can we get a crash report please? Thanks!
Justin is online now   Reply With Quote
Old 11-16-2019, 03:28 PM   #23
Vadium
Human being with feelings
 
Vadium's Avatar
 
Join Date: Apr 2016
Posts: 81
Default

Quote:
Originally Posted by Justin View Post
Can we get a crash report please? Thanks!
crashed in recovery mode (FX are offline): Empty project (default_4.0 theme) with 1 empty track created, then a double click on the tempo digit performed:


Process: REAPER [54266]
Path: /Applications/REAPER64.app/Contents/MacOS/REAPER
Identifier: com.cockos.reaper
Version: 5.97.515 26b6b63 (5.97.515 26b6b63)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: REAPER [54266]
User ID: 501

Date/Time: 2019-11-17 01:31:15.085 +0300
OS Version: Mac OS X 10.13.6 (17G9016)
Report Version: 12
Anonymous UUID: 5CC7AB07-CBA5-F95E-3C99-7402F0A1A341

Sleep/Wake UUID: 0C62F99F-D264-4451-BF56-B03341F1E1BB

Time Awake Since Boot: 110000 seconds
Time Since Wake: 1400 seconds

System Integrity Protection: enabled

Crashed Thread: 0 reaper Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000007fc85464a80
Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]

VM Regions Near 0x7fc85464a80:
mapped file 000000011b22f000-000000011cab6000 [ 24.5M] r--/r-x SM=ALI Object_id=8925b263
-->
MALLOC_NANO 0000600000000000-0000600000e00000 [ 14.0M] rw-/rwx SM=PRV

Application Specific Information:
objc_msgSend() selector name: isKindOfClass:

Thread 0 Crashed:: reaper Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff7cf72e9d objc_msgSend + 29
1 com.cockos.reaper 0x00000001061f306a GetDlgItemText(HWND__*, int, char*, int) + 90
2 reaper_js_ReaScriptAPI64.dylib 0x0000000110e9270e JS_Window_GetTitle(void*, char*, int) + 62
3 reaper_js_ReaScriptAPI64.dylib 0x0000000110e9274f __vararg_JS_Window_GetTitle(void**, int) + 47
4 com.cockos.reaper 0x00000001063a9f2e lua_addedfunc(lua_State*) + 2846
5 com.cockos.reaper 0x0000000105ff67f4 luaD_precall + 2132
6 com.cockos.reaper 0x000000010611372e luaV_execute + 1982
7 com.cockos.reaper 0x0000000105ff71f6 luaD_callnoyield + 70
8 com.cockos.reaper 0x0000000105ff8feb luaD_rawrunprotected + 107
9 com.cockos.reaper 0x0000000105ff8d40 luaD_pcall + 64
10 com.cockos.reaper 0x00000001063def08 lua_pcallk + 152
11 com.cockos.reaper 0x00000001064eebb6 luaB_xpcall + 118
12 com.cockos.reaper 0x0000000105ff67f4 luaD_precall + 2132
13 com.cockos.reaper 0x000000010611372e luaV_execute + 1982
14 com.cockos.reaper 0x0000000105ff71f6 luaD_callnoyield + 70
15 com.cockos.reaper 0x0000000105ff8feb luaD_rawrunprotected + 107
16 com.cockos.reaper 0x0000000105ff8d40 luaD_pcall + 64
17 com.cockos.reaper 0x00000001063def08 lua_pcallk + 152
18 com.cockos.reaper 0x00000001063ae25a LuaAPI::RunDeferredTask(HWND__*) + 522
19 com.cockos.reaper 0x00000001064246cc ReaScript_RunDeferred() + 220
20 com.cockos.reaper 0x0000000105d60dc8 runMiscTimers() + 1544
21 com.cockos.reaper 0x0000000105d5fef7 Main_OnTimer(HWND__*, unsigned long) + 167
22 com.cockos.reaper 0x0000000106337d94 MainProc(HWND__*, unsigned int, unsigned long, long) + 2484
23 com.cockos.reaper 0x00000001061d61a6 SwellDialogDefaultWindowProc(HWND__*, unsigned int, unsigned long, long) + 438
24 com.apple.Foundation 0x00007fff57d51e29 __NSFireTimer + 83
25 com.apple.CoreFoundation 0x00007fff55bc8624 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUN CTION__ + 20
26 com.apple.CoreFoundation 0x00007fff55bc82a4 __CFRunLoopDoTimer + 1108
27 com.apple.CoreFoundation 0x00007fff55bc7d9a __CFRunLoopDoTimers + 346
28 com.apple.CoreFoundation 0x00007fff55bbf53b __CFRunLoopRun + 2427
29 com.apple.CoreFoundation 0x00007fff55bbe927 CFRunLoopRunSpecific + 487
30 com.apple.HIToolbox 0x00007fff54e9ed96 RunCurrentEventLoopInMode + 286
31 com.apple.HIToolbox 0x00007fff54e9eb06 ReceiveNextEventCommon + 613
32 com.apple.HIToolbox 0x00007fff54e9e884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
33 com.apple.AppKit 0x00007fff5314da3b _DPSNextEvent + 2085
34 com.apple.AppKit 0x00007fff538e3e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:deque ue:] + 3044
35 com.apple.AppKit 0x00007fff5314284d -[NSApplication run] + 764
36 com.apple.AppKit 0x00007fff53111a3a NSApplicationMain + 804
37 com.cockos.reaper 0x0000000105c957b4 start + 52
__________________
macOS 10.13.6, personal/small business use license

Last edited by Vadium; 11-16-2019 at 03:43 PM.
Vadium is offline   Reply With Quote
Old 11-17-2019, 06:35 AM   #24
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

Quote:
Originally Posted by Vadium View Post
Thread 0 Crashed:: reaper Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff7cf72e9d objc_msgSend + 29
1 com.cockos.reaper 0x00000001061f306a GetDlgItemText(HWND__*, int, char*, int) + 90
2 reaper_js_ReaScriptAPI64.dylib 0x0000000110e9270e JS_Window_GetTitle(void*, char*, int) + 62
3 reaper_js_ReaScriptAPI64.dylib 0x0000000110e9274f __vararg_JS_Window_GetTitle(void**, int) + 47
That's some script calling the extension js_ReaScriptAPI asking for the title of an invalid window.
schwa is offline   Reply With Quote
Old 11-17-2019, 06:35 AM   #25
Vadium
Human being with feelings
 
Vadium's Avatar
 
Join Date: Apr 2016
Posts: 81
Default

Also there are unregular crashes, when I import subproject as mediafile first time or if I first time save a subproject:

Crashed Thread: 0 reaper Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000005d6a01dbec0
Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]

VM Regions Near 0x5d6a01dbec0:
MALLOC_LARGE 000000011e214000-000000011e420000 [ 2096K] rw-/rwx SM=PRV
-->
MALLOC_NANO 0000600000000000-0000600001e00000 [ 30.0M] rw-/rwx SM=PRV

Application Specific Information:
objc_msgSend() selector name: isKindOfClass:


Thread 0 Crashed:: reaper Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff7cf72e9d objc_msgSend + 29
1 com.cockos.reaper 0x00000001087ba06a GetDlgItemText(HWND__*, int, char*, int) + 90
2 reaper_js_ReaScriptAPI64.dylib 0x0000000113ddf70e JS_Window_GetTitle(void*, char*, int) + 62
3 reaper_js_ReaScriptAPI64.dylib 0x0000000113ddf74f __vararg_JS_Window_GetTitle(void**, int) + 47
4 com.cockos.reaper 0x0000000108970f2e lua_addedfunc(lua_State*) + 2846
5 com.cockos.reaper 0x00000001085bd7f4 luaD_precall + 2132
6 com.cockos.reaper 0x00000001086da72e luaV_execute + 1982
7 com.cockos.reaper 0x00000001085be1f6 luaD_callnoyield + 70
8 com.cockos.reaper 0x00000001085bffeb luaD_rawrunprotected + 107
9 com.cockos.reaper 0x00000001085bfd40 luaD_pcall + 64
10 com.cockos.reaper 0x00000001089a5f08 lua_pcallk + 152
11 com.cockos.reaper 0x0000000108ab5bb6 luaB_xpcall + 118
12 com.cockos.reaper 0x00000001085bd7f4 luaD_precall + 2132
13 com.cockos.reaper 0x00000001086da72e luaV_execute + 1982
14 com.cockos.reaper 0x00000001085be1f6 luaD_callnoyield + 70
15 com.cockos.reaper 0x00000001085bffeb luaD_rawrunprotected + 107
16 com.cockos.reaper 0x00000001085bfd40 luaD_pcall + 64
17 com.cockos.reaper 0x00000001089a5f08 lua_pcallk + 152
18 com.cockos.reaper 0x000000010897525a LuaAPI::RunDeferredTask(HWND__*) + 522
19 com.cockos.reaper 0x00000001089eb6cc ReaScript_RunDeferred() + 220
20 com.cockos.reaper 0x0000000108327dc8 runMiscTimers() + 1544
21 com.cockos.reaper 0x0000000108326ef7 Main_OnTimer(HWND__*, unsigned long) + 167
22 com.cockos.reaper 0x00000001088fed94 MainProc(HWND__*, unsigned int, unsigned long, long) + 2484
23 com.cockos.reaper 0x000000010879d1a6 SwellDialogDefaultWindowProc(HWND__*, unsigned int, unsigned long, long) + 438
24 com.apple.Foundation 0x00007fff57d51e29 __NSFireTimer + 83
25 com.apple.CoreFoundation 0x00007fff55bc8624 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUN CTION__ + 20
26 com.apple.CoreFoundation 0x00007fff55bc82a4 __CFRunLoopDoTimer + 1108
27 com.apple.CoreFoundation 0x00007fff55bc7d9a __CFRunLoopDoTimers + 346
28 com.apple.CoreFoundation 0x00007fff55bbf53b __CFRunLoopRun + 2427
29 com.apple.CoreFoundation 0x00007fff55bbe927 CFRunLoopRunSpecific + 487
30 com.apple.HIToolbox 0x00007fff54e9ed96 RunCurrentEventLoopInMode + 286
31 com.apple.HIToolbox 0x00007fff54e9eb06 ReceiveNextEventCommon + 613
32 com.apple.HIToolbox 0x00007fff54e9e884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
33 com.apple.AppKit 0x00007fff5314da3b _DPSNextEvent + 2085
34 com.apple.AppKit 0x00007fff538e3e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:deque ue:] + 3044
35 com.apple.AppKit 0x00007fff5314284d -[NSApplication run] + 764
36 com.apple.AppKit 0x00007fff53111a3a NSApplicationMain + 804
37 com.cockos.reaper 0x000000010825c7b4 start + 52
__________________
macOS 10.13.6, personal/small business use license

Last edited by Vadium; 11-17-2019 at 06:55 AM.
Vadium is offline   Reply With Quote
Old 11-17-2019, 06:50 AM   #26
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

That's the same crash. It's not REAPER, it's a script calling an extension with invalid data.
schwa is offline   Reply With Quote
Old 11-17-2019, 07:02 AM   #27
Vadium
Human being with feelings
 
Vadium's Avatar
 
Join Date: Apr 2016
Posts: 81
Default

Quote:
Originally Posted by schwa View Post
That's the same crash. It's not REAPER, it's a script calling an extension with invalid data.
How to check/find this script?

For now:
No project startup action is defined.

No global startup action is defined.

Only Reaticulate runs on empty project


Update: yes, it seems that Reaticulate is cause. I switch an option "Run on startup" in it and can't reproduce crashes yet. Thanks for advice, schwa
__________________
macOS 10.13.6, personal/small business use license

Last edited by Vadium; 11-17-2019 at 07:18 AM.
Vadium is offline   Reply With Quote
Old 11-17-2019, 07:50 AM   #28
Vadium
Human being with feelings
 
Vadium's Avatar
 
Join Date: Apr 2016
Posts: 81
Default

is there a way that Reaper just shows some warning instead of a crash for cases like this?
__________________
macOS 10.13.6, personal/small business use license
Vadium is offline   Reply With Quote
Old 11-17-2019, 08:11 AM   #29
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

Quote:
Originally Posted by Vadium View Post
is there a way that Reaper just shows some warning instead of a crash for cases like this?
With script calls into the REAPER API we can add various amounts of hardening, but since this is a script calling an extension, there's really not much REAPER can do.
schwa is offline   Reply With Quote
Old 11-17-2019, 09:16 AM   #30
tack
Human being with feelings
 
tack's Avatar
 
Join Date: Jan 2014
Location: Ontario, Canada
Posts: 862
Default

Yes, it's a problem that js_ReaScriptAPI isn't sufficiently robust here (it breaks the contract that code in higher level languages like Lua must not be able to crash the interpreter). That bug should be reported there, but I'll take a look at fixing things on Reaticulate's side. Hopefully I can reproduce it.
tack is offline   Reply With Quote
Old 11-17-2019, 11:04 AM   #31
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 10,387
Default

Quote:
Originally Posted by tack View Post
Yes, it's a problem that js_ReaScriptAPI isn't sufficiently robust here (it breaks the contract that code in higher level languages like Lua must not be able to crash the interpreter). That bug should be reported there, but I'll take a look at fixing things on Reaticulate's side. Hopefully I can reproduce it.
To be fair, that extension doesn't claim to be anything but glue code between scripts and low-level window management functions. If high-level code is calling low-level functions, there's no real contract involved, beyond the great power and great responsibility thing.
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 10:19 AM.


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