hdavid / Launchpad95

Improved Novation Launchpad scripts for Ableton Live
http://motscousus.com/stuff/2011-07_Novation_Launchpad_Ableton_Live_Scripts/
GNU General Public License v3.0
352 stars 82 forks source link

Session stop clip buttons stops working after a scene launch on the launchpad #23

Closed thomasf closed 9 years ago

thomasf commented 9 years ago

It works if the scene is triggered by clicking in live, its only if the launch is done on the device itself this happens. Switching to another mode and back again reinitialises the stop buttons.

The reason is that SpecialSessionComponent._stop_track_clip_buttons is cleared, by something.

thomasf commented 9 years ago

I want to help out with lp95 but it's probably the least suitable project to learn the API in because of it's inherent complexity, other scripts I've been tinkering with are generally easier to understand. Lp95 seems to do alot of things spread out all over the places that actually has implementations in the _Framework classes.. I guess that this might be because of legacy reasons.

hdavid commented 9 years ago

please test and let me know if this works for you. i did a quick fix while on travel :) as you can see the bug was original launchpad script code :)

thomasf commented 9 years ago

Thanks alot, much better.I

At first my lp's just stopped responding quickly after starting live but that ended, Apple might be the responsible part there, maybe.

There is still an issue when two launchpads are connected. The script mixes up the led lights between the two, however they do the right thing when pressed.

And also, I do learn alot about the API's from my lp95 debug sessions even if I haven't yet found a solution to any of the bugs I've been looking for.

thanks again

hdavid commented 9 years ago

some weird stuff in a python script can kill live. i had that in the past. you can also have infinite loops etc. i had that in the past. so programming python remote scripts is not totally safe in that regards.

about the linked sessions, i will have a look when i got a second launchpad at hand.

thomasf commented 9 years ago

I have understood that the live python interpreter is a bit special in some places.. Amongst other things I guess that it is using some kind evented concurrency scheduler (or similar concept) since imports done at the top of the file isn't always available inside functions later on.

I jammed with a friend for quite some hours yesterday and all seemed stable then.