Jump to content


Photo

New Tool (3.1): AutoMate

automation clipboard workflow

  • Please log in to reply
22 replies to this topic

#1 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 30 January 2018 - 12:10

splash-600x300.png
 
About the tool
AutoMate is a tool that brings a few extra features to your automation envelopes. 
Essentially, it's a clipboard which can store automation data, and allow copying these data between devices and/or parameters. 
 
Screenshot
automate-v0.5-parameters.png
 
Download
Attached File  com.renoise.AutoMate.v0.55.API5.xrnx   774.61KB   50 downloads
 
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)

  • Cie, Djeroek, afta8 and 8 others like this

Tracking with Stuff. API wishlist | Soundcloud


#2 ffx

ffx

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3305 posts
  • Gender:Not Telling

Posted 30 January 2018 - 13:31

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?


Edited by ffx, 30 January 2018 - 13:32.

Test system: macOS 10.13.4, HFS+. Firewire Audio, i7 4770, 8GB Ram, GTX1050 2GB, 48kHz


#3 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 30 January 2018 - 14:41

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  :)


Tracking with Stuff. API wishlist | Soundcloud


#4 ffx

ffx

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3305 posts
  • Gender:Not Telling

Posted 30 January 2018 - 14:56

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


Test system: macOS 10.13.4, HFS+. Firewire Audio, i7 4770, 8GB Ram, GTX1050 2GB, 48kHz


#5 Type-A

Type-A

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 342 posts
  • Gender:Male
  • Location:Miami, FL
  • Interests:Renoise, ambient glitch texture techno breaks and bass music :)

Posted 30 January 2018 - 15:43

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

 



#6 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 30 January 2018 - 15:45

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  :D


  • Type-A likes this

Tracking with Stuff. API wishlist | Soundcloud


#7 Raul (ulneiz)

Raul (ulneiz)

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1339 posts
  • Gender:Male
  • Location:Spain

Posted 30 January 2018 - 20:25

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'


:excl: Development of my tools PhraseTouch  |  GT16-Colors (old)

 

:excl: My API wishlist R3.1 (updated 24 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 26 September 2017):

Spoiler

#8 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 30 January 2018 - 21:47

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! 


Tracking with Stuff. API wishlist | Soundcloud


#9 Type-A

Type-A

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 342 posts
  • Gender:Male
  • Location:Miami, FL
  • Interests:Renoise, ambient glitch texture techno breaks and bass music :)

Posted 30 January 2018 - 23:48

Look at my "planned" features - I wanted to nail the basics before moving on to the fancy stuff  :D

 

oh generate and transform automation data :)

 

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



#10 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 31 January 2018 - 00:07

oh generate and transform automation data :)

 

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

 

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  ^_^


  • Neurogami and Type-A like this

Tracking with Stuff. API wishlist | Soundcloud


#11 Type-A

Type-A

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 342 posts
  • Gender:Male
  • Location:Miami, FL
  • Interests:Renoise, ambient glitch texture techno breaks and bass music :)

Posted 31 January 2018 - 01:23

super cool im going to try it tonight



#12 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 01 February 2018 - 15:05

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.


Edited by danoise, 01 February 2018 - 16:27.

  • ffx likes this

Tracking with Stuff. API wishlist | Soundcloud


#13 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 11 February 2018 - 16:46

Sneak preview of the envelope generator in AutoMate

Attached Images

  • automate-generator.gif

  • Ledger, Djeroek, ffx and 2 others like this

Tracking with Stuff. API wishlist | Soundcloud


#14 Rpnz

Rpnz

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 546 posts
  • Gender:Male

Posted 12 February 2018 - 00:11

Damn that looks sweet! Thanks for your effort and this great tool!
House Music All Night Long. - Say What?

#15 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 12 February 2018 - 01:38

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 ...  

 

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)


Tracking with Stuff. API wishlist | Soundcloud


#16 ffx

ffx

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3305 posts
  • Gender:Not Telling

Posted 12 February 2018 - 08:58

good morning,

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

Test system: macOS 10.13.4, HFS+. Firewire Audio, i7 4770, 8GB Ram, GTX1050 2GB, 48kHz


#17 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 12 February 2018 - 11:46

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)


Tracking with Stuff. API wishlist | Soundcloud


#18 4Tey

4Tey

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 447 posts
  • Gender:Male

Posted 13 February 2018 - 09:17

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/r...s/xEnvelope.lua and https://github.com/r...Persistence.lua

 

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



#19 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 13 February 2018 - 16:46

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/r...s/xEnvelope.lua and https://github.com/r...Persistence.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)


  • 4Tey likes this

Tracking with Stuff. API wishlist | Soundcloud


#20 4Tey

4Tey

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 447 posts
  • Gender:Male

Posted 13 February 2018 - 16:54

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 :)


Edited by 4Tey, 13 February 2018 - 17:07.


#21 Raul (ulneiz)

Raul (ulneiz)

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1339 posts
  • Gender:Male
  • Location:Spain

Posted 16 February 2018 - 13:11

I would like to comment on a couple of details about this tool.

  1. A characteristic that I see very useful is an affinity option so that, when creating a ramp, it is possible to detect the extreme points (end of the previous pattern, beginning of the next pattern). Therefore, the ramp will adapt to these points.
  2. I suppose you also have in mind what happens at the end point of the pattern, so that this point is not forgotten.
  3. If it is possible to make a straight ramp, it is also possible to generate simple curves. It would be very interesting to find a way to make complex curves.

I love being able to manipulate the curves of various patterns with the selection of the sequence. I've been building my Automa32 module tool playing with these things too, and I know it's complex to do. Congratulations!

 

Anyway, even though we build useful tools, I honestly think that the automation editor deserves an importantupdate. I will not get tired of saying it. It is a fundamental area of work to control all the parameters of the devices.

 

All this reminds me that I have to check my tool  :D


:excl: Development of my tools PhraseTouch  |  GT16-Colors (old)

 

:excl: My API wishlist R3.1 (updated 24 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 26 September 2017):

Spoiler

#22 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6795 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 16 February 2018 - 13:20

"Adapting" to existing values is indeed something that would be handy. 

Especially in the example GIF above it seems strange that I would need to match those values by hand, when the tool could have done it so easily. 

 

When dealing with more advanced generator type it becomes more complex (e.g. a sinewave with phase offets.). So, perhaps the ability to "adapt" can exist only for some types of generators? 

 

I suppose you also have in mind what happens at the end point of the pattern, so that this point is not forgotten.

 

Yes, the last possible position (last 256th of a line) is easily overlooked. Even the built-in env. generators in Renoise does not always care about that one. 

But of course, the tool will support this - actually, it already does, except when creating pattern-spanning envelopes (as you can perhaps see in the GIF above)

 

The hard part is to implement a method which can interpolate values at existing points. 

 

So if you have a value going from 0 to 1, it should be able to insert the correct value at any point. Easily done with a linear ramp, but for cubic you need the right formula. 

Obviously, this would be great to have also in the Renoise API (which I've taken note of) - but it's handy to have as a pure lua implementation when calculating envelopes from scratch. 


Tracking with Stuff. API wishlist | Soundcloud


#23 ffx

ffx

    Composes without Wires burns Directly from Brain to DVD that is already in Store Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3305 posts
  • Gender:Not Telling

Posted 17 May 2018 - 11:39

Hey danoise,

 

I have a feature request here:

 

"Copy all focused track dsp automation from track selection"   and "Paste all focused track dsp automation from track selection",  so you could select an area in the track, copy it (so all track dsps automation lanes for that length will be copied), and then paste all automation of that one track dsp at another place in the track. Without fiddling around with single parameter selection.

 

Also I would like to suggest some kind of "universal" paste shortcut, which simply adapts to the prior kind of copy action. Maybe no need to have plenty of paste short cuts at all?

 

Then I would suggest to you to rename the tool. "AutoMate" actually googles like "automate", which is not that helpful :). You won't find anything regarding this tool, if it keeps this name. What about "Aut-o-mate" or "Aut0mate" joke

 

Thanks for consideration.

 

 

EDIT: There seems to be a problem with copy/paste automation from a specific parameter from pattern selection. Here, it only seems to copy the first point.


Edited by ffx, 17 May 2018 - 11:50.

  • pat likes this

Test system: macOS 10.13.4, HFS+. Firewire Audio, i7 4770, 8GB Ram, GTX1050 2GB, 48kHz






Also tagged with one or more of these keywords: automation, clipboard, workflow