Long term Touch OSC control installations?

Has anyone successfully used Touch OSC on an iPad or iPhone for controlling TD patches that have to run all day?

Some of my programs seem to lose connectivity within a two hour period… but work fine when first run.

Any advice appreciated.

I haven’t seen this issue before - what’s your networking situation? You might consider downloading hexler’s tool for debugging messaging:


That would help isolate if this is related to TD or if it’s a networking issue.

Thank you Matthew - I am a huge fan of your tutorials and courses, and really appreciate all the free resources you have provided beginners like me. I have a stable Wightman fiber-to-home 5G connection for our multiple Macs, iphones, Ipads, Apple TV etc and MSI VR PC laptop, and rarely if ever get dropouts from our wireless router as far as I can tell. I was trying to decide how to figure out if the problem was with touch OSC on IPAD2 or with my latest TD experimental build on laptop. The program I am testing seems to keep going fine even though the connection breaks over two multi hours tests I did yesterday. I will check out this hexler tool tomorrow. What I would really like to do is hard wire Ethernet my ipad controller to laptop, but from what I have seen on the web need IOS 10 or better, which our old laptops donated to the art centre don’t have. I could buy a better ipad but before I do that wanted to know if anyone has all day sessions working ok from an ipad wirelessly without failure. I need a reliable setup for the art gallery display, and could go hard-wired midi controller if I have to but quite like the ipad control/display customization possibilities.

Thanks for the kind words @gordharris!

That’s so interesting to hear that the connection breaks.

Do you have assigned IP addresses for your devices? My approach here is to bind a MAC address to a specific IP address that’s issued from the router. That helps ensure that you have consistently stable addresses from your devices - that’s the first thing that comes to mind here about what might be causing your problem. When your connection drops out, do you have to update an address on either device?

In the past I’ve also used NodeRed as a toolkit for making web based interfaces that send data to Touch. This approach is similar to working with TouchOSC - in that any device on your network can access the web page and send commands. You’ll likely end up in the same situation where you need to issue a static IP from your router to the computer that’s serving that web page.

I’m also a little gun shy about using the experimental build for anything that I consider installation ready - so I’d also consider testing your project in the stable build to see if you still have the same issues. There’s some handy walk through on the installing TouchDesigner reference page about how to install multiple versions / builds if you haven’t done that before.

Fingers crossed that it’s an easy detail you can get sorted out :slight_smile:

Thanks again Matthew. When you say “assigned IP addresses” I am not exactly sure about that - do you mean as locked and manually set myself? I have just been letting the router do that. But at my home certainly neither the laptop nor ipad address or touch OSC ip address changed during my tests so far. I don’t know much about MAC address binding but will look that up and try it. When my connection fails, I usually find a PC reboot and starting all over again helps.

I am more of a mac guy but is it safe to turn off all Windows firewalls in a public pc installation with facility wireless routers? The touch OSC wiki entry here says to try that - not sure yet exactly how my windows 10 is configured but will test that too.

I will look into reinstalling the stable build - I only have the latest experimental build running 37030 running right now.

I am just a beginner so perhaps my program itself is wonky. I am taking the beginner course at Derivative next weekend Intro to Touch Designer so that should raise my knowledge a bit. Here is one program that has dropped the connection on port 10000 but seems to work right on startup.

Thanks again for your expert help.

FallingLeaves.20.toe (508.6 KB)

PS yes Matthew that hexler Protokol tool seems great and should be useful here. I decided to turn off accelerometer data from iPad which produces a lot of data, and will see if that helps. I am coding now but will test run overnight…

thanks again for the link!

Can I ask one more dumb question - I apologize for not reading all the hexler docs yet but it is possible to just hook an ipad directly to USB on PC with regular charge cable used for Ipad to talk to iTunes etc and use TOUCH OSC or must I get the wired ethernet setup to make them talk hard-wired? I would prefer hard wired if possible but my older ipads OS does not support ethernet as far as I can see so far… I guess maybe I can try this with ProtoKol and network off to see if anything happens…

Hey @gordharris few quick responses here:

Most routers have an advanced section where you can specify that a particular mac address is bound to a specific ip address. This keeps all of that business still handled by your router, but will make sure that you always have the same IP address when working on these types of installations.

Do other folks use this network publicly, or is it just for the facility? I’d be cautious if this is accessible to more than just the staff of the facility. You might consider starting here to see if that solves the problem, then work backwards to mitigate any possible security concerns.

Everything here looks okay, and I’d guess this is a networking issue - or something in the experimental build.

Sadly don’t think there’s an option to handle this exchange over the usb connection.

Blockquote Most routers have an advanced section where you can specify that a particular mac address is bound to a specific ip address. This keeps all of that business still handled by your router, but will make sure that you always have the same IP address when working on these types of installations.

Ok thank you Matthew I will look into that.

It is definitely open to anyone who walks in. I am leaning more and more to the hard wired ethernet approach with no internet connectivity. Just means i have to buy a more recent iPad and all the dongles to connect I guess.

Thank you for checking my code. I ran the overnight test with Protokol last night and set touchOSC to ping it every 60 seconds. It did drop out after 226 minutes. Also yesterday while I was coding it dropped out several times during the day with my actual program too. So it is nice to know with ProtoKol that it is narrowed down to either network or iPad end of things and not my PC or TD program. Thanks again for telling me about Protokol - very useful utility!

Too bad. I tested it and windows 10 can see some files and use itunes but could not find any connectivity with touchOSC. Pity since it seems to be able to read and write data to iPad. Again - it pretty much forces me to go the ethernet hard wired dedicated network route to keep ac power to the ipad over weeks too.

But just for interest I will run Protokol tonight again with a newer iPad and different version of touchOSC to see if that drops out too on my home network.

And I guess today I will stop coding for a bit and try to get another older version of TD installed too, as you suggest, as long as I can do that without paying another license right now.

You can definitely use TouchOSC over USB - it’s been a feature for a while now.


1 Like

Thanks for the link @jesgilbert - glad to see that OSC Bridge does this. Very helpful.

Thanks so much @jesgilbert - that will help a lot. I shall try it out today. Much appreciated!

Also as an update for Matthew I ran the ProtoKol utility last night using a newer iPad Pro model MQDX2CL/A with IOS 13.3.1 on ac power with port 8000 being pinged every 60 seconds and TouchOSC V1.9.10 and was still running in the morning, pinging away. So the reliability was much better than my older iPads. As a consequence I have just ordered a new iPad and will test its reliability with the same method when I get it.


Also Matthew I installed the 2019.2140 release of TD as you suggested, but now have to refactor my code to run on that. Stuff broke in my program of course, going backwards. Is it acceptable to just try and fix the broken bits from Experimental build 37030 program or must I rebuild everything from scratch?

I’d start by just addressing what broke rather than trying to re-create everything.

Thank you. I shall do that. Much appreciated.