Only Output Option from touchdesigner is run the project with touchplayer?

Is there a way in TouchDesigner to export a standalone output without sharing the entire project file with the client? Or is the only option to run it through TouchPlayer ?

If TouchPlayer is the only way, what are the security options to ensure the client cannot access the network of nodes or the editor itself ?

TouchPlayer will run files created with TouchDesigner in Perform Mode only. TouchPlayer does not have a designer interface to author files, it is meant only for playback of TouchDesigner projects.

Thanks a lot for your reply
You’re right, but on Windows the customer needs to install TouchDesigner in order to have TouchPlayer. That way, they can also open the project in TouchDesigner and access the editor.

I am almost certain there is no requirement for TD to be installed for TP to work.
Yes, the client could technically install TD themselves, but if they don’t know that, then why would they?

AFAIK, the only way to completely prevent access to the network editor is with a Pro license ($2k+)

1 Like
1 Like

Currently only the pro license has private components that can be accessed via password.

With every other license your network, and therefore all your ideas, IP, custom components are exposed, and can be copied, reused, modified etc…

1 Like

I just had a little go a creating a sort of ā€œprivateā€ component for non pro licenses.

attached here a prototype

IP Protection.10.toe (4.9 KB)

get in the container my_project_IP and try to change anything.
It’s not bullet proof but it works and it’s a deterrent enough imo.

It can be ā€œunlockedā€ if the project owner needs to edit the network, and then ā€œlockedā€ again afterwards.

It could be implemented in several directions, for example the entire project could stop working after a certain date.

Please test the prototype and let me know!

2 Likes

Interesting…any changes and it just breaks
I even tried to copy/paste it into a separate TD instance

Found the buried script and I see how it works, but I doubt someone without TD knowledge would know to look there - good job!

great work @longwave !
I’ll give you a call for sure next time I lock myself out of the house :grinning_face:

That was a quick prototype though. The script/s could be hidden a bit better, given a more generic name (=harder to identify), and there could be multiple identical scripts ā€œmonitoringā€ different levels.

In a complex network it would be a headache to unravel all that.

Out of curiosity, did you also find out how to unlock and re-lock the network?

shift+1+2 worked for me - it was obvious once I saw the CHOPs
…but I agree, drop 4 or 5 of those deep inside a complex network and it would quickly become a lot harder to solve

1 Like

You can also share the .toe file, to be opened by the client with Touchdesigner. BUT, on project start, it automatically starts perfomance.

Execute DAT

def onStart():
op(ā€˜perform’).par.performance.pulse()
return

And you prevent getting out of performance mode by listening to keyboardin (esc F9 F10) and block the normal behavior in python

Interesting approach @Degrel !

I have a question:
How do you block the normal behaviour of esc F9 and F10 using Python?