'***\Application Data\Renoise\V3.0.0\Scripts\Tools\ledger.scripts.VstiFromMenu.xrnx\main.lua' failed in one of its notifiers.
The notifier will be disabled to prevent further errors.
Please contact the author (Ledger) for assistance...
Script execution terminated by user.
stack traceback:
main.lua:260: in function <152><br>```
</152>
Still terminates when installing, got a bit different āScripting tool errorā message this time:
'***\Application Data\Renoise\V3.0.0\Scripts\Tools\ledger.scripts.VstiFromMenu.xrnx\main.lua' failed in one of its notifiers. The notifier will be disabled to prevent further errors. Please contact the author (Ledger) for assistance... main.lua:260: Script execution terminated by user. stack traceback: [string "do..."]:36: in function main.lua:260: in function <152><br>```
<br>
The thing is, that after terminating it says script that has been installed, it shows up in rigt-click menu and works but when relaunching Renoise it`s the previous message again <br>
```<br>'***\Application Data\Renoise\V3.0.0\Scripts\Tools\ledger.scripts.VstiFromMenu.xrnx\main.lua' failed in one of its notifiers. The notifier will be disabled to prevent further errors. Please contact the author (Ledger) for assistance... Script execution terminated by user. stack traceback: main.lua:260: in function <152><br>```
<br>
So basically when I launch Renoise now, each time I get that "Script terminated" message, press yes, get "Scipting tool error", press ok and it works.</152></152>
This is quite hard to narrow down as it is not happening here.
Could you use this debug script to get me a printout of all the plugs you have installed on your computer.
It adds the following entry in the tools menu. If you can click it and save the txt file to your desktop then upload/ copy paste the contents here, it may be helpful:
Before loading a plugin instrument, press it and you will be taken to the first empty instrument slot in the instrument list. If there are no free slots available, a new one will be created
When I try it install the plugin causes and endless loop, until a termination dialogue appears.
The tool still works after termination, Load VSTi and Load AU menu are filled.
After termination:
'/Users/Ju/Library/Preferences/Renoise/V3.0.1/Scripts/Tools/ledger.scripts.VstiFromMenu.xrnx/main.lua' failed in one of its notifiers.
The notifier will be disabled to prevent further errors.
Please contact the author (Ledger) for assistance...
Script execution terminated by user.
stack traceback:
main.lua:316: in function <main.lua:152>
second time:
'/Users/Ju/Library/Preferences/Renoise/V3.0.1/Scripts/Tools/ledger.scripts.VstiFromMenu.xrnx/main.lua' failed in one of its notifiers.
The notifier will be disabled to prevent further errors.
Please contact the author (Ledger) for assistance...
main.lua:260: Script execution terminated by user.
stack traceback:
[string "do..."]:37: in function <[string "do..."]:35>
main.lua:260: in function <main.lua:152>
If I remove the vst if- part of the type detection loop, it will the CPU usage will still go up with a huge pause, but the detection will pass.
if I print the vst names, I can see that it terminated always after last vst.
native detection should look for ānative/ā instead ānativeā, since some vst have ānativeā in their name,
donāt understand when this detection is triggered, maybe thatās the problem, so it called a million times? Why is it observable, because of the possibility to rescan plugins? Maybe there is a system observable?
EDIT:
Or is it some recursion problem, so if the observable is triggered if the plugin list changes and the detection function itself changes the plugin list, it would be called in some evil recursion. I guess I simply do not understand how the function is triggeredā¦
Thanks for the further info. I`ve had a quick look here but this is could be quite difficult to troubleshoot at this end.
The observable is triggered on a new document (renoise song being loaded in). This is to prevent the tool trying to access the song variables before they exist. i.e. on loading renoise for the first time.
Could you run the script linked here from an earlier post and upload the .txt? These bugs seem to be naming issues, this way I can have a look at it. I`ll look at the native issue you mention too.
I also littledisimproved youradd_vsts_to_mixer() function:
[SPOILER]
function add_vsts_to_mixer()
local rns_track_device_infos = renoise.song().tracks[1].available_device_infos
local plug_type = {}
local VSTs = 1
local no_of_vsts = #rns_track_device_infos
local hidden_plugs = {"*Formula Device",
"*MIDI-CC Device",
--"Distortion",
--"Filter",
"Filter 2",
--"Gate",
--"LofiMat",
"MasterTrackVolPan",
--"mpReverb",
"SendTrackVolPan",
"Shaper",
"Stutter",
"TrackVolPan"
}
--get fx plugin names and add to table "plugins"
for VSTs = 1,no_of_vsts do
local vpath = rns_track_device_infos[VSTs].path;
--routing
if string.find(vpath , "/#",1, true ) then
plug_type[VSTs] = "Routing"
--meta
elseif string.find(vpath , "/*", 1, true) then
plug_type[VSTs] = "Meta"
--native is last as all renoise fx have native in path
elseif string.find(vpath , "Native/") then
plug_type[VSTs] = "Native"
-- remove hidden/ compatability plugs
for i = 1,#rns_track_device_infos[VSTs].short_name do
if rns_track_device_infos[VSTs].short_name == hidden_plugs[i] then
plug_type[VSTs] = "Void"
break
end
end
--Plugins
elseif string.find(vpath , "VST/") then
plug_type[VSTs] = "VST"
elseif string.find(vpath , "DSSI/") then
plug_type[VSTs] = "DSSI"
elseif string.find(vpath ,"AU/") then
plug_type[VSTs] = "AU"
end
end--for
[/SPOILER]
I think to fix the problem, we need some menu object cache to be used instead.
So if you add an entry to a gui menu, renoise osx will immediately redraw the whole gui without any reason (since next screen frame is still far away). So if I have 1000 plugins installed, the OSX renoise gui will be redrawn on every single
renoise.tool():add_menu_entry()
callā¦ In this example, like 5000 ? times or more. Within one frame tick.
Really hope the Taktik will fix this with the 3.1 update!
EDIT: I donāt knowā¦ all rubbish I wrote above.
the function
renoise.tool():add_menu_entry()
seems to be extremely slow.hmÄ reported above and obviously uses windows, so itās maybe just so slow on every system.
I`ll take a look at your function improvement too, I guess its a bit of a speed up?
I have no clue about LUA, itās only matching for path separator, ā/ā, too, for more exact matching. also it seems that luauās string.find() function supports regular expressions? So a / or # or * might be problematic I thought. Or just needs a interpolation \ ? Dunnoā¦