New Tool (3.3): value stepper

Hello everyone!

I’m new to Renoise and one thing I was missing is to be able to raise/lower values with keyboard inside the editor without having to input exact values. So I wrote a small tool to solve this and to get familiar with the API.

value stepper

value_stepper

Adjust values via keyboard by a set amount. Similar to the Transpose One Note Up inside Renoise but works for other values as well such as instrument number, volume, panning, delay and effect parameters.

Provides four key-bindings in Pattern Editor / Column Operations:

  • Step value up
  • Step value down
  • Step value up (by 16)
  • Step value down (by 16)

The default step size is 1 but you can change it in Tools / value stepper

Note: the greater stepping on notes is done by octaves instead of 16.

settings

  • step size (default is 1)
  • ignore edit mode (enabling this will make stepping work even if you aren’t in edit mode)
  • auto-blank (a panning value of 40 (centered) and a volume value of 80 (max volume) gets converted to an empty column (technically FF) to have a cleaner pattern)
  • relative mode (see below)
  • repeat last (starts relative stepping from last value as opposed to last + offset)

block selection

When selecting multiple columns and lines, you need to place your cursor inside the selection on the column you want to step. You can only block-step columns of the same type at once. (this extends to the type of commands inside FX columns as well, for example when you place your cursor on a -Sxx command only other -Sxx commands will get stepped inside your selection)

Inside the settings you can find different modes that control how block stepping is done.

  • step non-empty values (all selected columns that have other than the default value will get stepped, this mode pairs well with disabling the auto-blank setting)
  • step values with notes (only steps empty columns if they have a note)
  • step all values (steps everything inside the selection)

relative mode

There is an optional relative mode that can be enabled in the settings window. It starts stepping empty columns from the nearest non-empty value inside the pattern (searching backwards). Good for writing melodies and creating continuous effect lines.

A keybinding exists for toggling relative mode in Pattern Editor / Tools called :

  • Toggle relative mode (value stepper)

download

Source code is on gitlab:
https://gitlab.com/unlessgames/unless_renoise

Here is a direct link since the download button on gitlab is a bit hard to find:
https://gitlab.com/unlessgames/unless_renoise/-/archive/master/unless_renoise-master.zip

consider donating :heart:

Any feedback is welcome!

26 Likes

Hi unless, welcome to the renoise forum!

thanks for sharing the tool, looks very handy!

I don’t know yet how to submit stuff to be included in the tools page, so you can get it from my repo:

The info and links for submitting tools to the tools section can be found here:

2 Likes

Cool. This is handy

1 Like

thanks!

I’ll check that

thank you!

literally just made a thread asking how to do this. you’re a lifesaver!

happy to help @fdsafewww!

I made some fixes and updates I’ll upload later today.

Can I ask, how did you search for this functionality (unless you found it by scrolling though tools)? I’m not sure that “value stepper” is the right name as stepping can be associated with steps in time but couldn’t think of a better one…

1 Like

I believe I did a search on the forum for “pan delay” figuring if something like this existed it’d control volume delay and pan but volume might be called velocity. I can’t think of a better name off dome haha

value_stepper

version 0.2 - short commands and context sensitivity

  • you can now step parameters of short commands inside the volume and panning columns (like Ix, Jx, Qx ...)
  • stepping instrument indexes is constrained within existing instrument slots
  • if an FX column field has an existing device parameter modulation, and the cursor is on the first two digits of the column, it will step through available dsp devices and their parameters constraining digits so that they always point to a valid parameter.

You can use the link in the first post here to get the update.

future plans

  • add an option to use relative mode meaning start stepping values from the last modified value, could be useful to speed up workflow…
  • step through all available FX command characters
  • step multiple values when selected via sub-column selection (using regular selection wouldn’t make much sense as you hardly want to step all kinds of values at once)
1 Like

version 0.22 - hot-fix

  • fixed a bug with the dsp device index stepping when trying to begin stepping on an invalid value
1 Like

Hi, wrote almost the same Tool, but it a mess code wise. Maybe you can add support for selections, too?

1 Like

For anyone getting a bit confused with the download, download the zip option from this button:

download

Extract or double click on zip and the xrnx folder is 2 folders deep in there (next to a file called README.md)

That’s the folder you can drag into renoise, though it won’t have a standard “R” icon

///

@unless or anyone, I tried to zip that folder once extracted to turn into a standard xrnx file (which is basically a renamed zip) but got ‘Access Denied’ for zipping in windows, not sure why?

Hi, yes I found your tool (linked it in the first post here), but it didn’t work for FX values which was my initial need (to step between slices in -Sxx), I saw in your code that you meant to implement it but also the last release was from years ago. Didn’t want to patch that codebase to make it fit to what I needed as it looked a bit daunting (mainly in the way things are nested many levels deep :diving_mask:) and I’m only starting out with lua and Renoise, so I went at it from scratch instead as an learning exercise.

I’m also including this code as part of another tool I’m working on that makes use of physical rotary encoders to do this stepping, so I need to have full control over how the code is laid out.

I plan to add some type of selection support but first I want to make sure all is solid and clean and the way stuff gets stepped makes complete sense. I’m not sure if this is the case right now: the code could always be cleaner, there are a few unhandled edge-cases like stepping an empty note column and I also want to make it so that you could input most (if not all) things via this method alone. Right now it is more of a complement to the keyboard than a “stand-alone” solution.

2 Likes

The download button is indeed a bit hard to find.

Do you need to zip a folder on windows to be able to drag it onto Renoise? I work on Linux and dropping an unzipped folder from a file browser works. So I was thinking people would download the source and unzip a tool folder from it and drop that onto Renoise.

I assume the permission thing you get has to do with how Linux handles files. I’ll investigate this.

I guess it is confusing to have a folder in a folder but I’m making more tools and want to keep all of them in a single repo.

Soon I will automate my gitlab repo to release separate zipped versions of each tool from the source code, so all of this will be more streamlined hopefully.

Thank you for pointing out these things!

The unzipped folder does drag into renoise, just a bit more confusing for people to access.

I did manage via 7-zip to zip the files and create a standard xrnx file, so yes probably a Win/ Linux thing

If you want a quick way to turn your tool into an xrnx that can be separately hosted on forum thread/ tools site there is the Create Tool script that automates the process:

1 Like

I’m a renoise n00b, owned it for a day and demoed for about a week.

What am I actually supposed to press on the keyboard with the tool open to make the values go up and down?

Also does anyone know if there’s a way to make a keyboard shortcut for launching tools?

You have to make the shortcuts yourself

Screenshot 2021-09-28 at 10.20.22

Note: You don’t need to open the tool

3 Likes

Thanks! Must’ve scrolled right by it in the keyboard shortcuts menu

version 0.3 - crowded steps

  • block stepping via selection is working now! (you can read more about it in the first post)

  • simplified the names of the commands (they are now called Step value up and so on), and they moved to the Pattern Editor / Column Operations which seems more appropriate than the old Global / Pattern Editor
    I’m sorry for those who have to reassign their shortcuts, I’ll try not to change these again… :no_mouth:

  • got a few settings now to disable some “quirks” the tool has

  • to my surprise, dsp parameter indices in the FX column can go beyond hexadecimal (things like 1R10 exist), I fixed the stepping through these.

further details and links are also in the first post

As it turns out, stepping multiple values at once raises some questions about how exactly it should be done, I couldn’t really decide on the one true way so I made a few modes that felt reasonable, any feedback on this topic would be greatly appreciated (at this point I might have spent more time making this tool than writing tracks in Renoise so my judgement might be off :sweat_smile:).

I also worked on a “relative mode” and it seems promising but it has some issues so I kept it out of this update.

3 Likes

Nice work :slight_smile: What about moving notes, if delay value reaches FF / 00?