Page 1 of 2
JavaScript or PYTHON automation/scripting
Posted: Thu Aug 25, 2005 9:58 pm
by Spaturno
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
Posted: Fri Aug 26, 2005 10:26 am
by Jajah
more pythonic:
for clip in xrange(16): ## 0-15, use (1,17) for 1-16
clip.play(track, trigger_mode)
where/how did you see those python messages in L5?
saty safe,
Jajah
Posted: Fri Aug 26, 2005 11:13 am
by DirtRider
It's a music program, not a development framework
I write code all day PLEASE make sure I never have to do it in a bloody music program.
Also worth mentioning: Kontakt 2 hasa scripting engine and so far it's the buggiest part of the software, so IMHO they'd better diss it!
AAJT!

Posted: Mon Aug 29, 2005 10:52 am
by Spaturno
{
sDialogOpenAPythonFile = "Choose a Python Script File";
};
It's in the .lng document. There's a .lng for every language.
Sorry Abletons, I know Live isn't Open Source, but I'm courious and those files are not compiled...
Posted: Mon Aug 29, 2005 10:54 am
by Spaturno
DirtRider,
your right, my post is just a wish, scripts just could help for stage direction
Posted: Mon Aug 29, 2005 12:45 pm
by Cone
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.
Posted: Mon Aug 29, 2005 3:01 pm
by noisetonepause
(Ruby > Python) < Io (will be when when it's done, anyways)
Posted: Mon Aug 29, 2005 9:22 pm
by stew
Ooooh, Python scripting would so rock.

I love Python. Just imagine programmatically changing effect parameters or sample offsets. OK, maybe that's what SuperCollider and pd are for, but anyways...
Maybe the Python hooks are there for automated testing? Scripts can be very useful for software QA.
Heh...
Posted: Thu Sep 01, 2005 10:30 pm
by gaspode
Forget Python... Perl 6.0 all the way!
Posted: Tue Sep 06, 2005 3:02 pm
by ryansupak
Or...perhaps expose an API as COM Objects or similar, and let people use whatever language they want to call methods?
I'm fine without it, but I'm sure I'd find a use for it if it were there.
rs
concrete example
Posted: Fri Sep 09, 2005 4:16 am
by pmuellr
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.
Posted: Fri Sep 09, 2005 4:40 am
by bensuthers
oh dear.
Posted: Fri Sep 09, 2005 2:54 pm
by Cone
Indeed.
Re: concrete example
Posted: Sat Sep 10, 2005 7:03 pm
by alia_k
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.
I like it a lot!
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)
AK
Posted: Tue Nov 29, 2005 10:24 am
by kettensaege
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!