Q: What parts of the API / remote scripts changed 8 -> 9 ?
Q: What parts of the API / remote scripts changed 8 -> 9 ?
Hi,
I know a little bit about writing remote scripts, but not a lot.
Can anybody tell me which parts of the API were changed from Live 8 to 9 (or was it 9.1 ?) ?
Was it like one central change that broke the whole Live 8 scripts, changes that broke every single
command or changes that broke only single commands while the rest of the script still works ?
I know there are documentations about Live 9 API on the net, but they are so complex...
Is there some kind of documentation or list especially about the changes ?
I know a little bit about writing remote scripts, but not a lot.
Can anybody tell me which parts of the API were changed from Live 8 to 9 (or was it 9.1 ?) ?
Was it like one central change that broke the whole Live 8 scripts, changes that broke every single
command or changes that broke only single commands while the rest of the script still works ?
I know there are documentations about Live 9 API on the net, but they are so complex...
Is there some kind of documentation or list especially about the changes ?
Re: Q: What parts of the API / remote scripts changed 8 -> 9 ?
No there's not, not even at Ableton headquarters, bear in mind they change from release to release as well, inparticlaur between 9.1.1 and 9.1.2 made significant changes...
Cheers
D
Cheers
D
Re: Q: What parts of the API / remote scripts changed 8 -> 9 ?
Yes, but I am not talking about additions / new commands.
From what I understand there was a major change / major changes
from 8 to 9 (or 9.1.1 to 9.1.2 ?) that made some / all Live 8
scripts stop working at all / in parts.
It would take ages for me to find these changes (if at all).
So if there is no list, there must be people who updated their
scripts for Live 9 that can tell me what to look after...
From what I understand there was a major change / major changes
from 8 to 9 (or 9.1.1 to 9.1.2 ?) that made some / all Live 8
scripts stop working at all / in parts.
It would take ages for me to find these changes (if at all).
So if there is no list, there must be people who updated their
scripts for Live 9 that can tell me what to look after...
Re: Q: What parts of the API / remote scripts changed 8 -> 9 ?
I can only tell from my experience with my SelectedTrackControl:
_Framework-Classes changed, especially in the setup phase. Live 8 uses a method in the ControlSurface self.set_suppress_rebuild_requests(<bool>) whereas in Live 9 one uses a Python construct (with-statement): "with self.component_guard():". Also in Live 9 and _Framework-Classes you need to use set_highlighting_session_component to make a SessionComponent "visible" – Live 8 automagically used the one you created, but I assume that allowed only one SessionComponent to be instantiated (haven’t tested that myself).
If you do not use _Framework-Classes (as the current SelectedTrackControl does), I stumbled over only minor changes. The collection of tracks and scenes is not a Python-native List (or Set) anymore, but some custom Collection-Class, which you cannot simply combine anymore. So combining tracks and return tracks into one List like this:
does not work anymore, you need to iterate over each and append to a List manually (of course you could use List Comprehensions, but that does not change much of the code). Example of change here:
https://github.com/wiffbi/Selected_Trac ... b0f4dc3b5e
Also, have a look at ClyphX, it uses _framework-Classes and has support for Live 8 and Live 9. If you look into the sources, you see, how it manages to be compatible to both.
_Framework-Classes changed, especially in the setup phase. Live 8 uses a method in the ControlSurface self.set_suppress_rebuild_requests(<bool>) whereas in Live 9 one uses a Python construct (with-statement): "with self.component_guard():". Also in Live 9 and _Framework-Classes you need to use set_highlighting_session_component to make a SessionComponent "visible" – Live 8 automagically used the one you created, but I assume that allowed only one SessionComponent to be instantiated (haven’t tested that myself).
If you do not use _Framework-Classes (as the current SelectedTrackControl does), I stumbled over only minor changes. The collection of tracks and scenes is not a Python-native List (or Set) anymore, but some custom Collection-Class, which you cannot simply combine anymore. So combining tracks and return tracks into one List like this:
Code: Select all
self.song.tracks + self.song.return_tracks
https://github.com/wiffbi/Selected_Trac ... b0f4dc3b5e
Also, have a look at ClyphX, it uses _framework-Classes and has support for Live 8 and Live 9. If you look into the sources, you see, how it manages to be compatible to both.
Re: Q: What parts of the API / remote scripts changed 8 -> 9 ?
Thanks a lot, wiffbi !
Does anybody know if there is a Live 9 compatible version of LiveOSC anywhere ?
I know it is not maintained on the original site anymore.
But it is a very good script and it would be a huge waste
of time if everybody using it would start to fix it on
his own...
Does anybody know if there is a Live 9 compatible version of LiveOSC anywhere ?
I know it is not maintained on the original site anymore.
But it is a very good script and it would be a huge waste
of time if everybody using it would start to fix it on
his own...
Re: Q: What parts of the API / remote scripts changed 8 -> 9 ?
...may I ask what part of LiveOSC does not work in Live 9?Does anybody know if there is a Live 9 compatible version of LiveOSC anywhere ?
I know it is not maintained on the original site anymore.
But it is a very good script and it would be a huge waste
of time if everybody using it would start to fix it on
his own...
I use it with L9 without problems. But maybe I'm scratching only at the surface.
Re: Q: What parts of the API / remote scripts changed 8 -> 9 ?
Err....to be honest I didn't have the opportunity to test it.dr_loop wrote: ...may I ask what part of LiveOSC does not work in Live 9?
I use it with L9 without problems. But maybe I'm scratching only at the surface.
From what I read I just assumed that (nearly) EVERY script has to be fixed...
I use a slightly changed version of LiveOSC for communication with my custom
made touchscreen system which is the center of my live setup.
That's why I always tend to panic when I read about changes to the API...
So I will shut up and do some testing...
Re: Q: What parts of the API / remote scripts changed 8 -> 9 ?
Just wanted to share my findings with you.
Julien Bayle also states on his website that the LiveOSC python hacks still work.
The script I use (based on LiveOSC) works fine under 9.1.4, too, as far as I can tell.
With one little exception.
In Live 9.1.4 (compared to Live 8 ) the clip playing position is not reset to 0.0 anymore
when a clip is stopped. So in my control surface the position bars stay where they
were when the clip stopped. Can't say if this is also true for the original LiveOSC.
In my script it was an easy fix
Julien Bayle also states on his website that the LiveOSC python hacks still work.
The script I use (based on LiveOSC) works fine under 9.1.4, too, as far as I can tell.
With one little exception.
In Live 9.1.4 (compared to Live 8 ) the clip playing position is not reset to 0.0 anymore
when a clip is stopped. So in my control surface the position bars stay where they
were when the clip stopped. Can't say if this is also true for the original LiveOSC.
In my script it was an easy fix