PDA

View Full Version : LiveOSC and Osculator clip names Please Help



davidtbaron
02-07-2011, 01:02 AM
Ok hoping somebody can help me i am using ableton live 8.21 and liveosc script i have to problem sending osc from osculator to ableton but when i get a call back from ableton like /live/name/clip then underneath it 0 1 2 3. check out my screenshot i know. Can any one explain what the numbers mean and what i would need to do to forward the clipname text to a lable on touchosc template. I understand the event would be oscrouting its the values and parameters that are confusing me. any help much appreciated with a little know how or and example specifically for sending the clip names to the ipad.


http://i54.tinypic.com/snihhz.jpg

camille
02-07-2011, 10:41 AM
Hey David,

OSCulator was not really made to work easily with the LiveOSC API, but ifyou want to extract the name of a specific clip, you can use the /live/name/clip message.
Here is the definition of the message according to the OSCAPI.txt doc file:


/live/name/clip (? i track, ?i clip, ? s name) #Gets the name of clip ?Sets the name of clip

You will need to extract the value of the first and the second parameters (track number and clip number) to finally access to the right avlue for the last parameter (clip name).
To do this, you can use the 'Demux' (demultiplex) command.

First of all, select the first argument of the /live/name/clip message, and press Control-D. This will prepare the message to listen for new values and display them in the list.
Now, in Live trigger play/pause on your clip, in order to trigger an OSC message from Live. In OSCulator, the list should refresh with a list of numbers instead of the first agument. As you can see those new 'sub-messages' have only two arguments, meaning that the first one was consumed by the Demux operation.
Repeat the previous steps for the second argument.
The resulting argument is the string value for a specific track, and a specific clip row.

Finally, you will need to OSC Route this value to your label, which is left as an exercise to the astute reader :-)


Best,
Cam

davidtbaron
02-09-2011, 12:12 AM
Thanks camille for your reply but i am still having trouble its not working i click on the first argument which was 0 then Control-D all arguments disappear 0,1,2,3 and /live/name/clip text changes color purple or something then i play the clip it doesn't do anything. am i doing something wrong? Really love osculator and would rather use this than livecontrol because although livecontrol is good you van not send or receive midi cc with it thats why i need to use osculator.

davidtbaron
02-09-2011, 03:05 AM
Ok so i think i got it Camille so how would i forward the clip name properly to touchosc template to /1/label1

Here is a pic just to see if i followed your instructions properly. Thanks for your help so far :)

http://i53.tinypic.com/zv55ww.jpg

camille
02-09-2011, 03:36 PM
Hey David,

You did exactly what I asked, and it seems I gave the wrong indications because I read the wrong documentation. As you can see the clip name is right at the second argument, which explains why it is displayed into the list.

Could you just give me the address where you downloaded LiveOSC or attach the OSCAPI.txt? This way we'll have the same version, and I'll be able to give you more details, try on my own computer and send you an example.

Cam

davidtbaron
02-09-2011, 04:30 PM
Thanks For your help camille here is the link for the download page in right column live osc i am using its from the livecontrol website.

http://liine.net/livecontrol/ableton-liveapi/liveosc/

looking forward to your feedback as i love osculator and its functionality.

camille
02-09-2011, 04:34 PM
Thanks, I'll have a look this evening, as I don't have access to a mac right now.
I'll let you know how it goes.

davidtbaron
02-09-2011, 05:24 PM
Thanks Camille i look forward to hearing from you have a great day :)

camille
02-09-2011, 11:56 PM
Hi David,

So Here is what I found :

The /live/clip/name message does not exactly has the same structure as documented, but the first three arguments are the same.

First argument is the track as a number going from 0 to Tn (where 0 is the first track).
Second argument is the clip row as a number going from 0 to Cn (again, 0 is the first row).
Third argument is the clip name, this is what you want to send to a label.

As you want to extract from this message the clip name from 2 indexes, therefore you need to demux the first argument, which will give you an index based on the first argument's different values (0, 1, 2 ..., Tn), and then demux the second argument for each sub-message (which then becomes the first argument of a sub-message). Then, you will get access precisely to all the clip name in a sort of big table (see attached file, I did the work for 8 tracks and 8 clip rows).

I noticed that the /live/clip/name message was sent from Live only when the clip slots were changed, which makes sense indeed. In order to receive all the indexes combinations (track/clip row), I had to put several dummy clips, and move them from tracks to tracks.

Hint: To make it easier to edit in OSCulator and use Live at the same time I have enabled the "Keep window on Top" feature, or Command-T. This will keep OSCulator floating over Live, which is very handy I think.

The last step is to simply assign a OSC Routing message that wil forward the string value of the clip name to your label in TouchOSC. Here is how I would do:

Open the Parameters Window, and go to the OSC tab
Drag and Drop your TouchOSC layout file on the table at the bottom
Remove all the routing that you think you won't use, or just keep the ones with the label if that's what you really want to control.
Open the OSC route Editor on a label, and replace the <all args> token in the Arguments field with a arg[0]. The reason we do that is because the sub-message have still two arguments and we really want the first one only. Since this is a string value, we don't need to change the type so we just use arg[0].
Repeat this process for all labels, optionally set a clear Memo on each routing to remember what it does.
Close the Parameters window.
Assign a routing you just configured to a combination of a track, and clip row, as demonstrated in the attached file.
Now, when the clips are changed in Live (added / removed) a message containing the name of the clip will be sent to a specific label in TouchOSC.

Cheers,
Cam

davidtbaron
02-10-2011, 12:30 AM
THANKS!!!!!!! Worked Perfectly i Really Appreciate it SOOOOO MUCH!!!!!!

Have A GREAT Evening :)

uuuhu
02-25-2011, 04:46 PM
Hi, Cam. I'm doing it and it works. But I have a problem. For example if I've 2 in the firts 2 slots of my track, and I change the position of the track for another track who has this slots empty the values doesen't reset, the values is still holding the names of previous clips... Can I fix it? Thanks!

camille
02-25-2011, 05:45 PM
Are you sure you have assigned to correct OSC Routings ?
Please pm me your file so I can have a look :-)

Can you tell me if that works some of the time of fails at random intervals ? This can happen when you are using a router in between your iPhone and computer.

uuuhu
02-25-2011, 08:55 PM
It always works for me using a router... I tried to link iPhone and Mac directly with a "private" wlan... but I've the same result.

I think I've done it correctly. I use your example for doing it. I'm doing it with very simply toucOSC layout, only with 4 labels. It sends the values perfect... but doesn't update empty slots.

I'll try to explain it. This is the first Step:

Live Track 1: Clip 1, Empty Slot, Clip 3, Empty Slot
Live track 2: Empty Slot, Clip 2, Empty Slot, Clip 4
iPhone: Clip 1, (nothing), Clip 3; (nothing)

When I change the position of the tracks manually, for Live to send me the necessary order to change the names of the clips. Now then I've this:

Live Track 1: Empty Slot, Clip2, Empty Slot, Clip 4
Live Track 2: Clip 1, Empty Slot, Clip 3, Empty Slot
iPhone: Clip 1, Clip 2, Clip 3, Clip 4

Can you understand something? ;)

I've seen when I change the position of the tracks live onli sends to OSCulator information about the clips that we add. In the above case clips 2 and 4 (on osculator 0 and 3)

Thanks you a lot!

camille
02-26-2011, 07:37 PM
You're right, but I don't really understand why this happens.
It seems LiveOSC doesn't clear out the name of the clip that are not anymore used.
I have found a workaround, but I'm not a super fan of this : you can insert an empty MIDI clip by pressing Command-E in the clip. That will clear out the clip name and the send the appropriate OSC messgae…

lapieuvre
11-10-2011, 03:57 PM
Hi,

I obviously don't have enough knowledge to do this, because I don't understand the vocabulary.

For example:
Drop your TouchOSC layout on the table at the bottom

???


EDIT

I got it to work. Scene names are numbers. Is there a way to get scene names - Letters - just like the clips? Thanks

camille
11-11-2011, 12:09 PM
I have updated the original post to make it clearer that you must drag and drop your layout file.
In this document you will find the complete list of OSC message for LiveOSC:
http://monome.q3f.org/browser/trunk/LiveOSC/OSCAPI.txt

I can see that there are OSC messages to get the scene name from an integer, but I don't find this convenient to use...

When you receive the scene number, you must send the message /live/name/scene with the integer argument to LiveOSC. It will reply with the /live/name/scene message using two arguments, the second one being the scene name as a string. You can then forward the scene name to TouchOSC.

iogurt
06-07-2012, 12:41 AM
Hi Camille & folks


You're right, but I don't really understand why this happens.
It seems LiveOSC doesn't clear out the name of the clip that are not anymore used.
I have found a workaround, but I'm not a super fan of this : you can insert an empty MIDI clip by pressing Command-E in the clip. That will clear out the clip name and the send the appropriate OSC messgae…

Maybe this is a way to clear the labels in Touchosc.
The problem is: Live (throught liveOsc) don't send the message /live/name/clip when a clip is deleted or moved in Live. I think one solution could be routing a osc message from /live/clip/info/tracknumber/clipnumber/0 {state: No clip} (which is triggered for every action of the clip) to a concrete label in TouchOsc with the argument blank space. I tried to make a " " token, but give me a """ token. I'm stucked at this point. Any other character works fine (but you have the label displaying at least one character, like a dot).

camille
06-07-2012, 12:47 AM
Hi iogurt,

In the OSC Routing Editor, Arguments field, try hitting Alt+Space, it will insert a space character.
Just discovered that ... :)

Best,
Cam

iogurt
06-07-2012, 01:08 AM
Yeaah, now Touchosc keeps perfectly the name (or no name) on the slot clips.

Man, i tried every key with alt but alt+space, alt+enter and alt+esc!!!!:p Dummy, dummy...

Thanks again. You give to me a lot of sleep time. http://static.osculator.net/forum/images/icons/icon14.png