A Space in OSC

LXConsole support and feedback
Post Reply
nizer
Posts: 157
Joined: Sun Jan 23, 2011 1:27 pm
Location: Virginia
Contact:

A Space in OSC

Post by nizer »

Several of LX Consoles command line commands require a "SPACE". Like:

sub: 1@100

The Lemur Software removes the "SPACE" and makes it sub:1@100

Any work around.
Mark Nizer
mark@nizer.com
admin
Site Admin
Posts: 1643
Joined: Mon Nov 05, 2007 1:26 am
Contact:

Post by admin »

If you are sending commands via the address pattern, the space shouldn't matter: /cmd.lxconsole/sub:1@100. Earlier versions of LXConsole were more strict about insisting that the command line look exactly like it does when created with the keyboard. The space in the command line is actually removed when it is interpreted. So, the space is optional.

A space is not a legal character in an OSC address pattern. Which is probably why the Lemur software removes it--if that is what it does. QLab interprets a space in a string for a custom OSC message as a delimiter for an argument. With QLab, /cmd.lxconsole/sub: 1@100 sends with the address pattern /cmd.lxconsole/sub: and a string argument "1@100"
nizer
Posts: 157
Joined: Sun Jan 23, 2011 1:27 pm
Location: Virginia
Contact:

OSC subs

Post by nizer »

So no matter how much I play with it, I can't get a sub to trigger with /cmd.lxconsole/sub:1@100 via OSC. I can do it via QLab with /cmd.lxconsole/sub: 1@100

But both Lemur and TouchOSC don't work. It's no big deal except I am trying to make a redundant system were I don't need QLab and need to trigger a sub (in my case a fogger).
Mark Nizer
mark@nizer.com
admin
Site Admin
Posts: 1643
Joined: Mon Nov 05, 2007 1:26 am
Contact:

Post by admin »

This is fixed in the latest build 3.8.3 (8825.1).

When you posted the initial issue, I tested with QLab and found /cmd.lxconsole/sub:1@100 to work properly. It turns out that it would seem to work when "sub:1" was the last command. But that was because it was only doing the @100 with its ability to repeat a command changing only the @level part. It was, in fact, not working properly due to a small difference in how internal and external commands are parsed.

LXConsole's use of the OSC address pattern as a way of conveying content is not exactly envisioned by the standard. But it works because of OSC's flexibility. The reason for having the ability with /cmd.lxconsole and /key.lxconsole based patterns to convey content through the address is for zero-configuration control, ie. you don't have to add an OSC action to LXConsole for it to respond to these types of messages.

There are two issues with using the address pattern in this way. First, a space is not allowed. But, that's OK, LXConsole should no longer require spaces in commands. The other potential issue is that "#" is also a special character to OSC. This is in the specification but does not appear to be a problem in practice. "#" is used as the shortcut key for the dimmer: command and is used by the TouchOSC and Lemur remotes with a /key.lxconsole/# address pattern. This is not technically legal but it works.
nizer
Posts: 157
Joined: Sun Jan 23, 2011 1:27 pm
Location: Virginia
Contact:

As Always a great response and a job well done.

Post by nizer »

I thought I was going insane trying to get this working.

Thanks for bring me back to sanity. I use that term loosely. :-)
Mark Nizer
mark@nizer.com
Post Reply