I’m not sure. I think I had a confusion. There would have to be some way to have access to be able to write to the external xml file to register it. The API does not have anything to do it. I would like the programmer to have control, also of the command to launch the specific tool. You just have to make sure you do not use a command already used by Renoise.So, then with the command you can open and also close the tool.
I suppose that it is something complicated and for that reason it is necessary that the user registers the command manually.In addition, you also have to deal with the installed tools, if this feature is possible.There could even be a universal command, and a popup to choose the tool you want to launch, all under the hood of Renoise. This could be interesting.
I get what you’re after. For me, PakettiR3 would definitely benefit from going “here’s the shortcuts you should use, do you want to overwrite, are you sure, do you want to revert back to non-paketti shortcuts?”. But I wouldn’t want to have to code the interface myself. I would rather provide them as “preferred shortcuts”. but then that would have to offer the possibility of defining OSX/Windows shortcuts too, and they would have to be different. I could see add_keybinding having a preferred_shortcut, but while I understand that it could be made, I’m not sure if Renoise Devs really want to do that.
When displaying your tool’s GUI/dialog, you may optionally provide a key handler function to intercept keyboard events and implement your own custom bindings that way.
Such bindings will of course be hard-coded (unless you implement your own key binding editor, too!) and will only function while your GUI is open and focused, but they can still be incredibly powerful.
For more info: Renoise.ViewBuilder.API.lua
A tool should never have the power to mess with your personal Renoise config.
Wow, that does seem interesting. But I guess Renoise View Presets do not (or do they?) offer a method of opening a specific script by default? i realize that “renoise app starts” can be mapped to opening a specific script GUI or launching a function, and that would be pretty neat. but for me, it’s not a case of wanting to override shortcuts, i can perfectly well manouver around the shortcuts themselves and map stuff that isn’t set up, it’s more a case of having more API functions. I could see how someone might want them to all work in a specific way, but even then they’d have to code the functions themselves for the tool…