New Tool (3.1): AutoMate


(danoise) #1

7938 splash-600x300.png

Features

  • Copy/paste between devices (limited to same type, for now)
  • Copy/paste between parameters (any automateable parameter)
  • Ability to limit copy/paste actions to a specific scope
  • Ability to “flick” through the selected scope, using buttons or arrow left/right keys while dialog is focused
  • Optional “throttled/sliced” processing (to avoid script timeouts)
    Limitations
  • Can’t access the “Active/Bypassed” parameter (due to API limitations)
  • Does not support automation via pattern-commands
    Todo
  • More integration: MIDI mappings, right-click (context menu) entries
  • Option to “Enforce boundaries” when copying a selection in pattern
    (ensure that the resulting clipboard data will always have points placed at either end)
  • Put on the tools page once it’s proven to be solid smile.png
    Planned
  • Ability to “move” or “swap” devices and/or parameters
  • Add “Library”, storage facility for automation clips
  • Ability to transform and generate automation data
  • Remap parameters (to allow copying between different device type)

[tool idea] Untangle: Track & Instrument Workflow
(ffx) #2

Wow nice. There is a little problem: If selecting automations too quickly, it will not switch to the automation view then (and assumingly also not doing other stuff?).

P.S: Is the GUI so small, because the team is planning to make the adv. panel available for tools?


(danoise) #3

Thanks, didn’t notice the “quick switching” thing

P.S: Is the GUI so small, because …

No, sorry to disappoint - there’s no hidden agenda.

It’s just a general principle for all my “mate” tools: basic workflow enhancers shouldn’t occupy too much space.

Do you think it’s_too_small? Because we could make it an option :slight_smile:


(ffx) #4

No, I don’t find it too small. Just had an alu-hat-theory in mind…


(The Empty Self) #5

can i …stretch an automation clip by a number factor? using this tool …

like increase or decreased the generated data by a number across a pattern or a selection ???

it would be kinda cool to do it like automation clips in FL can do


(danoise) #6

can i …stretch an automation clip by a number factor? using this tool …

Look at my “planned” features - I wanted to nail the basics before moving on to the fancy stuff :smiley:


(Raul (ulneiz)) #7

Thanks for this tool!!!

Error of instalation…

.\classes/AutoMate.lua:176: attempt to index global ‘rns’ (a nil value)

bla bla bla, in function ‘attach_to_song’


(danoise) #8

Error of instalation…

Indeed. That would be the “doubleclick xrnx file to install a tool which is programmed to autostart” bug.

Had forgotten about this rather special case - thanks!


(The Empty Self) #9

Look at my “planned” features - I wanted to nail the basics before moving on to the fancy stuff :smiley:

oh generate and transform automation data :slight_smile:

please danoise include the feature that i showed you in the video the pitch up/down the automation clip :slight_smile:


(danoise) #10

oh generate and transform automation data :slight_smile:

please danoise include the feature that i showed you in the video the pitch up/down the automation clip :slight_smile:

Of course. It’s high on the list, but I want to integrate it into a more general-purpose kind of thing so you could also e.g. lower/raise values - there’s a lot of avenues to explore there…

What it offers right now - the ability to copy-paste automation between parameters - has really been a creative showstopper for me a number of times. So I simply started there :slight_smile:


(The Empty Self) #11

super cool im going to try it tonight


(danoise) #12

There’s a new version available (v0.55). Check OP to download.
This version adds “headless” operation, which means that you can access all the essential features from keyboard shortcuts, without bringing up the GUI.

Enter “AutoMate” in the Renoise Prefs > Keys and you should see the following:

∿ Cut Automation (Selected Scope)	
∿ Cut Automation (Whole Song)	
∿ Cut Automation (Whole Pattern)	
∿ Cut Automation (Selection In Sequence)	
∿ Cut Automation (Selection In Pattern)	
∿ Cut Device Automation (Selected Scope)	
∿ Cut Parameter Automation (Selected Scope)	
∿ Cut Device Automation (Whole Song)	
∿ Cut Parameter Automation (Whole Song)	
∿ Cut Device Automation (Whole Pattern)	
∿ Cut Parameter Automation (Whole Pattern)	
∿ Cut Device Automation (Selection In Sequence)	
∿ Cut Parameter Automation (Selection In Sequence)	
∿ Cut Device Automation (Selection In Pattern)	
∿ Cut Parameter Automation (Selection In Pattern)	
∿ Copy Automation (Selected Scope)	
∿ Copy Automation (Whole Song)	
∿ Copy Automation (Whole Pattern)	
∿ Copy Automation (Selection In Sequence)	
∿ Copy Automation (Selection In Pattern)	
∿ Copy Device Automation (Selected Scope)	
∿ Copy Parameter Automation (Selected Scope)	
∿ Copy Device Automation (Whole Song)	
∿ Copy Parameter Automation (Whole Song)	
∿ Copy Device Automation (Whole Pattern)	
∿ Copy Parameter Automation (Whole Pattern)	
∿ Copy Device Automation (Selection In Sequence)	
∿ Copy Parameter Automation (Selection In Sequence)	
∿ Copy Device Automation (Selection In Pattern)	
∿ Copy Parameter Automation (Selection In Pattern)	
∿ Paste Automation (Selected Scope)
∿ Paste Automation (Whole Song)	
∿ Paste Automation (Whole Pattern)
∿ Paste Automation (Selection In Sequence)	
∿ Paste Automation (Selection In Pattern)	
∿ Paste Device Automation (Selected Scope)	
∿ Paste Parameter Automation (Selected Scope)	
∿ Paste Device Automation (Whole Song)	
∿ Paste Parameter Automation (Whole Song)	
∿ Paste Device Automation (Whole Pattern)	
∿ Paste Parameter Automation (Whole Pattern)	
∿ Paste Device Automation (Selection In Sequence)	
∿ Paste Parameter Automation (Selection In Sequence)	
∿ Paste Device Automation (Selection In Pattern)	
∿ Paste Parameter Automation (Selection In Pattern)	
∿ Clear Automation (Selected Scope)	
∿ Clear Automation (Whole Song)	
∿ Clear Automation (Whole Pattern)	
∿ Clear Automation (Selection In Sequence)	
∿ Clear Automation (Selection In Pattern)	
∿ Clear Device Automation (Selected Scope)	
∿ Clear Parameter Automation (Selected Scope)	
∿ Clear Device Automation (Whole Song)	
∿ Clear Parameter Automation (Whole Song)	
∿ Clear Device Automation (Whole Pattern)	
∿ Clear Parameter Automation (Whole Pattern)	
∿ Clear Device Automation (Selection In Sequence)	
∿ Clear Parameter Automation (Selection In Sequence)	
∿ Clear Device Automation (Selection In Pattern)	
∿ Clear Parameter Automation (Selection In Pattern)

It should be obvious that I haven’t tested every single one… happy.png

A couple of notes:

“Selected Scope” refers to the scope chosen from the AutoMate GUI.

Similarly, “Automation” (without “Device” or “Parameter” in front of it) will refer to the currently selected type in the GUI.

So if you have the GUI visible, you can control the scope and the shortcuts postfixed with “Selected Scope” will respect that.
But I added every possible combination, because it’s also nice to have shortcuts that doesn’t require a GUI.

Btw: I found that my own favorite bindings was to mimic Renoise and define these:

CTRL + ALT + F3 : Cut Automation (Whole Pattern)
CTRL + ALT + F4 : Copy Automation (Whole Pattern)
CTRL + ALT + F5 : Paste Automation (Whole Pattern)

And, for more general purpose copy-paste:

CTRL + ALT + X : Cut Automation (Selected Scope)
CTRL + ALT + C : Copy Automation (Selected Scope)
CTRL + ALT + V : Paste Automation (Selected Scope)

PS: I couldn’t replicate the issue reported by ffx.
Also, installing the xrnx by doubleclicking will still throw an error message - once.


(danoise) #13

Sneak preview of the envelope generator in AutoMate


(Rpnz) #14

Damn that looks sweet! Thanks for your effort and this great tool!


(danoise) #15

Damn that looks sweet! Thanks for your effort and this great tool!

Thanks!! Guess I wanted to share what I had been working on.

From what you currently have (0.55) and to the version above, the tool grew from 3 classes, to this …

7968 ClassDiagram.png

Are the some developer types around? I don’t know if “realize” is the right concept for classes that instantiate other classes (factory pattern).

The whole UML diagram thing was an experiment I did today, to help me remember how it all fits together happy.png

If you’re curious about the bleeding edge tool development, it’s all on github

https://github.com/renoise/xrnx.git

Or grab the zip file

I recently switched to submodules, so you’ll have to run this additional command after cloning/unzipping

git submodule update --recursive --remote

Now you should be able to use the tool (copy the com.renoise.AutoMate.xrnx folder into your Renoise tools folder)


(ffx) #16

good morning,

danoise, an offtopic question: Did you program a patternnote abstraction, which also takes care of overlapping notes?


(danoise) #17

good morning

Thanks, coffee was good.

Replied with PM happy.png

And the first thing I realized was that I hadn’t pushed out yesterdays changes to github. They’re there now (pending v0.57 of this tool)


#18

you’re curious about the bleeding edge tool development, it’s all on github https://github.com/renoise/xrnx.git
Or grab the zip file

I recently switched to submodules, so you’ll have to run this additional command after cloning/unzipping
git submodule update --recursive --remote
Now you should be able to use the tool (copy the com.renoise.AutoMate.xrnx folder into your Renoise tools folder)

I’m not an expert danoise at git/github, so I’m sure I’m doing something wrong. I must admit I can’t get that above to work to pull in any of the submodules.

So I tried this command instead (under Linux):

git clone --recurse-submodules https://github.com/renoise/xrnx.git

That seems to work better. However I find that it misses at least two files. cPersistence.lua (from cLib) and xEnvelope.lua (from xLib). I have to manually place the files from https://github.com/renoise/xLib/blob/master/classes/xEnvelope.lua and https://github.com/renoise/cLib/blob/master/classes/cPersistence.lua

No big deal danoise, just though I’d mention my quick experience of git cloning :slight_smile:


(danoise) #19

I find that it misses at least two files. cPersistence.lua (from cLib) and xEnvelope.lua (from xLib). I have to manually place the files from https://github.com/renoise/xLib/blob/master/classes/xEnvelope.lua and https://github.com/renoise/cLib/blob/master/classes/cPersistence.lua

D’oh, thanks for pointing this out.

Yeah, the submodules in AutoMate refer to a specific snapshot, and I might have forgotten to update them.

I wonder if you’re able to get something going at all then? You’d want the most recent releases of all libraries (cLib, vLib and xLib)


#20

I wonder if you’re able to get something going at all then? You’d want the most recent releases of all libraries (cLib, vLib and xLib)

Sort of/Kind of danoise, but I think it was safe to say it was very very much in errr unstable testing phase mode :slight_smile: