how to share components?

I have several files in need of using the same components “library”, which is a component which contains other components used by clones throughout those files as “masters”.

Obviously, I need the “masters” to be the same between files, so I saved my “library” componet as a tox need a way to update it in files that are already using it. The problem is that if I - upon loading - delete my “library” component, then re-read it in (to make sure that it is always the one stored on disk as tox) with loadcomponent, Touch crashes - because for a moment all clones have no master (and it takes a long time and a long printout of errors).

Obviously components are made to be shared, AND updated (therefore re-read it - hopefully by a script - in the files that use them).

Can I get Derivative’s take on how components should be used and mantained to provide the same functionality in every touch file using them?

I can’ t think of a way right now and I’m starting to think we need some sort of “syncing”, a’la Houdini.

I’d love to see that crash so I can fix it.

The ability to have a component source it’s contents from an outside .tox file is high on my list of new features to add (top 5). We’ve already started down this path with the Load on Demand feature that is in all COMPs now. The next step will be to add a path parameter where you can point to a .tox file that you want this COMP to load up when it starts up.

yay!!!

Just a quick idea/thought. How about being also able to point to a .tox file on a (web)server, or even better, to a specific revision inside a subversion repository?
Possibly even via some kind of (python) wrapper application, which can either return the contents of a .tox on disc, in any kind of repository, on the web, …
hmm, but that would also require being able to lock and commit files directly from inside touch, as no “real” checkout would be done.
Maybe it would be enough if a script would be triggered prior to loading a tox from disc, so that the file on disc could be automatically updated before it’s loaded.

Just thinking out loud (being able to point to the .tox on disc will already be totally great)

Is this already working? WIKI says next build, but the parameter is already in COMPs.
Either way, can you elaborate what it exactly will do and what not, i.e. will it load heavy networks without pausing playback, can it also unload networks if they aren’t needed anymore, …

Ya, I could see us adding a ‘before load on demand’ event in the OpExecute DAT.

Its working in the current released build. The main benefit of it right now is to reduce initial file load time, and possibly memory usage if you have a rarely used COMP. It doesn’t unload unused COMPs, I doubt it’s possible for us to do that automatically. Possibly we can add a opunload command that you can use to unload COMPs.
It will still pause playback when loading the COMP though.

Definitely, someday.

Ya, the opunload would cache the contents though so they can be reloaded automatically, so it’s slightly different than oprm.