New Tool: Set Meta Values

EDIT: Updated so there is no text field just a text display.

http://tools.renoise…ls/setmetavalue


New 2.7 Alpha to set all the vol/pan/delay values in the selected range in the pattern.

This script works in a similar way to my search track (02) tool.
i.e. it is supposed to be fully keyboard operated. The GUI is just there for feedback. Even though it can be interacted with you may not get the desired results by doing so.


Usage example
:

  1. Make a selection containing notes in the pattern editor
  2. Open script via assigned shortcut
  3. Type in the value (2 digit hex) you want to set all notes volume to (the popup below the textfield updates)
  4. Press return, GUI autocloses and all done.

Attachment 2430 not found.

To choose between vol pan delay

Vol - press V on keyboard
Pan - press P on keyboard
Delay - press L on keyboard ( d not possible due to being a hex digit)

Renoise Shortcut Name: “Set Meta Values” under Global tools

The default is “clear selection” so all values will be deleted in the chosen range if tool is opened then return pressed.

man, you’re unbelievable. just yesterday i ran into a situation where i thought ‘why is this not possible’, and BAM, you have a tool. great stuff, will test it out later.

Been meaning to do this one for a while, it`s one of those advanced edit operations that can become a pain after a while!

let me know how you get on.

Thanks! Will try it later :)

Great idea for a tool. Just testing it now. Works well with the number pad. Found a weird little thing when you click with the mouse on the text box, enter a value, then press enter it just clears the values for the section (as the value dropdown hasn’t updated). I know we’re not supposed to use the mouse, but it did confuse me outright.

I mapped LShift + LAlt + M for my shortcut ;)

Will take a look at this, for the moment it is keyboard only, but it would be neater if both were possible.

Updated so there is no text field just a text display. The simpler solution for now.

http://tools.renoise.com/tools/setmetavalue

relly helpful tool !! Thanks for this!

No probs, using it daily here now :)

2.8 Version now up:

http://tools.renoise.com/tools/setmetavalue

Proposal:
Make a second shortcut available, which sets “selection” to “volume on current row” or “delay on current row” or “pan on current row”. Would be real swell. (ImpulseTracker had this)

I did start out this tool like this but it developed into the current incarnation. I found it more flexible this way, as you are not limited to be positioned on a particular renoise note to change everything.

Still, noted the suggestion and may get in sometime.

If you enabled it as a shortcut, working within selection, you would get this (in a future iteration):

Thanks for the vid!

Bug: doesn’t alter anything on note-offs.

Apart from that, really useful :slight_smile:

EDIT: Could you add some sort of GUI equivalent for the Enter key / make the plug mouse-friendly in general? When I first pulled this plugin up, I had to go to the tool page docs to figure out how to ‘commit’ my change. Others probably did the same. I also wondered what the blank box was for. I couldn’t seem to click in it. All became clear only after reading the docs.

EDIT 2: The first place I looked for this plug was the pattern-editor selection context menu. For even more user-friendliness, you could place an item there to trigger your script.

I guess you are asking for just delay values for note-offs here?

Is this something you think you would use after knowing how the script works now, or just would have been helpful at the start? The idea was it is to be a sort of advanced keyboard shortcut aid for speed. i.e.

  • press shortcut
  • type value
  • press enter
  • GUI automatically closes

I got sick of mousing around in advanced edit for these operations before.

Was not added for similar reasons of keyboard orientation, though could be added if helpful to get people going

Yep

Yes: a lot of the Renoise block operations need the mouse for the best speed/precision, so while I’m in the middle of a mouse-based workflow and I see a GUI control intended for mouse interaction, I’ll be inclined to stay away from the keyboard as much as possible. I would even go so far as to say that a slider to control the numeric value would be extremely useful. The big workflow improvement over tweaking each value manually still makes doing it by mouse worth it (from ~20 seconds manually, to <5 seconds by mouse using your plug).

Only just now, I noticed you can also set the type of the value via the keyboard (v/p/l), I must have missed that in the docs :unsure: For keyboard-only usage, responding to the Backspace key would round it off perfectly.

EDIT: Is there a good Lua IDE? I’d hop onto these sorts of things myself if there was a good, fast workflow for impatient bastards like me – something as quick as Firebug is for JavaScript. Probably another topic … in fact … why not.

Attempted some enhancements:

  • UI is more touch/mouse-friendly

  • Added context menu items in pattern editor

  • Added slider control

  • Bigger buttons for each of the types

  • Added “Apply” button to do what Enter did before

  • Added keyboard controls for new slider (arrows, paging keys, [] \ keys).

  • Page up / page down for large changes

  • Up / down for small changes

  • Left / right for fine-tuning

  • Experimental: [] and \ keys do interesting things per ‘type’

  • Volume halves / doubles / resets-to-full

  • Panning moves counter-clockwise / clockwise in 30-degree increments / resets to middle

  • Delay progresses down / up a 1/X scale (i.e. you can quickly do a 1/2, 1/3, 1/4 etc. delay by hitting End, then [ a couple times) / resets to zero.

Known bugs still present:

  • When using Enter to commit your changes, it takes 2 undo ops to undo everything. (If you use the mouse, undo works as expected.)

New known bugs:

  • Volume / panning 80 enters into the pattern editor as 7F (technically equivalent but cosmetically ugly)

EDIT: Attachment didn’t work on the forum for some reason – get it from http://min.us/mfoeeEWcy (link expires in 30 days)

Nicely done! Lots of nifty little features there and a nice GUI for mousing as you discussed.

A couple of little things I found:

  • Firing up and clearing selection either works /does nothing / gives this:

Just been messing around trying Return key or Apply button in different orders here.

-I also expected up arrow to increase a value and down arrow to decrease it. Don`t know if its a design choice or bug here though.

Overall though it seems we have “Set Meta Values +” . Whats your plan with this, did you want to release this as a separate tool? Id be happy to integrate into the original (as you have kept the core functionality) with credits for you but will be honest that Im short of time for maintenance/ fixes etc.

Hopefully this release fixes absolutely everything :slight_smile:

http://min.us/metK0QUKs
(Again 30 days expiry on the link, it’s a min.us thing)

(Quickie survey: what key do you guys bind this to? I’m using Alt+`)

Fixes

  • Volume / panning 80 enters 80 into the pattern editor as you’d expect
  • Using the mouse to change V/P/L now updates the slider to reflect the the different ranges of V/P and L values
  • Couldn’t reproduce the bug outlined above but a whole lot of refactoring probably improved stability

Changes

  • In general, everything acts “as expected” (except the dropdown, which is still “dumb”)
  • Clear vs. 0 is now handled in a more discrete way (ie. they are never confused for one-another)
  • Using the [and] keys never ‘sticks’ at low values (i.e. you can now use this plug while drunk / during liveplay)
  • Up is now more, down is now less (more intuitive, despite being opposite to the home/end/pgup/pgdn keys … yep, we work in funny ways)

Remaining bug

  • Be prepared to Ctrl+Z twice to undo if you used the Enter key to commit.

What’s my plan
This is Set Meta Value v1.03 and that’s it. Everything is already ‘integrated into the original’ – I started with your code, then modified it. I’d be happy to release it to /tools/ as “ledger & martyfmelb - Set Meta Value” (or even just “Set Value”, since some Renoise users might think “meta” has something to do with “metadevices”, which is only tangentially true). Or you could put it up as the “plus” version anyway if you see reason to preserve your original branch.