New Tool (3.3) command_palette

command_palette

This one is a little experiment for keyboard purists inspired by code editors. Navigate and configure a song using the keyboard. Go to a specific line, beat, set BPM, LPB or length by beats and more.

command_palette

Provides two key-bindings in Global / Tools

  • Open command palette
  • Repeat last command

It opens up a small prompt where you can type things.

usage

  • type a letter from the command list
  • type some number
  • enter to apply
  • escape to cancel
  • backspace to clear numbers and command
  • up to recall previous commands

commands

  • _ : go to line
  • b : go to beat
  • s : go to step in sequence
  • t : select track
  • i : select instrument
  • e : set edit step
  • l : set pattern length by beats
  • p : set pattern in sequence
  • q : loop beats from position
  • Q : sequence loop from position with length
  • N : set number of Note columns
  • F : set number of FX columns
  • B : set beats per minute
  • L : set lines per beat
  • V : set velocity
  • O : set octave

You can also press h to show this command list inside the popup window.

The popup will remember your last command choice.

see the source on gitlab

download from direct link (this zip includes all my other tools as well)

16 Likes

now we need LSP per genre :stuck_out_tongue:
Great work!

2 Likes

Thanks!

What is LSP? I assume you don’t refer to her.

2 Likes

Very interesting idea you have going, it could be expanded and become massive. I often use command palettes when I don’t know shortcuts for features so there’s a lot that could be added to this tool.

From the top of my mind I think a useful addition would be a play sequence loop, I imagine typing P for play and then 3-5 to play from sequence 3 to 5.

1 Like

True, most functions could be executed this way but it would need to work like a regular command palette which searches inside a list of commands, instead of having single letters hardwired to things. Guess that will be a version 2 or something.

Right now it is designed only to set single numeric values, so it isn’t ready for something more complex like your suggestion and with more commands we will also run out of letters pretty fast.

That being said I added a command Q which accepts a number for loop length and sets up the sequence loop by that, starting from where you are. So if you are on step 2, and type 3 it will loop [2, 3, 4]. Typing zero disables looping.

Chose Q because I’ll add something similar for block looping with lowercase q later and P might be good for going to a certain pattern if it exists in the sequence to complement setting the pattern of the current step with p.

2 Likes

version 0.2 :recycle:

command_palette_loop

added a few more commands such as

  • N : set number of Note columns
  • F : set number of FX columns
  • V : set velocity
  • q : loop beats from position
  • Q : sequence loop from position with length

The looping commands now work with negative numbers as well to be able to set up loops that end on where you are.

Example: if you are on sequence step 3 and say Q -2 it will loop [2, 3] while Q 2 will loop [3, 4].

Hope it’s more useful now @Garf! I also started doing some changes to eventually support more complex commands and inputs like your suggestion for absolute loop setting.

The q command works pretty much the same as Q except for beats inside a pattern. However its range can get messed up when changing patterns or restarting the song, which is a bug with Renoise itself and will be fixed in the next update

4 Likes

Terrific, can’t wait to test this out. Digital Performer added this feature (called “Run Command”)

1 Like

OMG I’ve been hoping someone would make such a thing! thank you! Can’t wait to test.

1 Like

Great tool thanks

1 Like

@NER @trueschool @static_noise

This thread woke up hah!

Glad you like the tool. Cheers!

1 Like

Yeah. Especially for setting the pattern length and to select instruments. It’s a big time saver for me and leaves space for other key-bindings as well. Could you add a Step Length command as well? Thanks

Yeah it’s a great idea…

There are a lot of native shortcuts for this already, try go to Preferences>Keys and search for EditStep… Edit: Of course this negate the command palette but it’s something you use all the time and therefore it’s better to use a direct shortcut for it?

1 Like

Step length?

If you mean Edit Step it can do it already with “e”.

:sweat_smile:
right
thanks for helping to read

No worries, guess it should be higher on the list since it is more commonly needed than other stuff (and reading lists is boring).

Thanks for developing and sharing. Very useful.
I felt it might be useful to have a key binding (micro macro key) to run the last executed command again.
If it’s not too hard to implement, please consider it.

@tkna Thanks! It should already remember the last command you have used and open with that selected.

Or do you mean executing the last command with the last argument again? This should be fairly easy to add but in what case would it be useful?

I was referring to the latter, where the command and arguments are memorized and then quickly executed.
In the current command system, the main use may be as a kind of bookmark!
After you have the focus or value on something, you can always go back to it if you look at something else or change the value. The idea is that you can quickly warp to the desired location or state.

It would be helpful to have an option to use hexadecimal numbers for the go to line argument.
Personally, I do not require a configuration UI, and it is fine to specify it directly in preferences.xml, for example.

I imagine it might be useful to use 0 as the argument when the argument is omitted, etc.