Page 1 of 2
Why is Lemur failing where TouchOSC is working????
Posted: 26 May 2014 19:39
by Prokat99
Hi,
I purchased Lemur thinking it was going to be essentially TouchOSC on steroids. Yet, I cannot get Lemur to send OSC messages to my Behringer X32 while I can easily get TouchOSC to do just that.
The task: Create a Fader object in Lemur/TouchOSC that will control Channel 1's fader on the X32
The Procedure: Touch OSC = open editor on mac, create fader, under OSC tab, for X variable enter /ch/01/mix/fader
Lemur = open editor on mac, create fader, under OSC tab, for X variable enter /ch/01/mix/fader
Now on the iPad: TouchOSC = set IP address, set outgoing port to 10023 (X32 port) Voila!! Fader on X32 corresponds to my adjustments to fader in TouchOSC
Lemur = under setting, OSC Target , OSC 0 IP address, then outgoing port. NOTHING!!!!
What am I missing here? How is it possible for TouchOSC to complete this task so easily yet Lemur fail. I have been trying to get this work on lemur for two weeks by reading, bothering people on several forums and wasting way too much time. It took me less than 1 minute to accomplish the same task in Touch OSC.
Any ideas why Lemur is not working?
Re: Why is Lemur failing where TouchOSC is working????
Posted: 26 May 2014 23:41
by Macciza
Hi
See other post - it should be possible to get both to send the same messages
Make sure you have the target selected in the OSC mapping
Make sure OSC target in setup points to your x32 ip/port
As I said in other post I have both working sending same data
but no x32 to test it against, but Max shows identical results
MM
Re: Why is Lemur failing where TouchOSC is working????
Posted: 27 May 2014 04:51
by Prokat99
Hey Macciza,
I found something weird. I downloaded a newer app called "OSC Monitor" that does just that on my iPod on the same network. When I have both apps (TO and Lemur) open on my iPad running a fader with the same OSC message, pointed to the iPod's IP address (192.168.0.10 on port 10023, the Lemur and TO are in fact sending the exact same message. On the Monitor it actually only shows one OSC message being manipulated by both TO and Lemur.
With that said, I change the IP address in TO to 192.168.100.98 (the X32's IP) and it works.
I change the IP address in Lemur 10 192.168.100.98 and nothing.
Very weird.
Make sure you have the target selected in the OSC mapping
Make sure OSC target in setup points to your x32 ip/port
As for the above, the only place I know to insert the X32 port and IP address is in the "more settings" section on the iPad. When you say "make sure you have the target selected" do you mean the drop down were I select "OSC 0"?
Re: Why is Lemur failing where TouchOSC is working????
Posted: 27 May 2014 05:17
by Joe Soap
Prokat99 wrote:
Make sure you have the target selected in the OSC mapping
Make sure OSC target in setup points to your x32 ip/port
As for the above, the only place I know to insert the X32 port and IP address is in the "more settings" section on the iPad. When you say "make sure you have the target selected" do you mean the drop down were I select "OSC 0"?
Yes - you need to select the OSC target in the dropdown menu in the Mapping to match the OSC target you set up in the "more settings" global field.
I recommend you spend some time to thoroughly digest section 7.3 of the manual (I just did so myself) - to be fair, Lemur's pretty damn flexible WRT mapping OSC (and MIDI). I have many complaints about Lemur generally, for instance I agree that gleaning straightforward instruction for newbies is a feckin' nightmare, but it does provide solutions where other apps fall short in many regards.
Just adding this for anyone else who may find themselves in the same boat in future:
Think of setting the global "More Settings" target fields as analogous to plugging in hardware MIDI cables, and setting targets on the object variables as analogous to selecting channels on your MIDI device. It's not quite there as an analogy, but may suffice to get the basic idea across.
Re: Why is Lemur failing where TouchOSC is working????
Posted: 27 May 2014 07:18
by Macciza
Close with the analogy . .
The global settings are indeed the cables, mapping the targets is selecting which cable to send out, and the address is the command . .
Lemur is multipart device for both MIDI and OSC - 8 of each, 8 separate MIDI I/O's, and 8 separate OSC Outputs but only 1 Input - iPad IP Port 8000
The OSC TARGETS set in Lemurs Settings page allow you to connect to both different ports on a host and different hosts . . .
Most apps provide a single OSC connection either to a single selectable port or to a predetermined port, and sometimes a daemon on that port . .
This sets up a direct connection to the host on that port; but then something needs to explicitly listen on that port, and only one process can do so on the host
With that done you can send Messages consisting of an AddressPattern i.e. /container/address and an Argument i.e. the data - 0.75 1 Apple whatever
A complete message would then be /container/address apple - which on the Host or Server would invoke a method /container/address with apple as the argument.
In general if there is nothing setup to deal with a particular message, or if nothing is listening on that port, obviously nothing happens . ..
So what does it all mean . .
A basic setup might have OSC 0 set to your computers IP and Port needed for current app, and either change settings in app or lemur when changing apps as needed . . .
You can however set up multiple ports for various reasons - particular apps or particular destinations, particular phases etc
My setup is often something like this - though this will also often change for various reasons... particular apps or particular destinations, particular project etc
OSC 0 - Usually set to my computer Hostname maccizas-imac.local Port 8000 but regularly set to anywhere when experimenting or looking at other projects using this standard setup.
OSC 1 - 192.168.0.100 Port 8001
OSC 2 - 192.168.0.100 Port 9000
OSC 3 - Hostname Port 57120 for SuperCollider
OSC 4 - Hostname Port 10000 for Reaktor
OSC 5 - 192.168.0.102 - iPhone IP Port 8000 to talk to Lemur
OSC 6- 192.168.0.106 Port 8000 Legacy Lemur
OSC 7 - localhost Port 9000 Talk to other Apps on iPad
You might like to keep 0 and 1 available for various experimenting and set OSC 2 to point to your X32 - setup your projects to use OSC 2 and then you won't be resetting things when you use other stuff using 0
You can always set 0 as exactly the same and then it doesn't matter either way . . .
OSC In is by a single port hard coded to 8000 on the iPad - send stuff here to talk to Lemur - but remember only one app can listen/bind to a particular port at any time . .
If you have Lemur running no other app can listen on Port 8000 - If another app is listening to port 8000 first then Lemur won't be able to ...
Hope that helps
Re: Why is Lemur failing where TouchOSC is working????
Posted: 27 May 2014 20:16
by Joe Soap
Yup, close . . . but strained. i realised after I hit the submit that beyond the 'cables' bit - twas slightly ropey but hey, at that point sleep was most definitely needed.
Re: Why is Lemur failing where TouchOSC is working????
Posted: 29 May 2014 03:28
by Prokat99
Hey guys,
I'm still stuck as I can't see a difference at all between the messages sent out by TO and Lemur, yet only TO is controlling the X32.
So, at this point I have plugged the following message into both TouchOSC and Lemur on a simple Fader:
/ch/01/mix/fader
My ipad is on the same network as the X32
In TO, I simply type the X32's IP in the OSC target field. That's it, it works!
In Lemur, I've done the following:
I first created the fader and assigned the "x target" to the OSC 0 channel in OSC Mapping. I also tried alternating between "none" and OSC 0 for the "object target." Then set the X32's IP in the OSC 0 target field. Result: nothing
Now I use several different OSC monitors on several different devices to monitor both apps going to the X32. Guess what? They send the exact same message. If I route them to OSCulator (remapping app) on my laptop, it creates only one slot (/ch/01/mix/fader) and both apps control that one assignment. Both apps seem to be sending data perfectly fine to my computer/software. For whatever reason, the X32 is not getting Lemur's messages.
I have used several different IOS devices, several different osc messages and even swapped wifi routers just in case.
Still, no dice.
I'm simply baffled….
What could I be missing? How could the very same message be sent from both apps, match on OSC Monitors, and be assignable to the same slot in OSCulator, but somehow be differentiated by the X32?
Re: Why is Lemur failing where TouchOSC is working????
Posted: 29 May 2014 04:46
by Macciza
Hmm
yes it is a bit weird . .
But there are a few other things in tit all as well, like 'OSC Bundles' which are groups of OSC messages, not sure of relevant status or possible difference between apps . ..
**Quick check - TO does not use bundles, Maybe X32 is not reading bundles ...
There are also some identifiers on the actual transport layer that might come into it - will have a bit of look and a think ...
** TO uses MDNS subsystems to advertise its existence amongst other things, not sure if this should matter...
Will need to refer it to support at either Liine or particularly Behringer for answers I think...
Cheers
MM
Re: Why is Lemur failing where TouchOSC is working????
Posted: 29 May 2014 16:32
by Prokat99
So I have been using "wireshark" as an OSC monitor for the past night and it is vastly more informative then all the other OSC monitors I have been using.
Something I noticed was that TouchOSC sends 28 byte messages to the X32, while Lemur is sending 40 byte messages (coded in green).
I though I remember someone saying the messages had to be 28 byte for X32 to respond. Is it possible somehow to code Lemur's messages to 28 byte?
I'll have to find out about "OSC Packets" and the X32. In any event, is it possible for Lemur to not send OSC packets and just messages?
[img]/Users/FreeBot/Desktop/TOvsLemur2.jpg[/img]
Re: Why is Lemur failing where TouchOSC is working????
Posted: 29 May 2014 16:52
by Prokat99
Ahhhh, I believe you were correct Macciza when you earlier stated that the X32 may not except bundles. I am going to start a new thread that asks "how to send OSC messages only and not OSC bundles." I'm 99% sure this is the answer.