Page 1 of 1

Further OSC issues

Posted: Tue Oct 08, 2013 3:03 pm
by freadZdead
Hi there,

Recently, I have run into trouble with trying to establish a bi-directional OSC connection. While I am using TouchOSC, I am trying to do it via OSCulator as a go-between - this way, I can translate/change some of the messages sent.

Basically, I am trying to get LXConsole to solely communicate with OSCulator (on the same machine), and also TouchOSC to solely communicate with OSCulator. While I have no issues to get both ways of communication to work between OSCulator and TouchOSC, I have not much luck with LXConsole; It seems I can't get both directions to work successfully. This is using a dedicated router that is not connected to the internet, and that has worked in the past without issues (i.e., none of the ports should be filtered etc).

I encounter either messages like:

OSC out connected to 0.0.0.0 port 0

or

OSC socket bind failed,

or, when I use default settings instead of entering the appropriate IP and port manually, it seems to recognise/resolve _itself_ , i.e. LXConsole's own address and port, instead of OSCulators.

Before we delve into more serious trouble-shooting - would it be possible to i.e. add Bonjour services that broadcast somewhere "OSCulator" in their name to the list of selectable services?

Or alternatively, how would you think I should try to set up OSC and OSC Out in LXConsole, when currently, the system is configured thus:

Local IP: 10.1.1.101 (macbook pro retina)
Ipad (though this should not matter for the setup between LXConsole and OSCulator): 10.1.1.102

Programs that use OSC with Ports:

OSCulator in 9008. Sends to both iPad and LXConsole on their respective ip and port.
TouchOSC in 9009, out 9008 (thus communicating directly and successfully with OSCulator)
LXConsole in 9007, out 9008 (thus intended to communicate directly with OSCulator)

What is the best/safest/bulletproof way to set this up? Where could/should/must I use:

"*" - as default/placeholder?
"127.0.0.1" - seeing both OSCulator and LXConsole run on the same machine, it seems logical, and yet, do I remember correctly that there were issues with that address...
"localhost"?
"10.1.1.1001"?
And with or without ports?

Posted: Thu Oct 10, 2013 6:32 pm
by admin
In LXConsole's OSC Out preferences, it is possible to type the Bonjour name of a service that is not included in the list. Or, to type an ip address:port to target a specific connection.

To connect LXConsole's OSC Out to OSCulator, type OSCulator into the combo box in the Preferences->OSC Out tab. Make sure that OSCulator is open. Then, choose File->External->OSC Out. You should see that the connection is resolved to the correct address and port if you look in the messages window.

The latest build adds "OSCulator" to the list of services to search for in the OSC Out preferences so its one step easier.

With LXConsole's OSC In enabled, you should see a connection "LX_OSC" advertised by Bonjour and appearing in OSCulator's list of targets.

Posted: Fri Oct 11, 2013 4:58 pm
by freadZdead
Thanks - that worked like a charm, initial tests let me connect bi-directionally to OSCulator now!

However, now I am facing a different issue: In Preferences > OSC (in), I can't set the address anymore, only the port number... before, I had at least a choice of a couple of addresses, not it is pre-selected as "default", and inactive-i.e. I can not choose or type different...

could this be an editable field? It seems that sometimes it is remembering a 127.0.0.1 address, where the external address might be better, and vice versa. What decides what is offered, if anything?

Posted: Fri Oct 11, 2013 6:19 pm
by admin
The popup list of connections in the OSC In preferences is generated from a list of available connections. If you know there is an active connection that does not appear in the list, click the refresh button to scan for it.

If the previously set connection is not available, the popup will show "default". If you were to attempt to use OSC In with a connection that is not available, you will see a bind error message in the messages window.

Posted: Fri Oct 11, 2013 6:19 pm
by admin
The popup list of connections in the OSC In preferences is generated from a list of available connections. If you know there is an active connection that does not appear in the list, click the refresh button to scan for it.

If the previously set connection is not available, the popup will show "default". If you were to attempt to use OSC In with a connection that is not available, you will see a bind error message in the messages window.

It can take some time for the scan of addresses to process. During that time, the popup will be inactive. You may need to wait for the scanning process to complete before you can select the incoming address.

Posted: Sat Oct 12, 2013 12:31 am
by freadZdead
And am I looking for the remote address, i.e. the sender? or my own ip address, either in its localhost form, or in its external form?

Posted: Sat Oct 12, 2013 3:06 pm
by admin
You are looking for the address that you want to use to receive on. If you are just interested in receiving from OSCulator on the same computer, you can probably use any of them, provided the port you set is not in use by something else.

In the past I have had a problem using the local 127.0.0.1 when there was another connection such as WiFi open. In order to connect to another application on the same Mac, I had to use the WiFi address. But, in trying that just now, 127.0.0.1 worked fine.

Posted: Sat Oct 12, 2013 5:32 pm
by freadZdead
Awesome, this worked a treat - I just did not have the patience to wait for the selection box to become available :)... did not now that something was going on in the background. Thanks for the explanation, all is going fine, and I am all but ready to share a nice little package with TouchOSC / OSCulator/ Script items to allow some neat patching...

One thing I noticed that I was not able to get working from neither your own built-in template, nor my own was controlling the grand master fader. It works LXConsole>TouchOSC, but when I try the other way around, it works until I let go of my finger (which is when it snaps to zero).

I have used the same syntax that is in your own template, and tried both without success, while the explicit channel faders that are patched as individual OSC actions in LXConsole do not suffer that issue.