instant GLSL recompilation on source dat update?

Hi!
I’m using touch designer from time to time to prototype shader effects, usually by setting text DAT as a source of pixel shader in GLSL node. usually i edit the text in external editor like visual studio and then i need to go to DAT properties to reload the text.

so can i haz the kind of file update check in some DAT op working all the time, so wouldn’t need to reload manually?

You should only need to “Save” the text file in your external editor and then the DAT will be updated. This method works with notepad, vim, and PSPad, it should also work with Visual Studio but I do not have it to check.

it’s me again bumping up my problem…
so updating still not working for me…
i’ll try to describe my workflow so probably someone could point to something wrong in it:
-i have a someshadername.fs file with shader code created either using FAR editor or visual studio;
-i either tried to put it in touch’s current project folder into ‘shaders’ folder or somewhere else with the same result
-i create a text dat, put a link to someshadername.fs into it and give it to glsl top as a pixel shader;
-all is working, but when i edit a shader in the editor outside of touch and save it, touch doesn’t update the dat accordingly to my fixes until i hit ‘reload the file’ button. i’ve also tried using file.in dat with the same result.

any suggestions?? :unamused:

I’ll have to add it as an RFE for the future. I’m afraid we don’t have auto reload setup for DATs. if you RMB and edit contents of the DAT in an external editor, then that file will be monitored for changes as Ben mentioned, but its not quite what you want.

oh, thanks! i didn’t expect that.
quite surprised that such a powerful gpu toolset misses both this feature AND vvvv-like editor with instant recompilation %-0 vj people don’t authorize shaders too often?

i’m a noob at everything else than tops and chops in touch - so, could someone propose a way to trigger DAT’s content reloading, say, every 5 seconds?? something like script node?

ok, here’s how I suggest you do it. put down an Info CHOP, point it to /perform and monitor the winopen channel, check passive. link a CHOP Execute DAT to the info, monitor winopen, and check While Off. in your chopexec DAT, you can use the following script to reload whatever DATs you want, but reloading will only happen when you are not performing.

if (`$F % 10 ==0`) opparm text1 reload ( 1 ) endif

hope this tides you over!

thanks! i’ll try that!