WebRTC support, genlock for Deltacast cards, Syphon and VST now working on macOS, improvements and bug fixes.
Release Notes
Experimental Builds Experimental builds include new features still in development and testing, features are subject to change. For the stability and reliability required for performances and project deliveries, we recommend using the production ready Official Builds.
CAUTION! Project .toe files saved in Experimental can not be loaded back in Official.
Known Issues
All Builds
- Engine COMP / TouchEngine - Not working yet.
- Some TOP networks may display garbage textures on AMD or Intel GPUs.
- Some panel borders and buttons elements may not display correctly on hiDPI monitors.
macOS Specific
- macOS - Texture flickering in floating windows on Apple Silicon Macs.
- palette:particlesGpu - On macOS, no longer crashes but still doesn't work yet.
macOS Apple Silicon Build Specific
- The following operators have not been ported yet
- Movie File In TOP / Movie File Out TOP - The Cineform codec does not look like it will be updated for Apple Silicon, so it will not be an option in these builds.
Build 2022.21460 - Mar 30, 2022
New Features
- Video Device Out TOP - Add support for selecting genlock reference source for Deltacast cards.
- WebRTC DAT - Adds support for WebRTC to TouchDesigner. A WebRTC DAT represents a peer on one end of any number of WebRTC peer-to-peer connections.
- Extensive documentation for WebRTC in TouchDesigner can be access from this starting page: WebRTC
- WebRTC video and audio input/output is done via the Video Stream In TOP, Video Stream Out TOP, Audio Stream In CHOP, and Audio Stream Out CHOP with reference to a WebRTC DAT.
- For users that wish to test, review, or demo the technology, check out ther new Palette:signalingServer, Palette:signalingClient and Palette:webRTC COMPs in the WebRTC folder of the Palette. More details in the Palette section below.
New Python
- Camera Class.blendCamera(targetCamera, blend) -> tdu.Camera() - New function to return a camera that is a blend between the current camera and the given target.
- DAT Class.detectLanguage() - Will now throw an error if any positional arguments are given.
- ListCOMP Class.displayAttribs[r,c] now provides the final displayed attribute in the cell.
- tdu.validName(str) - Returns a version of the string suitable for an operator name. Converts illegal characters to underscores. Slashes are converted to underscores, to preserve forward slashes use validPath() instead.
- Replaces tdu.legalName() which erroneously supported slashes.
- Example: tdu.validName('a#bc def') # returns 'a_bc_def'
- tdu.validPath(str) - Returns a version of the string suitable for an operator path, including slashes. Converts illegal characters to underscores.
- Example: tdu.validPath('/a#bc d/ef') #returns '/a_bc_d/ef'
New Palette
- WebRTC toolkit v.0.9.0 Alpha - Initial release of set of tools to get started with WebRTC in TouchDesigner
- Palette:signalingServer - The signalingServer COMP is a component that can be used to run a signaling server within TouchDesigner.
- Palette:signalingClient - The signalingClient COMP is a component that can be used to connect to a signaling server within TouchDesigner as well as exchange messages with other clients through the signaling server it is connected with.
- Palette:webRTC - The webRTC COMP is a component that can be used to initiate real-time conferencing (RTC) between TouchDesigner instances and TouchDesigner or WebRTC compatible devices such as most Web browser capable devices, including some IoT devices. It requires a signalingClient COMP connected to a supported signaling server.
- Palette:arcBallCamera - arcBallCamera was removed in favor of the modern cameraViewport COMP.
- Palette:cameraViewport - Added camera model for display in the geometry pane.
- Palette:cameraViewport - Updated Auto-Rotate so it only rotates on one axis at a time and uses a fixed starting point to prevent drifting.
- Palette:cameraViewport - New function to return a tdu.Camera object that is a blend between two cameraViewport components.
- Palette:chromaKey - Cosmetic and minor improvements.
- Palette:feedbackEdge - 8.0.1: Standardization hotfix.
- Palette:initializeStart - Handles non-zero 'Initialize Time'.
- Palette:kantanMapper - Freeshape automatically closes when switching tools.
- Palette:moviePlayer - 39.5.4: Contrast set back to 1.
- Palette:SVG - webSvg COMP was renamed to SVG COMP.
Bug Fixes and Improvements
- ZED - Upgrade to SDK 3.7.
- Geo Text COMP - Added support for clipping the text to the layout box.
- Geo Text COMP - Fixed crash when switching from specification mode back to text mode.
- Text COMP - Font size is now clamped at zero when the padding is larger than the panel size so the text does not get flipped.
- List COMP - Dragging from the off cell area now controlled by attribute, draggable member if set.
- TOPs - Fixed 'Display Pixel Value' not working correctly for 2x2 TOPs.
- Layout TOP - Now working correctly on AMD GPUs.
- Movie File In TOP - Error behavior is more consistent now when a specified URL fails to download the file.
- Movie File Out TOP - Disabled unique suffix when using Type = Image Sequence.
- Syphon Spout In TOP / Syphon Spout Out TOP - Works on macOS again.
- Audio VST CHOP - Upgraded to JUCE v6.1.6 and now working on macOS.
- Change TOPs with transform parameters to be consistent in direction with the Transform TOP. Added a toggle parameter for 'legacy' behavior.
- Maintain input and component inputs on an operator when loading or reloading from an external .tox file.
- Fixed an issue creating custom layouts.
- Fixed panel layout not responding to scripted changes in fill weights.
- Fixed a crash when dragging and dropping.
- Fixed alignment of graph labels in the CHOP viewer.
- Fixed automatic horizontal scrolling in DATs and Text COMPs.
- The minimum size of floating windows is now adjusted based on the monitor scaling.
- Widgets - Fix to dropmenu Text COMP expression. New "X" icon mode for checkbox widget.