OSC Query Server Component - 2020-03-24 20:05

OSC Query Server Component

Link to main site

Nice work! Super useful tool and a great solution for easy sequencing of parameters externally as part of larger multimedia system.

Any plans to go the other way? To create components with custom parameters matching incoming JSON?

I guess you could also use this approach to automate building a UI on a second TouchDesigner machine over the network by parsing the JSON and creating matching widgets and sending their values back out over OSC.

Very promising! Thanks for sharing.

Ever since vidvox/vdmx released this, i’ve been wondering when someone would implement this in TD. I hope Derivative takes note of this and makes an official implementation because this brings OSC and parameter control and storage to the next level.

Thanks for sharing this, looking forward to checking it out.

1 Like

No plans to go that way. I’m more happy to use specialised software for controlling TD machines.

It should be quite straight forward to build something like this. Basically this component can act as one side. The other side needs to be implemented.

One thing to note is that with the translation of TD parameters to OSCQuery you loose some information that you might want when recreating the parameters on the other side. For example a XY and a UV parameter are both translated to 2D float OSC parameter. Maybe you could highjack the extended_types attribute of the OSCQuery spec.

@mynameiscorey What you might find useful is that this component now comes with a web app to control the custom parameters.

@manuel_mitasch thanks for the update. I’ll have a play with it.

Hi Manuel!
Thank you SO MUCH for this handy COMP :slight_smile:
I have just one question: Do I have to change something inside the COMP to have access through another device, e.g. my Smartphone?

I am trying to access the web-UI with Phone by typing [my computers IPv4]:9000/ui into my webbrowser, but unfortunately it doesn’t work…

I also checked my Firewall-Settings and it should be accessible.

Is there some kind of workaround?

There is no setting inside the COMP that you need to change.
If you can access it from your TD machine and firewall settings do not prevent it, this should really just work.
Are you sure that the smartphone is on the same network?
Can you check connectivity with a different app. Maybe create a OSC in CHOP and use TouchOSC to send from the smartphone.

1 Like

That was the issue…Thanks :slight_smile:

But now I’m wondering if it would be possible to access it from another network, to remotely control the parameters with another machine over internet XD

As all the protocols (UDP/OSC, HTTP) involved are standard network protocols this is a matter of configuring your network/router correctly. The component does not need to be changed.

1 Like

Hi everyone !

Thanks Manuel for this tox !!
I actually have a problem using it. It works properly when I drop the tox in my patch. But then I get this error all the time (So I have to reimport it again and again to make it work).

Any idea where it come from ?

Hi @Gamgie_R
Thanks for the feedback. I could not reproduce this problem.
From the error message it looks like this is related to the Extension. It seems like it can’t find the operator OscqueryEXT inside of the component and then fails because it tries to access the module from that operator.
You could try to press “Re-Init Extensions” in the the Extension Page.

Which TD version are you using?
Could you post a toe where this error is happening, so I can check that file?


i have noticed some issues using this great comp : it seems to make TD crash after 10 minutes or so under Windows. Maybe this is due to some custom parameters i use or something dealing with the OS. I will try to send a example toe file so you can test on your side.


OSC_Query_Test.toe (4.2 KB)

I’m using TD 2020.42700 version.

I tried to re-init the extension but nothing change.

Maybe I miss something on how to use this plugin. If I put the osc_query tox file and the 2 py files (you have in your example) just next to my toe project. The plugin load correctly.

If I drop the osc_query tox from the palette. I get an error (cf the git issue page where i send warning about that) when I save.

Well at the end, it works for me. Maybe change the readme to say to add those 2 files to your project.
Or maybe, I’m still doing something wrong :smiley:

hey @Gamgie_R,

I checked your file and found the cause of the problem. The parameter “Reload .tox on Start” was set to On, which would lead to the component being empty after a file reload (because it would not find the tox at the path). The easy fix is to reimport the tox and disable the parameter.

I have also pushed an update to the github repository. So if you import the current tox from there it will just work.

I hope that solves it for you. If you continue to have trouble let me know.

Hi @Gallo,
if you can upload a file so I can try to repoduce the issue, that would help. How did you determine the component to case the crash?
Are you having an expression or binding active on one of the parameters? If you have, try to disable the Bi-directional communication on the component. It’s a relatively new feature and I’m not sure if I have tested how it behaves with expressions or bindings.

hi @manuel_mitasch

I need to get the opportunity to grab the project back on my computer, for now it settles on the artist computer. I’ll see if i can ask him a copy.

I figured out the component was the issue because this is only when i use it that TD crashes. Once i delete the component, everything is fine.

One of the custom parameter had an expression active : a slider was receiving the timeline frame number of another instance of TD on another computer via OSC.

By the way, i also have this error showing (see image attached) when saving the toe file when using OSCQuery component inside my network

thanks a lot

I think it solve the problem thanks !

I have also the same error as @Gallo when I save the project.

Hi @Gallo and @Gamgie_R

I fixed the save error and pushed a new version to the github repository.

The component stores data in the python storage. Some of that data includes TD parameters. Some of the data was not cleared when the linked components were changed, thus it could not serialize the data and result in the pickle error on save.That should now be fixed in a robust way.
Thanks for reporting this!

1 Like