OSC Send address without args

Discuss Lemur and share techniques.
Post Reply
foogazi
Newbie
Posts: 2
Joined: 07 Jun 2012 06:01

OSC Send address without args

Post by foogazi »

I am attempting to control Ardour (http://ardour.org/osc_control) via Lemur, however am running into a problem already.

The DAW expects some functions without any arguments - i.e "/ardour/transport_play". In other software (such as the unix/linux command line oscsend utility) I can send OSC addresses without arguments.

Is there any way to send ONLY the OSC address ... i.e. "/target/button" without sending the args?

I've tried :
oscout(0, '/ardour/transport_play'); - Invalid
oscout(0, '/ardour/transport_play', {}); - Invalid
oscout(0, '/ardour/transport_play', null); - Invalid
oscout(0, '/ardour/transport_play', NULL); - Invalid

It appears that the oscout() script function automagically determines the OSC value type via the 3rd argument. For instance:
oscout(0, '/something', 'test') will send an OSC message of type String with a value of 'test' to address '/something'
oscout(0, '/seomthing, 1) will send an OSC message of type INT with a value of 1 to address '/something'

It would be nice if you could specify a NULL type to send ONLY the address.
Macciza
Regular
Posts: 1315
Joined: 07 Dec 2011 04:57
Location: Sydney, Australia.

Re: OSC Send address without args

Post by Macciza »

Hi

I guess you could try oscout(0,'/test',''); that would give you an empty null-terminated string . . .

It is also up to the app which is implementing the messages - Perhaps it should deal with /transport_play 1 without issue

Have already requested some other OSC refinements, can pass this along as well . . .
Not sure if there is an interim solution - Maybe Osculator or similar . .

Cheers
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
foogazi
Newbie
Posts: 2
Joined: 07 Jun 2012 06:01

Re: OSC Send address without args

Post by foogazi »

I guess you could try oscout(0,'/test',''); that would give you an empty null-terminated string . . .
I forgot to mention that I did try that, and it sends an OSC message of type String with a value of "". Which the receiving program ignores because it's waiting for an "address only" message.

OSCulator looks like it could work... 3 problems...
1) If I create and design my Lemur UI around that, and Lemur ends up fixing <cough><cough> their OSC stuff, I'll have to write another UI.
2) Added latency. Lemur -> OSCulator -> Ardour = Lame.
3) OSCulator is $39 - I've already paid $50 for the Lemur app, which is essentially useless to me at this point (unless it get's fixed/updated).

So I guess my options are: Wait for Lemu to get fixed/updated or double down and buy OSCulator and just deal with the convolution. Sweet.
Macciza
Regular
Posts: 1315
Joined: 07 Dec 2011 04:57
Location: Sydney, Australia.

Re: OSC Send address without args

Post by Macciza »

Hi
Sorry - just seemed like the obvious one that was missing . . .

I think if you scripted it with possible future changes in mind it might be a bit easier to modify later
And there are some back-door editing tricks that could help ease this transition as well
The request has been passed along and Liine have been pretty good with their updates so far imho . . .

The other option as I mentioned in for Ardour to review it's server implementation re graceful degradation
If it is not expecting any arguments it should be able to deal with them or ignore them if they are there
As Ardour is essentially an open-source program it would be posssible to patch it to deal with OSC however you wish
I would suggest also raising a support issue with Ardour regarding this problem if you have not already . . .

For me part of the beauty of osc is that it should be highly malleable compared to MIDI and overloaded.
I don't see why Ardour can't interpret 'blah/play 1' or blah/play 'T' (logical) as meaning play
And then also be able to deal with 0 or F as meaning stop, as well as the address with a null argument

Cheers
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]
Post Reply