ProRes support, Leap Motion Gemini v5 support on macOS, Audio and Video Devices DATs, Substance TOP upgrade, massive list of improvements and bug fixes.
Release Notes
Experimental builds include new features still in development and testing, features are subject to change or even be removed. For the stability and reliability required for performances and project deliveries, use the production ready Official Builds.
Known Issues and Backward Compatibility warnings below should be read carefully.
Known Issues
Please report all issues to the Bugs Forum, remember to include build number.
- Errors on Palette Component GeoPanel.
- macOS Open File dialog results are randomly ignored.
- Random bugs
Backward Compatibility for 2023 builds
Change for keys on Windows systems
- TouchDesigner's License System Codes are now generated differently to reduce the chance of a system code change when applying Windows Updates. Old keys will work in this 2023.10k branch, however, new keys created in this 2023.10k branch will not work with older versions of TouchDesigner.
- We have released an update to 2022.20k branch so any builds released after July 10 2023 will also work with the new keys created in this 2023 version. In summary - If you want to use 2022 and 2023 versions with the same key, either a) create your key using 2022 builds, or b) use a 2022 build released after July 10 2023 (yet to be released).
File Compatibility
Project .toe files saved in Experimental can not be loaded back in Official.
Backward Compatibility Changes
- BACKWARD COMPATIBILITY ISSUE - Optical Flow TOP - 'Cost Output' values are now normalized to 0-1, instead of 0-255.
- BACKWARD COMPATIBILITY ISSUE - TDJSON - Including 'eval' in extraAttrs argument list will now create a new "eval" entry in the JSON instead of replacing the value in "val".
Build 2023.11170 - Oct 24, 2023
New Features
- Movie File In TOP / Movie File Out TOP - Added support for ProRes decoding and encoding.
- Movie File Out TOP - Added a new 'Limit Length' parameter to automatically stop recording when the output reaches a set length.
- Render TOP - The 'Image Output' feature has been reworked. Multiple can now be created, with custom names, array sizes and formats. This is found on the new 'Image' page.
- FreeD In CHOP - Added 'Camera ID' parameter to allow filtering of camera packets and receiving date from multiple cameras.
- Leap Motion TOP / Leap Motion CHOP - Gemini v5 tracking is now supported on macOS Apple Silicon. Go to the Leap Motion CHOP help page to locate the downloads required and instructions for installation.
- Transform CHOP - Added 'Xform Matrix/CHOP/DAT' parameter to apply a matrix transform directly.
- Audio Devices DAT / Video Devices DAT - Two new DATs which list all input and output audio/video devices. Callbacks are included to create actions when devices are added or removed.
- Text COMP - Added new 'Drop Shadow' parameter to draw a drop shadow under the text.
New Python
- App Class - Added processId member.
- OP Class, td Module - New opex() method that works identically to op(), except it will raise an exception if it fails to find the node instead of returning None as op() does. This is the new recommended way to get nodes in parameter expressions, as the error will be more useful than 'NoneType has no attribute 'par', that is often seen when using op(), for example.
- TDJSON - BACKWARD COMPATIBILITY ISSUE Including 'eval' in extraAttrs argument list will now create a new "eval" entry in the JSON instead of replacing the value in "val".
- Optimized Expressions - Added support for DAT.text.
New Palette
- TDAbleton v2.3 - Added Change Global OP Shortcut feature to allow multiple instances, which allows you to connect to multiple Ableton Lives in one project.
- v2.1.1 - Fixed defaults on the TDA package.
- Palette:pointRender - version 1.2.2 - Updated to use the latest cameraViewport component.
- Palette:cameraViewport - version 0.39.0 - Added comments to help explain setup.
- Palette:kinectPointcloud - version 1.0.2 - Updated to use the latest pointRender and cameraViewport components.
- Palette:particlesGpu - Simulation stays stopped when timeline is paused and viewer tumbled.
- Palette:treeLister - Optimized row selection and selection reporting. Exposed more inner members: IDObjDict, ObjIDDict, GetObjectFromID, GetIDFromObj (see Palette:treeLister for details).
- palette:treeLister - Added 'Alphabetize Tree' parameter (default True) in case you don't want to alpahabetize, which was forced in previous versions. Also fixes a bug where treeLister could sometimes sort twice when it only needs to sort once.
Bug Fixes and Improvements
- OAK-D - Upgrade to DepthAI 2.22.0
- OpenCV - Upgrade to 4.8.0.
- Upgrade to R3D SDK 8.4.0, used in the Movie File In TOP for decoding RED Camera codec in .r3d file format.
- RealSense - Upgrade to SDK 2.54.2.
- Substance TOP - Upgrade to SDK v9.0.1, this enables the use of E.6 Materials.
- Annotate COMP - New 'Utility' parameter access to utility flag (when On, hides from searches).
- Camera Blend COMP - Fixed the Line MAT using incorrect aspect ratio values when rendering with a blended camera.
- Engine COMP - Tox files now have the external tox settings disabled on load.
- Slider COMP - Fixed default component to accept changes to u and v via script.
- Text COMP - Added a new parameter to parse escape sequences like '\n' and '\t' when using the Specification DAT. Also fixed vertical alignment when using the Specification DAT.
- Geo Text COMP - Fixed 'Font Color' not working.
- GLSL TOP - Added 'TOPs' parameter to reference other inputs via parameter instead of a wired input.
- Leap Motion TOP / Leap Motion CHOP - Updated Windows to SDK 5.13.2 and added SDK version to the info popup.
- Lookup TOP - Dark/Light UV values will no longer be clamped at 0 on the low end.
- Movie File In TOP - Fixed a new crash when loading sequences of EXRs.
- Nvidia Background TOP - Fixed issue where input image was passed to the Nvidia model flipped, resulting in poor background removal.
- Optical Flow TOP - BACKWARD COMPATIBILITY ISSUE - 'Cost Output' values are now normalized to 0-1, instead of 0-255.
- Substance TOP - Improvements to parameter generation, specifically with menus.
- Video Device In TOP - Improved AJA support to work with dual UHD inputs for Kona HDMI devices.
- Web Render TOP - Fixed a crash which could occur loading a project.
- Body Track CHOP - Static input images are now reprocessed when the parameters change.
- DMX Out CHOP - Fixed bug with sACN/KiNET/ArtNet where only the first channel might be sent in Packet Per Channel mode.
- Face Track CHOP - Face mesh is now included in the Config/Models folder and the 'Mesh' parameter now defaults to the included mesh file.
- Face Track CHOP - Static input images are now reprocessed when parameters change.
- Info CHOP - Fixed issue which resulted in extra channels for the 'Timecode' Info Type on some OPs.
- LTC Out CHOP - Added 'High FPS Behavior' menu with the options to cucle or duplicate frames for high frame rate scenarios.
- Timer CHOP - Various Improvements
- Next Segment / Prev Segment now updates masterSeconds properly.
- Stop resetting masterSeconds each cycle.
- Fixed dropped pulse values.
- Folder DAT - Improved performance by optimizing filesystem check and fixed a crash which could occur loading a project.
- This optimization also improves performance when a file changes in any File In OPs.
- Point SOP - Fixed incorrect new attribute values in some cases when an attribute is deleted.
- Art-Net DAT - Removed local port parameter because it is redundant and can conflict with the receiving socket.
- Render Pick DAT - Now works without any DAT input connected, so the Python pick() method can be used without a dummy input.
- Web Server DAT - Fixed onServerStop callback not triggered when 'Restart' parameter is pulsed. Furthermore, an optimization to shut down the web server when its parent component cooking is disabled was added.
- Custom Operators - Added 'cookCount' member to the OP_NodeInfo class.
- Privacy - Improved support for nested private components. A private component's children now have access to their parents, even if those parents have their own privacy.
- Network Utilities: Comments, Network Boxes, Annotates - Comments, Network Boxes and Annotates now have a 'Utility' parameter for turning on and off utility mode.
- TOP - Channel mask on the Common page now works correctly for Mono and Alpha Textures.
- TOP - Pixel inspector tool now gives pixel-centered UV values.
- Fixed incomplete panel layouts when parents employ children scaling.
- Tox files are now saved with the external tox parameter turned off.
- Fixed being able to use backspace or delete in input boxes are are not editable.
Operator Snippets
- New snippets for Body Track CHOP, Timecode CHOP, Bloom TOP.