Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BR: Crash after loading via Clipboard, trying to select USER bank #219

Open
GrizzlyAK opened this issue Oct 12, 2023 · 1 comment
Open
Labels

Comments

@GrizzlyAK
Copy link

GrizzlyAK commented Oct 12, 2023

New Reaticulate user. Trying it out. Loaded a few EW banks from web site using clipboard. Did it once OK. Afterward, started getting the following error:

...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:206: ...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:1853: rtk.NativeMenu.open_at_widget() called before widget was drawn

Didn't know if I was missing something, but wanted to report. Reaper v6.82. Installed via ReaPack.

I think Reaticulate is just hosed in my instance at the moment. I got a dialog asking if I wanted to terminate all instances or start a new one, I chose the latter. Since then, things have been weird. Trying to delete an articulation list in the UI, or clear all active, does nothing atm. How do you kill a script running in the background in Reaper, or does it require a restart of Reaper?

Here's the entire stack trace:

18:56:01.355 [ERROR]   fatal: ...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:1853: rtk.NativeMenu.open_at_widget() called before widget was drawn
stack traceback:
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:205: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:204>
	[C]: in function 'assert'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:1853: in method 'open_at_widget'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:5478: in method 'open'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:5484: in method '_handle_mousedown'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:2498: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:2451>
	(...tail calls...)
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3334: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3313>
	(...tail calls...)
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3334: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3313>
	(...tail calls...)
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3334: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3313>
	(...tail calls...)
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3334: in method '_handle_event'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:2933: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:2897>
	(...tail calls...)
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3334: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3313>
	(...tail calls...)
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3334: in field '_handle_event'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:4114: in method '_handle_window_event'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:4019: in method '_update'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3520: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:3520>
	[C]: in function 'xpcall'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:210: in field 'call'
	...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:218: in function <...pData\Roaming\REAPER\Scripts\Reaticulate\reaticulate.lua:218>
@jtackaberry
Copy link
Owner

The crash is definitely a bug, and thanks for the stack trace. To help with reproduction, did you take any particular action when the crash occurred? Was it when you were importing additional banks from clipboard, or was that afterward?

I got a dialog asking if I wanted to terminate all instances or start a new one, I chose the latter. Since then, things have been weird.

This was using the Reaticulate_Main action? Hm, yeah, you should have chose the first option (to terminate the existing instance). Not user-blaming here -- Reaticulate definitely should handle this situation more robustly than it does which I'll fix as well -- but the benefit of choosing the first option is that you can then bind a key to the Reaticulate_Main action to toggle Reaticulate on and off. :)

With multiple Reaticulate scripts running simultaneously, yes, I can fully imagine the weirdness you encountered. I'll add some logic to prevent this from occurring. Sorry to hear you ran into it.

How do you kill a script running in the background in Reaper, or does it require a restart of Reaper?

Reaper doesn't offer any kind of "task manager" for active scripts (it would be nice if it did). Normally the way to terminate a script is to re-run the action that started the script in the first place, and tell Reaper to terminate it when it asks. In your case because you said "start a new instance" if you also selected "don't ask again" at that point then and the script itself isn't offering another mechanism to terminate itself (which Reaticulate currently doesn't), then unfortunately restarting REAPER is the only way I know of.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants