I see, thanks for the report. Once I have a bit of time I’ll make a test tool with just a text window to see if it’s something about the tool or something specific to the fairly new Mac port of Renoise.
In the meantime if anyone else could tell me how this behaves on their setup it would be useful to narrow it down.
elseif msg.type == "finish" then
-- set callback to execute command after dialog is closed
o.callback = function(exit_code, m, o)
local command = m.list[m.selected]
-- print(m.initial)
local result = command.run(song, m.argument, m.initial)
if m.argument ~= nil then
command.finish(renoise.song(), m.argument, m)
table.insert(m.history, 1, command_call(command.alias, m.argument))
else
if command.type == "action" or command.type == "string" then
command.finish(renoise.song(), nil, m)
remember(command.alias, nil)
end
end
end
return CommandExitCode.SUCCESS
elseif msg.type == "crawl_history" then
The command execution logic has been moved into the handly callback you provided. This callback is invoked after the command palette is closed (I can’t remember how much of this i added, will consolidate into a PR when I have time)
lui.lua:
o.process = function(m, msg, o)
local exit_code = o.update(m, msg, o)
if exit_code == CommandExitCode.CONTINUE then
o.render(m)
else
if o.window.visible then
o.window:close()
end
if o.callback then
o.callback(exit_code, o.model, o)
end
EDIT: This tool is making me enjoy renoise a whole not more, especially now I have a handle on the code. I’ve added a “new sample” command and my next goal is to add a palette similar to the DSP/fx parameter palette for sample properties and modulation sets.
Merging the fixes provided by @muximori to handle secondary popups not receiving focus on Mac.
While the fixes are simple and make complete sense from the code, unfortunately I don’t have access to a Mac to actually verify they work as intended (on Linux both the previous and post-fix versions work fine for me).
@neutron hopefully this will solve the problems you’ve reported previously!
Thanks again, your commits are merged now, I also added you in the readme and a GPL license file to make the legalities of code contributions clear for the future.
Unloading a plugin makes sense, haven’t thought about that, but maybe it should be a separate command?
Being able to set samples and their properties would be handy as well.
This really is a great tool, it almost feels like a native feature. It’s a small detail, but I think the command and parameter lists would be a little easier to read if they were left-aligned.
Following a discussion about possible gamepad controls for Renoise, I’ve made some additions to this tool that makes it better to be used in tandem with limited control devices (the changes are useful with a keyboard too).
added a few keybindings to open most common palettes without having to go through the main palette to get them, like selectors for samples, devices, instruments, plugins, tracks etc.
for numeric value settings you can now press Alt+Up/Down (Option on Mac) to step the value similar to my my other tool value_stepper, this makes the number based selectors more useful when you don’t have access to numeric input
made it so that number setters like BPM, velocity etc. will open a text field popup similar to renaming commands if you execute them without input
changed the select phrase command so that it lets you pick phrases from the entire project similar to the sample selector
added midi mappings to mirror each existing keybinding (further work is needed here to let midi actually control the palettes themselves)
select pattern command will omit patterns from the list that aren’t in any sequence (like if you only use pattern 3, 5 but not 4) since you can’t select those anyway.
fixed a few edge-case crashes when trying to open various selectors in an empty project
If you think some other command should also be accessible as a shortcut, let me know!
@unless It seems like a pretty good fix/feature addition.
It means that even if you don’t remember the target command, it is now easier to find it with a partial search.
thanks!
It might be more useful to be able to use Pagedown/Pageup.
Well, the search functionality was there before this update already, the short codes like t etc are just there to allow for “motions-like” input as they take predence over the search.
I might add pageup/pagedown later, currently I’d like to make it so that the basic navigation would work via midi as well because right now everything is tied to keys.