JavaScript or PYTHON automation/scripting
JavaScript or PYTHON automation/scripting
I've seen some Python related messages in the translation files of the Live app.
Mmmm... are the Abletons internally scripting or prototyping in Python?
If yes, they are a step from the Live automation via scripting.
So my wish is: scripting Live like you script Adobe InDesign via JavaScript or Excel via Visual Basic. Or something like this.
for a = 1 to 16
PlayClip("Track1",a,TriggerMode)
next a
Ciao
Mmmm... are the Abletons internally scripting or prototyping in Python?
If yes, they are a step from the Live automation via scripting.
So my wish is: scripting Live like you script Adobe InDesign via JavaScript or Excel via Visual Basic. Or something like this.
for a = 1 to 16
PlayClip("Track1",a,TriggerMode)
next a
Ciao
DirtRider, if Live had scripting, nobody would force you to use it. 
Cakewalk used to have a LISP-like macro language called CAL, very handy to do some moderately complex MIDI manipulation. A Python scripting engine that lets you use some parts of Live's internal APIs could really rock. With enough exposed functionality you could even make internal effects and instruments for Live using those cool Ableton knobs and buttons...
Of course opening up APIs would be a very significant maintenance burden. I don't think we'll see it any time soon, if ever.

Cakewalk used to have a LISP-like macro language called CAL, very handy to do some moderately complex MIDI manipulation. A Python scripting engine that lets you use some parts of Live's internal APIs could really rock. With enough exposed functionality you could even make internal effects and instruments for Live using those cool Ableton knobs and buttons...
Of course opening up APIs would be a very significant maintenance burden. I don't think we'll see it any time soon, if ever.
MacBook (Late 2006), iMac 21.5" (Late 2009), Mac OS X 10.6.4 // Ableton Suite 8.2 // KORG microKONTROL & padKONTROL // Saffire PRO 24 DSP // ESI nEAR 05 monitors // Audio-Technica ATH-M40fs cans.
-
- Posts: 4938
- Joined: Sat Dec 28, 2002 3:38 pm
- Location: Sticks and stones
Heh...
Forget Python... Perl 6.0 all the way!
concrete example
As a concrete example, I'd like to be able to control my Line6 Pod. Ideally, I'd like to have a script invocation stored in a clip. And the script should (obviously) have midi i/o support. I could then have the following sort of clips: load some presets, save current presets, switch to preset. Might be nice to be able to specify scripts to run when a session is loaded; then I could have my presets ready to go for each session. The switch to preset you could put in a track that you would 'run' as the song is playing, to switch presets while you're playing.
Some implications:
Please go a bit further than a menu option that allows you to run a python script. Make a script invocation a 1st call 'thing', not a bolt on.
Scripts should appear in a new browser window, and also in the file browser windows, allowing you to run them from the browser. Dragging a script to a clip would indicate running the script when that clip would normally play, instead of a one-time-invocation from the browser. Allow some way of passing some arguments, or enough ui capabilities for the script to display a prompter.
Presumably people will want to also create modules (in the python sense), so there should be some kind of directory where we can install these.
BTW, the Mackie support seems to be implemented in Python. There's a bunch of compiled (source-challenged) .pyc files in the 5.0.1 release. The Python support is already there! Just document it and tell us how to hook it in!
Hey, we'll help. Write doc. Write macros. Write some tools to let people distribute/download/manage scripts. Etc.
Some implications:
Please go a bit further than a menu option that allows you to run a python script. Make a script invocation a 1st call 'thing', not a bolt on.
Scripts should appear in a new browser window, and also in the file browser windows, allowing you to run them from the browser. Dragging a script to a clip would indicate running the script when that clip would normally play, instead of a one-time-invocation from the browser. Allow some way of passing some arguments, or enough ui capabilities for the script to display a prompter.
Presumably people will want to also create modules (in the python sense), so there should be some kind of directory where we can install these.
BTW, the Mackie support seems to be implemented in Python. There's a bunch of compiled (source-challenged) .pyc files in the 5.0.1 release. The Python support is already there! Just document it and tell us how to hook it in!
Hey, we'll help. Write doc. Write macros. Write some tools to let people distribute/download/manage scripts. Etc.
pmuellr
Re: concrete example
I like it a lot!pmuellr wrote:As a concrete example, I'd like to be able to control my Line6 Pod. Ideally, I'd like to have a script invocation stored in a clip. And the script should (obviously) have midi i/o support. I could then have the following sort of clips: load some presets, save current presets, switch to preset. Might be nice to be able to specify scripts to run when a session is loaded; then I could have my presets ready to go for each session. The switch to preset you could put in a track that you would 'run' as the song is playing, to switch presets while you're playing.
Some implications:
Please go a bit further than a menu option that allows you to run a python script. Make a script invocation a 1st call 'thing', not a bolt on.
Scripts should appear in a new browser window, and also in the file browser windows, allowing you to run them from the browser. Dragging a script to a clip would indicate running the script when that clip would normally play, instead of a one-time-invocation from the browser. Allow some way of passing some arguments, or enough ui capabilities for the script to display a prompter.
Presumably people will want to also create modules (in the python sense), so there should be some kind of directory where we can install these.
BTW, the Mackie support seems to be implemented in Python. There's a bunch of compiled (source-challenged) .pyc files in the 5.0.1 release. The Python support is already there! Just document it and tell us how to hook it in!
Hey, we'll help. Write doc. Write macros. Write some tools to let people distribute/download/manage scripts. Etc.
The questions remains is how you could apply a script to a group of clips such that something like this (at the very least) would be doable
Code: Select all
for clip in tracks[1].groups[1]:
clip.play()
time.sleep(.5)
-
- Posts: 106
- Joined: Thu Sep 02, 2004 2:42 pm
- Location: Germany
that would be so cool!
If the abletons would expose certain functionality to a scripting language, we ourselves could write functionality like "export track as seperate audio files" or custom midi plugins, combinator-like audio-devices that reuse existing plugins and simply put them behind a custom interface etc.
plus, dear abletons, you could use this for automated testing of your application, cross platform!
Oh, an please, make it python ...
Thanks!
If the abletons would expose certain functionality to a scripting language, we ourselves could write functionality like "export track as seperate audio files" or custom midi plugins, combinator-like audio-devices that reuse existing plugins and simply put them behind a custom interface etc.
plus, dear abletons, you could use this for automated testing of your application, cross platform!

Oh, an please, make it python ...
Thanks!