LiveAPI : new google group

Discuss music production with Ableton Live.
mdk
Posts: 914
Joined: Sun Jul 31, 2005 3:51 pm
Location: Skopje, Macedonia
Contact:

LiveAPI : new google group

Post by mdk » Sun Mar 09, 2008 1:11 pm

I've setup a google group for LiveAPI discussions, anyone who is interested please join up here :

http://groups.google.com/group/liveapi

I have also made a page which describes how to setup Eclipse ready for developing with the LiveAPI, you can read that here :

http://groups.google.com/group/liveapi/ ... up-eclipse

Hopefully i'll be added to the LiveAPI google code project soon so I can start adding more code (including the important fix from queglay).

so if you are interested get yourself over there and lets start making interesting stuff that everyone can use :)
Pr0k Records - Bandcamp Facebook Twitter

hoffman2k
Posts: 14718
Joined: Tue Jun 15, 2004 6:40 pm
Location: Belgium
Contact:

Post by hoffman2k » Sun Mar 09, 2008 1:21 pm

Is anybody ever going to post some details for osx?
I thought the point of python was that it is platform independent.

I've tried following the instructions from queglay to the letter and adapt them for osx. But all LiveOSC does is crashing. Same with LiveTelnet.
The only cause I can come up with is something about the LiveAPI being windows specific. Or incompatibility issues with different versions of python.

Any reason why the code is based on 2.2.2 while python is at 2.5?

Thanks for reviving the page. Hopefully we can get some answers this time.

mdk
Posts: 914
Joined: Sun Jul 31, 2005 3:51 pm
Location: Skopje, Macedonia
Contact:

Post by mdk » Sun Mar 09, 2008 1:32 pm

Dont know about OSX, I think the problem was trying to bind in the rest of the python environment, but I really dont know for sure. I know getting a full python environment on OSX would bring a lot more interest so i'll see what i can find out.

As for why its on 2.2.2, I think that is the python version which is embedded into Live so you'll have to ask Ableton about that one ;)
Pr0k Records - Bandcamp Facebook Twitter

hoffman2k
Posts: 14718
Joined: Tue Jun 15, 2004 6:40 pm
Location: Belgium
Contact:

Post by hoffman2k » Sun Mar 09, 2008 1:43 pm

Its not only about "more interest". Its also about fully using abletons backdoor.
Robert Henke is running a macbook and his MonoDeck gets feedback from python.
The guy who does the MIDI scripts at Ableton programmed it.
So its definitely possible.

If the first priority of this project isn't about how to get it running on both platforms. Then any new developments on either platform will always be disconnected from each other.
I know it sounds a bit selfish.. But the sooner we're able to bypass the python bit to get to the OSC bit, the sooner we'll see OSC being taken more seriously.
I'd be all over it if only I knew python. But I'm picking up max/msp/jitter/css/php amongst others.. Cant do them all at the same time.

mdk
Posts: 914
Joined: Sun Jul 31, 2005 3:51 pm
Location: Skopje, Macedonia
Contact:

Post by mdk » Sun Mar 09, 2008 1:49 pm

point taken.

I suppose because I mainly use windows i dont feel the frustration you do. I do have an OSX machine here so i'll make it a priority to see what I can find out. I like a challenge :D
Pr0k Records - Bandcamp Facebook Twitter

hoffman2k
Posts: 14718
Joined: Tue Jun 15, 2004 6:40 pm
Location: Belgium
Contact:

Post by hoffman2k » Sun Mar 09, 2008 1:59 pm

mdk wrote:point taken.

I suppose because I mainly use windows i dont feel the frustration you do. I do have an OSX machine here so i'll make it a priority to see what I can find out. I like a challenge :D
Sweet :)

I hope you can dig something up.
Personally I'm only interested in a very specific feature. Knowing wether a Clip Slot contains a Clip or not.
If that information can be patched as OSC into Max, then I can write a full application that brings the monodeck functionality to different controllers such as the Lemur, Monome, BCR, PK, Ohm,...
For both windows and mac.

A lot of the core of this application is already written. I just require the backdoor to make it near perfect. I found a workaround, but that is what it is... a workaround.

julienb
Posts: 1816
Joined: Sat Oct 29, 2005 1:15 pm
Location: France
Contact:

Post by julienb » Sun Mar 09, 2008 2:20 pm

I'm in too.
If I can help ..
Julien Bayle
____________________________________________________________________________________________________

art + teaching/consulting
ableton certified trainer
____________________________________________________________________________________________________

Angstrom
Posts: 14923
Joined: Mon Oct 04, 2004 2:22 pm
Contact:

Post by Angstrom » Sun Mar 09, 2008 2:28 pm

Bjorn, I'm on my way out now - but that particular feature is reasonably easy.

has_clip

is what you want.

: garbled output from documentation

Code: Select all

ClipSlot.ClipSlot

Live API for Python (c)1999-2007 Ableton AG


Classes	
Methods	
__eq__ 	no documentation
__ne__ 	no documentation
__nonzero__ 	no documentation
add_has_clip_listener 	Add a listener function or method, which will be called as soon as the property "has_clip" has changed.
add_has_stop_button_listener 	Add a listener function or method, which will be called as soon as the property "has_stop_button" has changed.
fire 	Fire a Clip if this Clipslot owns one, else trigger the stop button, if we have one.
has_clip_has_listener 	Returns true, if the given listener function or method is connected to the property "has_clip".
has_stop_button_has_listener 	Returns true, if the given listener function or method is connected to the property "has_stop_button".
remove_has_clip_listener 	Remove a previously set listener function or method from property "has_clip".
remove_has_stop_button_listener 	Remove a previously set listener function or method from property "has_stop_button".
stop 	Stop playing the contained Clip, if there is a Clip and its currently playing.


Attributes	
__dict__ 	dict 	{}
__weakref__ 	NoneType 	None
clip 	class Clip.Clip 	Clip.Clip
has_clip 	int 	1
has_stop_button 	int 	1


Builtins	
__delattr__
__getattribute__
__hash__
__init__
__new__
__reduce__
__repr__
__setattr__
__str__

julienb
Posts: 1816
Joined: Sat Oct 29, 2005 1:15 pm
Location: France
Contact:

Post by julienb » Sun Mar 09, 2008 2:32 pm

right.
via OSC, the message is :

Code: Select all

/live/name/clip
it returns a set of lines.

OSC memento is in OSC.txt:

Code: Select all

/live/tempo             (? f tempo)                             #Gets the tempo                         ?Sets the tempo
/live/time              (? time)                                #Gets the time                          ?Sets the time (scrubs?)
/live/cue/next                                                  #Jumps to the next cue
/live/cue/prev                                                  #Jumps to the previous cue

/live/play                                                      #Plays the song from start
/live/play/continue                                             #Plays the song from current position
/live/play/selection                                            #Plays the current selection
/live/play/clip         (i track, i clip)                       #Plays clip in track 
/live/play/scene        (i scene)                               #Plays scene

/live/stop                                                      #Stops the song
/live/stop/clip         (i track, i clip)                       #Stops clip in track
/live/stop/track        (i track)                               #Stops all clips in track

/live/name/scene        (? i scene, ? s name)                   #Gets the name of scene                 ?Sets the name of scene
/live/name/track        (? i track, ? s name)                   #Gets the name of track                 ?Sets the name of track
/live/name/clip         (? i track, ?i clip, ? s name)          #Gets the name of clip                  ?Sets the name of clip
 
/live/arm               (i track)                               #Arms track                         
/live/disarm            (i track)                               #Disarms track

/live/mute              (i track)                               #Mutes track
/live/unmute            (i track)                               #Unmutes track

/live/solo              (i track)                               #Solos track
/live/unsolo            (i track)                               #Unsolos track

/live/volume            (i track, ? f volume)                   #Gets track volume                      ?Sets volume (0.0, 1.0)
/live/pan               (i track, ? f pan)                      #Gets track pan                         ?Sets pan (-1.0, 1.0)
/live/send              (i track, i send, ? f level)            #Gets track send                        ?Sets track send (0.0, 1.0)

/live/pitch/coarse             (i track, i clip, ? f coarse, ? f fine) #Gets clip pitch                ?sets clip pitch
/live/pitch/fine
if you bang /live/name/clip 0 3
Live would answer the name of the clip of the tracks 1 and the scene 2 (3-1 cause it begins from 0)
at home, this precise thing doesn't work.. str() prob, I guess..
Julien Bayle
____________________________________________________________________________________________________

art + teaching/consulting
ableton certified trainer
____________________________________________________________________________________________________

hoffman2k
Posts: 14718
Joined: Tue Jun 15, 2004 6:40 pm
Location: Belgium
Contact:

Post by hoffman2k » Sun Mar 09, 2008 2:46 pm

Yeah I understand its easy.
All I really need is to get LiveOSC running. As it stands now, as soon as I load it in Live.. Live crashes..

I'd be happy to try out any suggestions. Julien has tried helping me out. But we didn't get past the crashing.
Currently I'm trying to find out how to do a full sweep of python on my system so I can install 2.2.2 again instead of 2.5 which i tried earlier.

julienb
Posts: 1816
Joined: Sat Oct 29, 2005 1:15 pm
Location: France
Contact:

Post by julienb » Sun Mar 09, 2008 2:52 pm

Bjorn,
I think you would have to test with 2.2.2 as we said..
Julien Bayle
____________________________________________________________________________________________________

art + teaching/consulting
ableton certified trainer
____________________________________________________________________________________________________

noisetonepause
Posts: 4938
Joined: Sat Dec 28, 2002 3:38 pm
Location: Sticks and stones

Post by noisetonepause » Sun Mar 09, 2008 2:59 pm

hoffman2k wrote:Is anybody ever going to post some details for osx?
Apparently there's something with the Python included in the OS X version of Live that makes it not work. That's my understanding, at least...
Suit #1: I mean, have you got any insight as to why a bright boy like this would jeopardize the lives of millions?
Suit #2: No, sir, he says he does this sort of thing for fun.

hoffman2k
Posts: 14718
Joined: Tue Jun 15, 2004 6:40 pm
Location: Belgium
Contact:

Post by hoffman2k » Sun Mar 09, 2008 3:08 pm

julienb wrote:Bjorn,
I think you would have to test with 2.2.2 as we said..
Just did so. Same problem.

Maybe on osx it requires another specific version. 2.2.2 is 5 years old.

hoffman2k
Posts: 14718
Joined: Tue Jun 15, 2004 6:40 pm
Location: Belgium
Contact:

Post by hoffman2k » Sun Mar 09, 2008 3:09 pm

noisetonepause wrote:
hoffman2k wrote:Is anybody ever going to post some details for osx?
Apparently there's something with the Python included in the OS X version of Live that makes it not work. That's my understanding, at least...
Yeah. This vagueness is about as detailed as the data on this subject for osx gets.
Yet Robert seems to be running it fine.

julienb
Posts: 1816
Joined: Sat Oct 29, 2005 1:15 pm
Location: France
Contact:

Post by julienb » Sun Mar 09, 2008 3:10 pm

:( so, I can't help anymore

perhaps the group will raise OSX/LiveAPI gurus
Julien Bayle
____________________________________________________________________________________________________

art + teaching/consulting
ableton certified trainer
____________________________________________________________________________________________________

Post Reply