FunctionStore_tools
by Daniel Molnar (Function Store).
**Watch the InSession stream with the TouchDesigner team covering the tools in depth!**
This is a collection of TouchDesigner hacks and tools that can help you improve workflow as well as manipulate the default behavior of TD.
For example, with these tools you will be able to place operators with your preferred default parameters, operator chains, or even full render networks with one click; as well as swap operators, and more.
The design principle of these tools is to be seamlessly integrated with the user experience of TD, meaning the learning curve and adaptability of these tools should be easy for any level of TD users.
One main improvement area can be found at the bookmark toolbar. Upon installing additional icons will appear in the UI, giving you easy access to some of the main functions. However there are tools that work in the background and are accessible with simple shortcuts.
Everything is documented here, so be sure to refer to the Wiki and in general to my TD Tips & Tricks & Hacks (TBA) blog post.
Please help by reporting any issues here on GitHub or use the Troubleshoot channel on my Discord.
A lot of the tools are made by Function Store, with notable contributions from AlphaMoonbase.berlin, Yea Chen and Greg Hermanovic, please support them <3
While these tools are here for all the community to enjoy, Patreon follows are appreciated!
Installation
- Ensure that you have minimum TouchDesigner.2023.11600 version installed (no guaranteess with older versions)
- Download the latest release
FunctionStore_tools_2023.tox
from the releases sidebar - Open a new project file
- Drag and drop the downloaded
.tox
to the root (/
) level of your network, or drag and drop the.tox
to an existing project file's root level - (Strongly Suggested) Save the project file and set it as default startup file in
Preferences->General->Startup File Mode/Custom Startup File
so that it is used in every project from then on! - (Alternative Strong Suggestion) There is a
FNS_TDDefault_2023.toe
file which already has the toolkit inside, feel free to use that as a Custom Startup File! - Bonus:
Alt-RightClick
(orAlt-MiddleClick
) on any of the newly added toolbar icons to open the relevant wiki in a browser! (Option-Right/MiddleClick
for Mac users)
Note: There might be errors shown initially but upon right clicking on the component and clicking
Clear (Children) Script Errors
they should be gone, or they can be ignored.
Mac Compatibility
While 99% of the features work identically for Mac, users should pay attention to the following:
- Olib Browser does not work on Mac
- It is very hard to stay consisten with hotkeys on Mac ,so When referring to hotkeys in the Wiki
Alt
refers toCmd
- With a lot of exceptions, but those will be clearly documented. Let me know if something is missing!
Self-Update Feature
If the toolkit (v2.4.0+) is installed in your project and there is an update, the ?
icon in the toolbar will have a yellow border. Clicking the icon will prompt you for an update, you can say No
in which case it will take you to the Wiki as usual, otherwise the following is going to happen:
- Save all configs (custom parameters of tools) to a
json
file - Download the new version of the toolkit
.tox
into the user palette, and replace the existing one with it - Load all the saved configs from the previously saved
json
file
This way we can ensure that your settings are retained between updates, alongside the externally retained data, outlined in the next chapter.
Syncing/Externalizing
There are a couple of components whose states/contents you'll probably want to synchronize between your projects, such as OpTemplates, ExprHotStrings, or Global ResetPLS exceptions. These are saved into a folder inside your User Palette, and can be toggled On or Off.
The state of some other components such as MIDI/OSC Maps get saved into your project folder for easy migration and future-proofing for updates.
These can be turned on or off in the Custom Parameters of the toolkit, which you can also access by right-clicking the ( button in the toolbar.
The general settings of the tools (the Custom Parameters) can also be saved and synced between projects with the Save/Load All Configs To/From JSON
buttons. You need to explicitly hit save whenever you make some significant change you'll want to synchronize to other projects, however there is a toggle for Auto-Load
ing the configs after startup. This json
file is also used for the Self-Update Feature in which case the settings are saved and re-loaded automatically.
Custom Parameters
At the base level of FunctionStore_tools.tox
you can find some custom parameters that allow you to customize its main functionalities on a broad scale.
Should you want further customization, it is possible at the component level of each tool, feel free to dive in and customize each!
You can easily access these main settings by right-clicking the button in the toolbar.
Active tab
In this tab you can choose to disable some of the components, that you might find annoying or unwanted. I only added the ones I personally might want turned off occasionally. I also crammed in ParPromoter Ref/Bind
which is explained here: CustomPar Tools
Syncing
Turn On or Off Syncing/Externalizing for individual modules (On by default). See Syncing/Externalizing for more info.
See TD2023 Migration guide for OpTemplates.
Repo Structure
The monolithic FunctionStore_tools_2023.tox
can be found in modules/release. This is what you should be using in your project files.
Individual .tox
files can be found in the modules/suspects/FunctionStore_tools folder. Please note that some modules expect the presence of others in order to work, but many of these should work individually also.
There is a FNS_TDDefault_2023.toe
project file for you to quickly test the tools, or use as a default startup project file!
Read the Wiki
Alt-RightClick
(or Alt-MiddleClick
) on any of the newly added toolbar icons to open the relevant wiki in a browser! (Option-Right/MiddleClick
for Mac users)
Acknowledgements
Huge thanks to the contributors:
AlphaMoonbase.berlin with
Olib Browser
,op_store
,midiMapper
,oscMapper
and lots of best practices I've learned from his components.Yea Chen for the ever useful TD_SearchPalette.
Greg Hermanovic for the IO filters for the OP Create dialog, and TouchDesigner.
Dotsimulate for OP Create Dialog OpType Acronyms mod
Acrylicode and kim0slice for the early feedback and testing.
License
Copyright 2024 Daniel Molnar / Function Store
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Discussion (0)