updreceive NOT WORKING
Hello friends!
I decided to try to jump into the world of OSC programming and was having fun until I got to the updreceive object. It does not work. I am using Max 6.1.5 on a mid 2010 MBP.
I even downloaded a simple patch from TouchOSC that allowed me to send and receive. My iPhone receives the signal Max is sending it, but when I try to send signal from TouchOSC, Max is not receiving it. So, this tells me TouchOSC works great, while the object updreceive has dropped the ball. Unfortunately, tech support cannot help me with this problem and directed me to the forums for help. Does anyone have any thoughts or inside info they can share with me and anyone reading this post? Thanks.
Mark
I think it's odd that it tells you that udpreceive is broken, because normally such a problem would tell me, that there probably was a problem with the udp settings in touchosc and/or in the udpreceive arguments.
Link us to the patch, and post all your touchosc settings here. Oh, and your network settings too. Maybe we can figure it out, but unless udpreceive was somehow broken on your machine, then I think the problem is elsewhere.
Wetterberg! Thanks for responding and offering a set of fresh and experienced eyes to my problem. The problem could be my lack of experience, but I will try to paint as big a picture as I can here.
First, let me address something you said in your reply. Max isn't telling me that udpreceive is "broken". Its just not telling me anything other than "binding to port 8000" When I try to send signal from my iPhone 4S it doesn't do anything. I don't even know if it has bound to port 8000.
My TouchOSC settings are as follows
"Connections"
OSC: Receiving only >
Enabled
Host (left blank)
Port(outgoing) 8000
Port(incoming) 9000
Local IP address 192.168.0.102
MIDI Bridge: Not configured
CoreMIDI In(1/1) Out(1/1)
Here is my patch...
You have the wrong settings.
Port incoming and outgoing always have to be the same.
Try this
local I.P Address 127.0.0.1 (Declares its the actual host computer, always good to test it just works)
so udpsend 127.0.0.1 8000
udpreceive 8000
Andro,
Thanks for your tip. I can send messages with udpsend, but udpreceive is getting nothing. Your advice to make the ports the same did not work for me.
At this point, I can make a maxpatch that sends commands to my phone, but I can't get my phone to control my maxpatch. udpreceive is not receiving.
I found the solution on a different forum. I had to put my local IP address in. Once I did that, it worked like a charm. Thanks for everyone who spent even a second looking at my problem. Have a great rest of the week.
Mark,
I am having the same issue you had. What exactly do you mean you put your local address in? I have done that I believe and still not working. Can you tell me a little more about this please? Thanks
Hi,
I had similar issue: Sometimes, when I close the device editing dialog and return to Live, the device does not udpreceive until I close Max application itself, which is still open after closing the device editing dialog. Sometimes it happens even in Max editor - still I have to quit Max application to make the device udpreceive again.
Max v7.3.0
Live 9.6.1
I believe MarkGoebel means that inside the touchOSC app, put in the IP address the receiving computer. It worked for me after I did this.
Yes, with UDP-based messaging, there is kind of a simple rule which is: you send to somebody, you receive from anybody. It means a sender always needs to know its receiver's IP and port, but a receiver by default sniffs everything coming to its bounded port. That's why the other way worked: TouchOSC's receiver was just tuned to receiving anything sent to its incoming port (9000). But TouchOSC was not sending its messages to the IP where the udpreceive object was listening on port 8000.
While we're at that, the other big source of "udpreceive not working" issues is when two receivers are setup to listen on the same port on the same computer: it doesn't work. You can setup as many senders as you want on the same port on one computer, but you can only bind one receiver per port. Multiple udpreceive objects on the same port will actually work *within Max* because the object seems smart enough to detect that and just provide multiple doors from the same actual UDP listener but, if you already have a listener on a given port in another app on the same computer (Processing, Pd, etc.), then trying to also catch those OSC messages in Max will fail.
I hope this helps!
I know it's a year later but still wanted to reply. What Nicolas D'Alessandro said is great information and totally worked for me! If you wonder how to set this up on a mac and TouchOSC do the following:
First get the IP adres of your computer, if you're on your mac go to:
system preferences -> networkThen in TouchOSC go to: settings -> click the ip adres on the top.
Change the host adres to your computer's ip-adres.
Everything should work now, at least it did for me! :)
The comment from Nicolas d'Alessandro was REALLY helpful!To really get this basic behaviour relating to send receive and addresses clarified so much. Thanks!