guy is having a problem with tools

hi, i sent PakettiR3 to a guy and he said he had issues with it:

'C:\Users\William\AppData\Roaming\Renoise\V3.1.0\Scripts\Tools\org.lackluster.Paketti.xrnx' failed to load.

Please remove this tool or contact the author (lackluster | esaruoho@gmail.com) for assistance...

main.lua:1: module 'impulsetracker' not found:
  no field package.preload['impulsetracker']
  no file 'C:\Program Files\Csound6_x64\examples\lua\impulsetracker.lua'
  no file 'C:\Users\William\AppData\Roaming\Renoise\V3.1.0\Scripts\Libraries\impulsetracker.lua'
that wasn't all of it, but you get the gist.

then i mashed all the “separate-from-main.lua” .lua’s together, and sent that to him, and he still had the same issue.

Then he mentioned that some other tools also give him these issues.

so, what can he do? he’s an admin of the windows machine he’s running on. what is wrong? i’ve never heard of these issues.

'C:\Users\William\AppData\Roaming\Renoise\V3.1.1\Scripts\Tools\AS.Beatslaughter.MixerSetTrackDelayInSamples.xrnx' failed to load.

Please remove this tool or contact the author (Alexander Stoica | Beatslaughter (info@beatslaughter.de)) for assistance...

main.lua:11: module 'Classes/OutputDelay' not found:
  no field package.preload['Classes/OutputDelay']
  no file 'C:\Program Files\Csound6_x64\examples\lua\Classes/OutputDelay.lua'
  no file 'C:\Users\William\AppData\Roaming\Renoise\V3.1.1\Scripts\Libraries\Classes/OutputDelay.lua'
  no file 'C:\Program Files\Renoise 3.1.1\Resources\Scripts\Libraries\Classes/OutputDelay.lua'
  no file 'C:\Program Files\Csound6_x64\bin\Classes/OutputDelay.dll'
  no file 'C:\Users\William\AppData\Roaming\Renoise\V3.1.1\Scripts\Libraries\Classes/OutputDelay.dll'
  no file 'C:\Program Files\Renoise 3.1.1\Resources\Scripts\Libraries\Classes/OutputDelay.dll'
stack traceback:
  [C]: in function 'require'
  main.lua:11: in main chunk

he also sent me this

Somewhere in the tool is calling to load the impulsetracker.lua file

But this file is not in both directions. The tool should call its own files, within its own tool. If you call an external file, you must make sure it exists.

renoise.tool():add_keybinding {name="Sample Editor:Paketti:Disk Browser Focus", invoke=function()
renoise.app().window:select_preset(7)

invoke=function()renoise.app().window:select_preset(7)

Possibly, you are calling a preset (preset 7) that does not exist on the hard drive.If the user deletes this preset, he will receive an error.

What happens is that when you load the tool, you are calling the presets directly. This code is not shielded within a function.To avoid the error, you could use an envelope condition:

invoke = function()

if (renoise.app().window:select_preset(7) ~= nil ) then

renoise.app().window:select_preset(7)

end

end

I have not tried it, but maybe it works.You should add a tester in all calls to external files

Somewhere in the tool is calling to load the impulsetracker.lua file

But this file is not in both directions. The tool should call its own files, within its own tool. If you call an external file, you must make sure it exists.

thing with impulsetracker.lua is that it is in the tool folder itself, so not external. and he is having this with regular tools too.

thing with impulsetracker.lua is that it is in the tool folder itself, so not external. and he is having this with regular tools too.

I have not had time to view the code of the tool yet.

But if you want to load an external .lua file, it is best to use “require”, at the beginning of your main.lua

Are you using “require”?

In the second case (OutputDelay.lua), I find it strange that the tool calls the same file in different locations.Maybe this multiple chaarges are caused forrenoise.app().window:select_preset(7)

A few other users encountered some similar problems not long ago.

It seems that Csound sets some environment variables that can mess with Lua.

See: https://forum.renoise.com/t/csound-conflicting-with-renoise-tools/48445

I have not had time to view the code of the tool yet.

But if you want to load an external .lua file, it is best to use “require”, at the beginning of your main.lua

Are you using “require”?

Absolutely. I am using require, of course, the only way to do these things.

require "impulsetracker"
require "midi"
require "loaders"
require "joule_danoise_better_column_navigation"

In the second case (OutputDelay.lua), I find it strange that the tool calls the same file in different locations.Maybe this multiple chaarges are caused forrenoise.app().window:select_preset(7)

One detail Raul - this OutputDelay.lua script is created by BeatSlaughter, and he would not be using select_preset(7) at all.

I’m sure there’s something wrong in the setup, just like what dblue said, that has been wrecked by other apps.

Possibly, you are calling a preset (preset 7) that does not exist on the hard drive.If the user deletes this preset, he will receive an error.

View presets cannot be deleted from within Renoise itself, you can only load/save/overwrite them.

Even if you manually edit your Config.xml and trash the view presets there, Renoise will simply generate some default views next time you run it.

renoise.app().window:select_preset() should therefore always work, assuming that you pass in a valid preset number from 1 to 8.

Strange things!!! If it’s something external, is the only way to fix it is to program the tool in another way?

If it happens with other tools, it seems serious…

Strange things!!! If it’s something external, is the only way to fix it is to program the tool in another way?

**renoise.app().window:select_preset()**does not seem to do anything complicated, just call a preset. But it is the error of comment # 2.

If it happens with other tools, it seems serious…

i had to look at this a few times to get what you’re saying.

you’re saying "the error of comment#2 is on line 11, so it must be related to window:selected_preset(7). but the thing is, you’re talking about line 11 of pakettiR3 main.lua, not line 11 of BeatSlaughter’s tool which is not PakettiR3 at all.

Again, I showed two errors that the mate sent me, one was for my tool, one was for a completely unrelated-to-my-tool tool, this time by beatslaughter.

i had to look at this a few times to get what you’re saying.

you’re saying "the error of comment#2 is on line 11, so it must be related to window:selected_preset(7). but the thing is, you’re talking about line 11 of pakettiR3 main.lua, not line 11 of BeatSlaughter’s tool which is not PakettiR3 at all.

Again, I showed two errors that the mate sent me, one was for my tool, one was for a completely unrelated-to-my-tool tool, this time by beatslaughter.

I understand. I’m sorry, you’re right. Here I have had a confusion.Anyway, what happened here is very strange…