New Tool (3.4) command_palette

version 0.3 - memory

As requested by @tkna I have added a new key-binding called Repeat last command which will run the last command you have executed.

Additionally there is a command history that you can traverse by pressing the up arrow (similar to terminals).

I have added what you can see in my previous post.

The problem with supporting hexadecimal input is that the palette wouldnā€™t be able to tell the difference at the first digit between a hex value (for example B) and setting the bpm command B.

Nevertheless it would be cool to allow hex. Maybe if I make the letters easily configurable or have an alternate keymap for hex-mode which excludes letters from A to Fā€¦ Iā€™ll think about it!

Confirmed. Repeat command useful.

The history function is also a nice touch.

As for the line number hex, if the tool can read the Renoise configuration, it may be natural to set it automatically.
image

Otherwise, it may be possible to use an optional command (e.g. :) followed by an option (e.g. line_number_format hex).

Edit:
If you are considering eliminating a-f from the default command system for hexadecimal input, it may be easier to design a new command system and then make the change at an appropriate time.
Personally, I prefer lowercase-based command names, as they reduce the number of keys to press and the cognitive load.

It would be nice to be able to memorize the palette position
I think it would be safe to initialize the pallet to the center of the screen if it goes off the screen when the pallet is activated, etc.

Hey thanks so much for this @Useless As someone who lives in vim, this tool has made renoise much more fun to use

Unfortunately, the mentioned Line number format setting is not available for tools to read. For now I canā€™t easily implement support for hex input because of how the palette is designed (especially after the new update below), I do keep the need in mind.

I made the new system use lowercase aliases as you suggested.

Sorry, but moving the window from the center is not possible for tools as they have no access to screen or position information.

1 Like

You might have tagged the wrong person but Iā€™m glad you find the tool useful, check out the new update below for even more functionality! :wink:

version 2.0 - lists :keyboard:

Hello masters of the keyboard! I rewrote this tool to allow for more complex behaviours and commands. See the top post here for more details.

In short you can now search all available commands and have palettes for listing tracks, samples, instruments, devices or sections in a song, as well as new commands for managing dsp devices, views, renaming things and so on. Overall it now functions much more like a command palette that one would find in a code editor while also keeping the workflow from the previous version.

As every command has to be implemented in the tool there are still many things not accessible via the palette. If you want to do something that isnā€™t available please comment it and Iā€™ll try including it in a future update.

Have fun!

9 Likes

Whoops! Awesome tool! Iā€™ll try the new version ASAP

1 Like

woot woot

1 Like

thanks @unless ! Just registered in the forum to discuss about this.
Do you think a more future-full command palette would be possible to implement though? Meaning:

  • list all commands that are available to key bindings
  • show key binding (if thereā€™s one) next to the command name

One of the conveniences of a command palette is the ability to run a command even if you donā€™t remember itā€™s binding. Also, you can quickly remember its key binding. Right now is quite cumbersome to go to preferences > keys > ā€¦

Iā€™ve just taken a brief look through the api docs & it seems that itā€™s not doable.
If so, has something like this been mentioned as a feature request?

Welcome to the forum @actondev!

Unfortunately what you ask is not doable with the current API, every command has to be essentially reimplemented.

Key-bindings themselves and names of built-in commands are possible to get as you can parse the bindings file, there was a tool that did this (it didnā€™t execute commands, just listed them with the bindings) but I canā€™t find it now.

New Tool: Keybindings Speed Bar

This might help?

1 Like

Thanks @slujr, thatā€™s the one.

Thank you @slujr ! Thatā€™s helpful and a compromise until (if ever) proper API support is added for actions.

v2.0.1 fixes

Fixing errors reported here: deselection and crashes related to trying to select non-existent stuff, for example samples when no samples exists in the instrument.

4 Likes

This is really good!
I am getting much faster with it, loving it. It gives me a vim feel :slight_smile:

Would it be possible to give focus to the renaming popup when entering them?
Currently the focus is back to the editor and it slow down the process a bit, forcing to use mouse and also adding mistakes sometimes.

2 Likes

Hey, glad you enjoy it @neutron!

Unfortunately tools currently donā€™t have a way to set focus AFAIK.

However on my setup the rename popup receives the focus when opened. Do you have to click on the command palette as well when it opens?

The palette itself gets the focus.
So letā€™s say I open the palette with a shortcut, then type in ni<enter> (rename instrument), the popup for renaming opens up with the text highlighted as if pressing a key would modify it, however the focus is back to the editor and as soon as I press a key for the new name the editor receives it.
I hope that makes sense.

I am using a macbook pro m1