Another OSC question
-
CreationFused
- Member
- Posts: 30
- Contact:
Hey all..
Another OSC question from me! Sorry if its getting on your nerves!
I have been able to send osc messages over the network (usine to usine) without any major issues. However when I attempt to receive the message message within ableton (using this setup - http://post.monome.org/comments.php?Dis ... e=1#Item_0) I fail to recieve anything at all....
Does anyone have a better way to send it into ableton and actually receive it??
I know 23fx23 has setup an apc style osc setup but I wish to learn how to do it all myself!
Thanks in advance!
Another OSC question from me! Sorry if its getting on your nerves!
I have been able to send osc messages over the network (usine to usine) without any major issues. However when I attempt to receive the message message within ableton (using this setup - http://post.monome.org/comments.php?Dis ... e=1#Item_0) I fail to recieve anything at all....
Does anyone have a better way to send it into ableton and actually receive it??
I know 23fx23 has setup an apc style osc setup but I wish to learn how to do it all myself!
Thanks in advance!
I'm sorry , I've only live lite 7.0.7 so i can't test these settings
i suppose you need a better live users here...:/
i suppose you need a better live users here...:/
hi creasionfused,
im not sure i totally get your link gecause it refers to an initial touchosc ableton script, which i didn't used, im not sure you can connect to it, but it evolved to a separate set of scripts more generalist to access live via osc called liveOSc.
I copied the liveosc folder to midi remote script of ableton, then lauch ableton, and choose liveosc in
midi remote control unit. then launch usine, activate osc and monitor local host on port 9001.
then you should be able to process all the commands included in liveOsc.
ST8 liveOSc now can be found HERE
im not sure i totally get your link gecause it refers to an initial touchosc ableton script, which i didn't used, im not sure you can connect to it, but it evolved to a separate set of scripts more generalist to access live via osc called liveOSc.
I copied the liveosc folder to midi remote script of ableton, then lauch ableton, and choose liveosc in
midi remote control unit. then launch usine, activate osc and monitor local host on port 9001.
then you should be able to process all the commands included in liveOsc.
ST8 liveOSc now can be found HERE
-
Clearscreen
- Member
- Posts: 482
- Location: Australia
- Contact:
LiveOSC works but it seems you need to be careful to launch usine (standalone or plugin) AFTER you launch Live. So if you have Usine plugin in a live set to receive OSC it may not work...
-
CreationFused
- Member
- Posts: 30
- Contact:
Thanks for the info!
I was thinking on using the TouchOsc script as I was attempting to simply emulate the osc signals that touchosc would send in usine.
I don't think that this worked so I'll have a go with LiveOSc.
Thanks again!
I was thinking on using the TouchOsc script as I was attempting to simply emulate the osc signals that touchosc would send in usine.
I don't think that this worked so I'll have a go with LiveOSc.
Thanks again!
-
CreationFused
- Member
- Posts: 30
- Contact:
Ok I've had a look at the script and it looks like what I should be doing...
However, I am getting confused...
If I have a switch sending osc data eg: /switches/switch1 that I want to control the on/off state of an effects rack. Will it work being named as that or will it have to be named the same as one of the calls in the oscapi.txt file?
However, I am getting confused...
If I have a switch sending osc data eg: /switches/switch1 that I want to control the on/off state of an effects rack. Will it work being named as that or will it have to be named the same as one of the calls in the oscapi.txt file?
by default , yes cause it's an address so the send osc module must have the same as the receive one..?
-
CreationFused
- Member
- Posts: 30
- Contact:
Thanks nay... rather than asking more q's I'm going to read through 23fx23's LiveOSC Challenge post and see what he's done there rather asking questions...
yes you can have a look at the thread, we started from scratch and discovered few things with time, can be helpfull.
but you have indeed to have the same calls as the one provided in oscApi.txt, it can't guess what you would have changed
and also one thing to understand the is that the nb of message elements matters. sometime asking on same adress/tag with a 2, 3, or 4 element modules will have a different function (ie one will simply ask, one will allow to set using 3 and 4rd datas ect).
i advice you to start slowly, ie trying to process simple commands such as tempo, when you feel ok and got it working try
the mutes, then the volumes (here you'll see some pbs explained in the other thread).
experiment with oscapi descriptions.
don't hesitate to ask if need, here, or maybe in the other thread can be cool to centralize live and osc specific questions..
but you have indeed to have the same calls as the one provided in oscApi.txt, it can't guess what you would have changed
and also one thing to understand the is that the nb of message elements matters. sometime asking on same adress/tag with a 2, 3, or 4 element modules will have a different function (ie one will simply ask, one will allow to set using 3 and 4rd datas ect).
i advice you to start slowly, ie trying to process simple commands such as tempo, when you feel ok and got it working try
the mutes, then the volumes (here you'll see some pbs explained in the other thread).
experiment with oscapi descriptions.
don't hesitate to ask if need, here, or maybe in the other thread can be cool to centralize live and osc specific questions..
-
CreationFused
- Member
- Posts: 30
- Contact:
Yea I am going to work doing some simple commands. Thanks for the advice! I'll also use the original thread from now on to keep the resources in one location.
One more q tho... If I have a single button command do I simply add it to the oscAPI.txt file and it will be recognised?
One more q tho... If I have a single button command do I simply add it to the oscAPI.txt file and it will be recognised?
-
CreationFused
- Member
- Posts: 30
- Contact:
Ok I've been reading through the OSC Challenge post and have been getting tempo, start, stop (all the simple stuff) working however I can't seem to figure out how get clip information from ableton.
I've placed a receive osc module with the address of /live/name/clip 1,1 however it doesn't receive a thing.
Should I be using a receive module with more data inlets?
Also, Sorry for all the noob questions!!
I've placed a receive osc module with the address of /live/name/clip 1,1 however it doesn't receive a thing.
Should I be using a receive module with more data inlets?
Also, Sorry for all the noob questions!!
hi creationfused, don't worry,we all started and keeping asking questions, this forum is for this purposes.
in fact you don't have to 'listen' to each clip. the receive module for clip info should have the overall adress:
/live/name/clip only, and if i well remenber if you make a osc receive 3 or 4, on that adress you'll receive
(in fact nb of receive is not really important as long as it's enough long to let you see the wanted datas).
something like /live/name/clip 1 2 bass . where as we see in api.tx first digit will be track nb, second clip nb,
then will come the name, .
now you will receives those infos on that adress only if you :
A) change the name or color of a clip, or create a new one, maybe try and see if it works.
B) send a request = asking what is the clip XY name?
do do that request you use a send module with same /live/name/clip and if picking a osc send 2 datas, using 2 integers like
/live/name/clip and in datas you make 1, 2, set it to integers type, you request the name of clip2 of track 1.
and should see the data change of your receive module as you ask different clips.
(here on sending hoewer it's important to have the good nb of data):
in this exemple, using a 2 data osc send will act as a request (= clip nb XY?).
but if you used a osc 3 data send with same adress, it's a 'set name ' function (= clipXY is "bass").
(also in usine you can"t actually set names as the type is for all datas. but that's just to show you it's important
to have the right nb of out on sendOsc,
generally you can get the nb you need for each function in oscapi.txt, as youll see most osc Tag adress will
perform differents functions relatng the nb of datas.
good experemiments. don't hesitate if questions.
in fact you don't have to 'listen' to each clip. the receive module for clip info should have the overall adress:
/live/name/clip only, and if i well remenber if you make a osc receive 3 or 4, on that adress you'll receive
(in fact nb of receive is not really important as long as it's enough long to let you see the wanted datas).
something like /live/name/clip 1 2 bass . where as we see in api.tx first digit will be track nb, second clip nb,
then will come the name, .
now you will receives those infos on that adress only if you :
A) change the name or color of a clip, or create a new one, maybe try and see if it works.
B) send a request = asking what is the clip XY name?
do do that request you use a send module with same /live/name/clip and if picking a osc send 2 datas, using 2 integers like
/live/name/clip and in datas you make 1, 2, set it to integers type, you request the name of clip2 of track 1.
and should see the data change of your receive module as you ask different clips.
(here on sending hoewer it's important to have the good nb of data):
in this exemple, using a 2 data osc send will act as a request (= clip nb XY?).
but if you used a osc 3 data send with same adress, it's a 'set name ' function (= clipXY is "bass").
(also in usine you can"t actually set names as the type is for all datas. but that's just to show you it's important
to have the right nb of out on sendOsc,
generally you can get the nb you need for each function in oscapi.txt, as youll see most osc Tag adress will
perform differents functions relatng the nb of datas.
good experemiments. don't hesitate if questions.
-
CreationFused
- Member
- Posts: 30
- Contact:
Thanks for your help... I've managed to get the clip names and colour all coming through fine. However I can't stop the send request from updating all the clips, not just to the one that i am requesting. It was annoying me so I've moved onto getting all the clip info I want coming through. I've got that working well with some maths setup to factor in the bpm to get the right time. Although when two tracks are running its also getting confused.
Any ideas why its doing this?
Any ideas why its doing this?
sorry i don't fully understand. However I can't stop the send request from updating all the clips, not just to the one that i am requesting
you mean it sends you several clips names one after the other on the receive module? this hapen if you use only a singledataOsc send with a 'query' string, that trig a "request all clips names" in liveosc code,
but normally if you use a 2 data send it should ask only and receive one XY clip only info.
maybe you are constantly asking as the send swich on the module is always on and you change the datas in, in your patch
via scrolling or stuff like that? if so try to activate the send with some tiny pulses with has changed linked to something.
you mean it sends you several clips names one after the other on the receive module? this hapen if you use only a singledataOsc send with a 'query' string, that trig a "request all clips names" in liveosc code,
but normally if you use a 2 data send it should ask only and receive one XY clip only info.
maybe you are constantly asking as the send swich on the module is always on and you change the datas in, in your patch
via scrolling or stuff like that? if so try to activate the send with some tiny pulses with has changed linked to something.
-
CreationFused
- Member
- Posts: 30
- Contact:
Sorry I was a little bit tired and annoyed with it all when I sent that... I realise now it makes zero sense!
Here is what's happening:
I have a few osc receive modules with addr:/live/name/clip and with the data I want to receive in each module set-up eg: (track 0, Clip 1), (track 0, Clip 2) and so on. I have a single osc send (2data) with addr:/live/name/clip with data1:0 data2:2. What happens is when I toggle the send on the module it successfully requests the track name, but it goes to all of the receive modules, not just the receive module set to (track 0, Clip 2).
I've attached a jpg to explain how I have set it all up. I am pretty sure I have done it completely wrong!
Thanks for your help!!

Here is what's happening:
I have a few osc receive modules with addr:/live/name/clip and with the data I want to receive in each module set-up eg: (track 0, Clip 1), (track 0, Clip 2) and so on. I have a single osc send (2data) with addr:/live/name/clip with data1:0 data2:2. What happens is when I toggle the send on the module it successfully requests the track name, but it goes to all of the receive modules, not just the receive module set to (track 0, Clip 2).
I've attached a jpg to explain how I have set it all up. I am pretty sure I have done it completely wrong!
Thanks for your help!!

oh yeah i see.
In fact that's not the good way to do, as indeed a module receive all commands send on that adress.
you don't filter on the OSC modules themself, but after.
so in fact you need to use only one module, that receive all, and spread the datas then with some pass, A=b or dispatcher.
i couldn't check it work right here but i would do like this:

the dispatcher will dispatch the received name to corresponding button(=clip) only if track is 0,
by default the dispatcher select need to be set to 1 to send to out1, 2 for 2 ect. that's why there is the 1 constant added
to clipNb coming from OSC data2, because first clip on OSC is 0, not 1. this is disturbing at start on dispatcher
but then find it's cool cause if set him to 0, then it won't dispatch anything, that's what apply here if the track is not 0,
select will be 0.
then you can make a similar system with A=1 for track b ect.
i don't remember ewactly but there are cases when a waitOne module need to be inserted on select or datain
to be correctly dispatched. Test and if notice pb, try to add a wait one, on either select or in.
In fact that's not the good way to do, as indeed a module receive all commands send on that adress.
you don't filter on the OSC modules themself, but after.
so in fact you need to use only one module, that receive all, and spread the datas then with some pass, A=b or dispatcher.
i couldn't check it work right here but i would do like this:

the dispatcher will dispatch the received name to corresponding button(=clip) only if track is 0,
by default the dispatcher select need to be set to 1 to send to out1, 2 for 2 ect. that's why there is the 1 constant added
to clipNb coming from OSC data2, because first clip on OSC is 0, not 1. this is disturbing at start on dispatcher
but then find it's cool cause if set him to 0, then it won't dispatch anything, that's what apply here if the track is not 0,
select will be 0.
then you can make a similar system with A=1 for track b ect.
i don't remember ewactly but there are cases when a waitOne module need to be inserted on select or datain
to be correctly dispatched. Test and if notice pb, try to add a wait one, on either select or in.
-
CreationFused
- Member
- Posts: 30
- Contact:
You're a genius! It took me ages to figure it out.... I couldn't see what it was actually doing.... Thanks again mate!
-
CreationFused
- Member
- Posts: 30
- Contact:
Arrrgggghhhh Sorry, but I need more help again... I'm having problems sending /live/device/param osc to an effects rack within my first track.
I am receiving the osc signal whenever I activate the rack(or do anything in the rack) within Ableton (eg /live/device/param (0,0,1,0,Device On)) But whenever I attempt to send data to it nothing happens.
Also, I receive nothing at all on looping states. Is that a bug within the LiveOSC?
Cheers.
I am receiving the osc signal whenever I activate the rack(or do anything in the rack) within Ableton (eg /live/device/param (0,0,1,0,Device On)) But whenever I attempt to send data to it nothing happens.
Also, I receive nothing at all on looping states. Is that a bug within the LiveOSC?
Cheers.
hi creationfused
mmmm you ll see liveOsc is a long quest
for the racks,. Do you use send modules set to float?
what version of liveOsc do you use, the one on the site, or one I tweaked you found in the forum?
I ask that because by default they need a tweak to understand floats. As in usine we set same type of
datas for all the data, we set to float, but the script is awaiting an integer for track, dvice and param IDs 3 first data.
so it won't work.
So in the script need to modify on the devices sections of liveOscCallbacks.py (at the end) :
and do the same for device msg3 and param IDmsg4.
relating looping state mmm, it should work, but only with requests..
mmmm you ll see liveOsc is a long quest
for the racks,. Do you use send modules set to float?
what version of liveOsc do you use, the one on the site, or one I tweaked you found in the forum?
I ask that because by default they need a tweak to understand floats. As in usine we set same type of
datas for all the data, we set to float, but the script is awaiting an integer for track, dvice and param IDs 3 first data.
so it won't work.
So in the script need to modify on the devices sections of liveOscCallbacks.py (at the end) :
Code: Select all
everytime you see:
track = msg[2]
replace by
track = int(msg[2])relating looping state mmm, it should work, but only with requests..
-
CreationFused
- Member
- Posts: 30
- Contact:
I am using your super mod'd one as it gives me the clip color block option! I am pretty sure I haven't got them set to floats but I'll have a look when I get home from work and will post.
-
CreationFused
- Member
- Posts: 30
- Contact:
Hmmm that didn't seem to work...
I changed the messages for the devices as mentioned above.
I am calling the device correctly aren't I? Eg:To turn on the first device on track one.
/live/device/param
0
0
0
1
I changed the messages for the devices as mentioned above.
I am calling the device correctly aren't I? Eg:To turn on the first device on track one.
/live/device/param
0
0
0
1
mmm yes that should be this, with a 4xdata,... so you see it incoming but no control mmmm
can you point me the link to the files you picked i ll try to check tomorrow, maybe i had moded the script and it need a 5 data send,
data being on 5 and 4rd would be the type of target : 0 normal track, 1 send, 2 master, but i don't remember in wich version i did
that...
can you point me the link to the files you picked i ll try to check tomorrow, maybe i had moded the script and it need a 5 data send,
data being on 5 and 4rd would be the type of target : 0 normal track, 1 send, 2 master, but i don't remember in wich version i did
that...
-
CreationFused
- Member
- Posts: 30
- Contact:
Yea I can receive it no problems... as soon as I attempt to send it, nothing. It is all very strange.
Also, I still get nothing on looping eg: /live/clip/loopstate (0,0,0&1).
This is the one I am using: LiveOSC_23fx_v5
Also, I still get nothing on looping eg: /live/clip/loopstate (0,0,0&1).
This is the one I am using: LiveOSC_23fx_v5
Ok, then try to download this file, and rename it to a .py and replace your existing file:
LiveOSCCallbacks
then try to access the parameters using OSC send 4 datas (track,device,paramID,value) set on float
but adress should be /live/device
and try for loopstate with adress being /live/clip/loopstate_id
LiveOSCCallbacks
then try to access the parameters using OSC send 4 datas (track,device,paramID,value) set on float
but adress should be /live/device
and try for loopstate with adress being /live/clip/loopstate_id
-
CreationFused
- Member
- Posts: 30
- Contact:
Cheers... I'll try that out tonight.
FYI: this is the tablet I am using with my Ableton session being run on another PC.
FYI: this is the tablet I am using with my Ableton session being run on another PC.
Lucky you
i wait to see x-mas offers but im so awaiting!!
Who is online
Users browsing this forum: No registered users and 22 guests
