- 1 Build 2017.17040 - May 11, 2018
- 2 Build 2017.16620 - Mar 09, 2018
- 3 Build 2017.16360 - Feb 09, 2018
- 4 Build 2017.15960 - Jan 10, 2018
- 5 Build 2017.15400 - Dec 9, 2017
- 6 Build 2017.14620 - Nov 02, 2017
- 7 Build 2017.14220 - Oct 17, 2017
- 8 Build 2017.13460 - Sep 27, 2017
- 9 Build 2017.13080 - Sep 11, 2017
- 10 Build 2017.12740 - Aug 29, 2017
- 11 Build 2017.12100 - Aug 09, 2017
- 12 Build 2017.11520 - Jul 27, 2017
- 13 Build 2017.10940 - Jul 10, 2017
- 14 Build 2017.10700 - Jun 4, 2017
- 15 Build 2017.10000 - Jun 19, 2017
- 16 Build 2017.7500 - Jun 13, 2017
- 17 Build 2017.7180 - Jun 05, 2017
- 18 Build 2017.6800 - May 29, 2017
- 19 Build 2017.5940 - May 1, 2017
- 20 Build 2017.5540 - Apr 22, 2017
- 21 Build 2017.5040 - Apr 11, 2017
- 22 Build 2017.4580 - Mar 31, 2017
- 23 Build 2017.4060 - Mar 24, 2017
- 24 Build 2017.3580 - Mar 17, 2017
- 25 Build 2017.3340 - Mar 10, 2017
- 26 Build 2017.2820 - Feb 24, 2017
- 27 Build 2017.2620 - Feb 17, 2017
- 28 Build 2017.2300 - Feb 10, 2017
- 29 Build 2017.1900 - Feb 03, 2017
- 30 Build 2017.1360 - Jan 25, 2017
- 31 Build 2017.1200 - Jan 20, 2017
- 32 Build 2017.760 - Jan 13, 2017
- 33 Build 2016.5580 - Dec 07, 2016
- 34 Build 2016.4500 - Nov 22, 2016
- 35 Build 2016.3740 - Nov 8, 2016
- 36 Build 2016.2720 - Oct 19, 2016
- 37 Build 2016.2100 - Oct 07, 2016
Build 2017.17040 - May 11, 2018
- PosiStageNet CHOP - New CHOP that supports decoding of the PosiStageNet protocol.
Bug Fixes and Improvements
- NDI - Upgrade SDK to 220.127.116.11 (previously18.104.22.168).
- Helios DAC CHOP - Fixed crash.
- Audio File In CHOP / Movie File In TOP - Fixed issues with playing back audio that has more than 8 channels.
- Replicator COMP - Added a parameter for controlling the starting value of the suffix on replicated nodes.
- Monitors Class - New refresh() method to manually refresh the list of connected monitors.
- App Class - New refreshMonitorList() method to manually trigger a refreshing the list of monitors connected to the system.
- Render Pick CHOP / Render Pick DAT - Fixed not working on some AMD GPUs.
- Fix for scripts that delete themselves.
- Update to TDAbleton.
Build 2017.16620 - Mar 09, 2018
Bug Fixes and Improvements
- Movie File In TOP - Fixed crash that can occur sometimes when opening an invalid file path.
- Text TOP - Fixed some line formatting issues with unicode text on macOS.
- Fixed crashes caused by per frame callbacks launching modal dialogs (like the confirm dialog).
- Fixes to the Palette components TDAbleton and multiMix.
- Default floating viewers for SOP, CHOP, Object COMPs, Base COMPs are now 400x300 (up from 200x150).
- Update unsupported video codec warnings to make more sense.
Build 2017.16360 - Feb 09, 2018
- Transform CHOP - Added parameters to invert the various transforms as well as more control over transform order.
Bug Fixes and Improvements
- Movie File Out TOP - Fixed R and B colors being swapped when switching back to movie recording from single image recording.
- Movie File In TOP - Fixed bugs that can cause some Hap files to show corrupted frames when using High Performance Read when the Hap files are a mix of Snappy and not Snappy compressed frames.
- Screen Grab TOP - Fixed crash and broken functionality that started to occur with Windows 10 Creators Update edition.
- CPlusPlus CHOP / CPlusPlus SOP / CPlusPlus TOP : OP_Inputs class now refreshes the parameter dialog instantly when enablePar() method used.
- Text TOP - Fixed a reported crash.
- Trail SOP - Fixed a crash when unbypassing.
- Folder DAT - Fixed date columns not updating when first enabled.
- TDAbleton - Fixed a bug where only one track at a time accepts MIDI notes from TouchDesigner.
- Import File Dialog - Now creates operators set to Python language mode.
- Escape key now ends keyboard focus when editing Text DATs (now consistent with Tables).
- CodeMeter License dongles can now be used across a LAN using the CodeMeter license server. No change to existing dongles is required to make them functional for this. Only functional for Windows in the 2017.10000 series of builds. Functional for macOS in the 2017.30000 series of builds.
- Text TOP - Added 'Leading Zero' parameter forcing a leading zero to be prefixed before the decimal of a value between -1 and 1. For example .9 becomes 0.9
- Syphon Spout Out TOP, Syphon Spout In TOP - Now respects the Max Senders registry setting and will try to set the Max Senders to 100 by default if TouchDesigner is the first application started and the registry value isn't set.
- TUIO In DAT - Fixed slow memory leak that occurred in this node.
- GLSL TOP - Fixed some cases where the uTD*Info arrays had incorrect data.
- Provides popup warning when TouchDesigner starts in Non-Commercial mode but an expired Educational, Commercial, or Pro licence is found.
- Replicator COMP - Fixed crash when replicator callback is causing other replicants to be deleted.
- Fixed ui.viewFile() not opening correct path in macOS.
- Fixed case where CHOP export to a pulse parameter failed to register on startup.
- TDAbleton - Is ready and now in the Palette! This is our completely new TouchDesigner - Ableton development environment. For more details and setup see TDAbleton.
- Field COMP - New parameter 'Render Cursor' which when turned off can be substituted with values derived from new Text TOP info channels: cursor_x, cursor_y, cursor_width, cursor_height (Tip: use an Info CHOP referencing the Text TOP to access these info channels).
- GLSL MAT - Added TDCreateTBNMatrix() function.
- NDI Out TOP - Fixed some crashes that can occur when resolution is changing.
- Vioso TOP - Improvements
- Added 'Filter' parameter.
- Fixed not working on AMD GPUs.
- Fixed issue with image quality when input image didn't match the resolution of the warp texture.
- Cube Map TOP - Fixed resolution of cube map not being correct in some cases.
- Cube Map TOP - Fixed some issues with missing pixels when converting from cube map to vertical/horizontal cross.
- Movie File In TOP - Cineform video codec is now available for all licenses.
- Movie File Out TOP - Cineform video codec is now available for all licenses.
- Video Device Out TOP - Fixed crashes with Non-Commercial license when resolution is higher than 1280x1280.
- Video Device In TOP - IDS camera improvements
- Fixed issue with multiple cameras that were assigned the same Camera ID not working correctly.
- Fixed issue where cameras would get re-setup when changing.
- Substance TOP - Updated Substance Designer SDK to version 6.0.0
- Substance Select TOP - Fixed a crash when referencing a TOP that isn't a Substance TOP.
- Text TOP - .cursorStart .cursorEnd members can now be set for finer cursor control when used with a Field COMP.
- Constant CHOP - Fixed snapping behaviour when first channel is not zero. It will now snap up to 40 channels, and not (40-start). Fixed first field when snapping.
- Timer CHOP - onCycleStart was returning cycle value that was too high by one.
- Speed CHOP - Improvements
- Fixed steppy/stalled output from precision errors when using loop/zigzag modes.
- Fixed precision error when small value zigzagged between large bounds.
- Fixed recent range change when looping bug.
- In CHOP - Fixed infinite recursion issue.
- Int parameters now have 8 significant digits (up from 6) when saving/loading.
- Fixed crash when interactTouch()/interactMouse() would delete a panel during an interaction.
- Fixed some issues when editing parameters in external editors.
- Fixed some crashes with the Replicator COMP.
- Removed old Ableton examples from samples folder.
- Movie File Out TOP - Add control for Entropy Mode for H264 encoding.
- moviePlayer component added for playing and exploring movie files, setting cue points, and presenting sections of movies.
- gal UI collection updated.
- Noise TOP - Fixed broken Random (GPU) Noise on some Intel GPUs.
- Noise TOP - Fixed non-monochrome GPU based noise not working on Intel GPUs.
- Movie File Out TOP - Fixed H264 Profile Parameter not being correctly applied.
- Render TOP - Work around macOS bug that broke Cube Map rendering.
- Video Device In TOP - Fixed color IDS Camera images not working correctly.
- OSC In CHOP - Fixed delayed by one issue when non-queued and intermittent values sent.
- Gesture CHOP - Fixed occassional unstable output when Locked to Timeline or Fit to beats was used.
- Gesture CHOP - Fixed discontinuity when blending output.
- Text TOP - Polygon fonts now correctly again on Windows. macOS still falls back to 'Texture' fonts when polygon fonts would otherwise be used.
- Fixed issue with opening external editor for parameters.
- Always fill alpha on BlackMagic devices
- RealSense TOP - Added 'Motion Range Tradeoff' parameter.
- ASIO now supports 128 input and 128 output channels (up from 64).
- List COMP - Background Color Alpha now implemented.
- Folder DAT - Fixed an issue that can cause very slow startups if many Folder DATs are present in the project.
- Window COMP - In TouchPlayer 'Close On Escape' will now close the perform window and quit the file.
- Updated Privacy dialogs for both projects and components.
- Cutting and pasting from private to non-private toes is now supported.
- Fixed "Update" notification not respecting "Check Experimental" preference.
- Fixed GPU memory usage being reported as much higher than correct.
- Fixed Animation COMP's end time being rounded down to integers when units are specified in seconds.
- Fixed other small issues reported.
- OSC In CHOP - New 'Queued' parameter to turn off queuing and just take most-recent values.
- Video Device In TOP - Fixed resolutions higher than Non-Commercial limit not working correctly in Non-Commercial.
- NDI Out TOP - Fixed issue that causes NDI Monitor application to crash when connecting to this node.
- DMX Out CHOP - For sACN and Art-Net removed the restriction that net, subnet, and universe must be unique since different IPs can be used.
- Switch CHOP - Clamp index specified by CHOP input to be consistent with parameter input. Otherwise output would be input index value or entirely blank.
- DAT to SOP - Fixed Crash when invalid DAT data specified.
- Replicator COMP - Replicants now laid out in table order, *not* alphabetically.
- Convert DAT - Fixed converting tables to other tables (with 0 rows and/or 0 columns).
- OP Snippets now properly opens the full size of the primary monitor.
- Some other crashes solved
- Kinect TOP - Fixed infrared image for Kinect1.
- Phong MAT - Fixed spherical environment mapping not working correctly.
- Disable automatic tabbing feature in macOS 10.12 that was breaking mouse coordinate calculations.
- Fixed TDAutoKey.txt not working in 099.
- Attempting to enter a private component open the privacy dialog to enter password.
- Numerous fixes and tweaks to
COMP.findChildren()(tags, comments, and pattern matching being consistent with the OP Find DAT and the Select OPs)
- BACKWARDS COMPATIBILITY WARNING -
COMP.findChildren()now uses extended pattern matching, to be consistent with OP Find DAT. This affects: name, path, comment, text, tags and parameter attributes. Example: name='geo[1-9]' now supported
- OpenVR CHOP - Increased the allowed number of devices (ie. controllers and trackers) from 6 to 16.
- OSC In CHOP - Added two parameters to determine how OSC In handles the creation of channel names based on the incoming address.
- Render Pick DAT - Fixed Instance IDs being incorrect if multiple picks are being done in one node, on a Pascal or newer Nvidia GPU, or Polaris or newer AMD GPU.
- NDI In TOP, NDI Out TOP - Upgraded to NDI v3.0.
- Video Device Out TOP - AJA - Fixed issue where output was incorrect if the first output channel was not in use.
- Movie File Out TOP - Keyframe Interval is now configurable for MPEG4 video and Keyframe Interval now works correctly for H264 video.
- RealSense TOP - Fixed segmented color crash.
- OSC In CHOP - Fixed an issue with special characters creating a new channel each cook even when they are the same name.
- Panel CHOP - Fixed a crash occurring when monitoring a panel with a
- Camera Blend COMP - Fixed near/far plane being incorrect for alternative render modes such as Fish-Eye.
- Render Pick DAT - Fixed crash that can occur when enabling Fetch Texture.
- Folder DAT - Fixed it not refreshing when loading from a
- Serial DAT - Number of improvements below.
- Don't queue up send data when disconnected (leads to memory leak).
- Fixed long delay when toggling active or changing parameters.
- Info CHOP monitoring a Serial DAT now reports: bytes read, bytes written, byte write queue, write_rate - and new warnings when serial sent a buffer too large.
- Fixed private components loading empty when used with Load On Demand (Save Backup of External).
- Stitcher Palette component fixed for cases when PTGui files do not have crop parameters.
- Fixed crash when re-cloning current node with custom parameters.
- Fixed some cases where 'Allow Interaction' was not working correctly in Window COMPs.
- Tweak how
.dmpfiles are saved when crashing, hopefully resulting in less cases where
.dmpfiles are not properly created.
- BACKWARDS COMPATIBILITY WARNING - Switch CHOP - When using first input channel as index, it now floors the value to be consistent with other methods, previously it rounded.
- Blob Track TOP - Added 'Revive Blobs' feature allowing blobs to be revived with their same ID if found again within a certain time and area tolerance.
- FBX - Added support for importing primitive color.
- Video Device Out TOP - 4K HDMI output works better for AJA cards.
- Audio Play CHOP - Now reports errors when file not loaded and avoids opening bad files repeatedly.
- Audio Device In CHOP - Fixed a bug where all channels disappeared when switching devices in some cases.
- Noise TOP - Fixed noise coordinate map in non-monochrome mode.
- Vioso TOP - Fixed flipping issues with Vioso and removed unnecessary flip parameters.
- GLSL MAT - Fixed lights that were in the wrong position in geometry viewers when lighting space is set to 'Camera Space'.
- Window COMP - Fixed 'Allow Interaction' toggle to work in Perform Mode.
- Fixed floating Panel COMP window not readjusting when changing parameter size and 'Size from Window' is on.
- Fixed drag drop coordinates so they are only converted to scaled x and y for DPI scaled windows.
- Kantan Mapper can now use backspace key to delete shapes.
- Don't abort/warn during save if root nodes have warnings or errors.
- Fixed bad state when opening floating viewer on zero resolution panel.
- Fixed TouchDesigner not launching in some environments related to splash screen.
- Fixed startup crash when installed Splash media folder missing.
- Fixed a number of crashes.
- DMX Out CHOP - Addition and improvements.
- The routing table now can have an optional 'netaddress' column to support multiple destinations per CHOP.
- Added support for Art-Sync (ArtNet only).
- Sequence count implemented.
- Packet per Channel uses Rate parameter.
- Packet output rate reported in Info DAT.
- Tablet CHOP - Now working on macOS.
- Vioso TOP - Add Flip X and Flip Y parameters.
- Audio Device Out CHOP - Fixed ASIO Output for multiple channels.
- TUIO In DAT - Fixed a warning message that always came up.
- Helios DAC CHOP - New queuing system to provide more stable output that tolerates frame drops and FPS changes. Better channels in Info CHOP for Helios monitoring.
- Pipe In CHOP / Pipe Out CHOP - Fixed echo to console not working.
- Oculus Rift CHOP / Oculus Rift TOP - Added warning if project FPS not set to 90fps.
- FBX - The 'takes' network created when importing FBX blend shapes has been modified to default to manual control of the shapes versus using the 'takes' channels.
- FBX importing now works for geometry with more than one blend shape.
- Animation COMP - Bugs fixes and optimizations.
- Fixed de-selection of Animation Editor handles when manually setting field entries.
- Don't cook every frame if set to Output Full Range when input (unused) is time dependent.
- Fixed issue where cloned replicators may end up with as many replicants as the source, even if not specified by the cloned replicator's template DAT.
- Fixed crash that could occur when accessing numChans from a CHOP that has been deleted.
- Python module http.client.HTTPSConnection fixed for macOS.
- Par Class
.cloneImmune- Controls whether or not the custom parameter attributes are matched to its Clone Master, if cloned.
- Fixed Container COMP clicking crash.
- Fixed hang caused by closing the CHOP Exporter rename dialog with its "X" in the upper-right.
- Fixed bug where custom parameters would be matched to Clone Master even if cloning was disabled.
- Fixed issue with Update notification in the main menu.
- Allow parameter dialogs in TouchPlayer, so Parameter COMP panels are displayed properly.
- Geometry viewer grids now displayed with antialiased lines, and depth testing fixed for grid markers.
- UDP Out DAT - Added option to specify the local port instead of it being automatically assigned by the operating system.
- MQTT Client DAT additions.
- Now provides 'connected' channel to Info CHOP.
- Added 'msg' arguement to failure callbacks, which may be supplied by server.
particlesGpunow has an input for external forces like output coming from
- KantanMapper cleanup.
- Video Device In TOP - Fixed crash that can occur when selecting the BlueFish444 library.
- Video Device In TOP - Better initial state when loaded on a system where the input configuration has changed but the original selected device is still present.
- Video Device Out TOP - Added support for 1080p 23.98hz output for AJA devices.
- Video Device Out TOP, Video Device In TOP - Blackmagic devices are enumerated in a more stable fashion now. Having two identical model Blackmagic devices in a system should work more reliably.
- Select COMP - Internal justify, margin, crop texture, child offset, and fit parameters now get settings from source panel COMP.
- List COMP - Fixed jerky and inaccurate scrolling/picking when fixed header different height than the rest of the rows.
- Fixed issue where clones saved in older builds would load up empty when their master components had Enable = Off.
- Fixed possible hang when disconnecting operators from component inputs.
- Fixed Copy and Paste issue.
- BACKWARDS COMPATIBILITY WARNING - Due to changes in how Video Device Out TOP and Video Device In TOP devices are enumerated, you may need to re-select your devices in existing .toe files.
- BACKWARDS COMPATIBILITY WARNING - Get
timeCOMP.loopresults were swapped as they were backwards. This will effect any scripts that were working around it.
First 099 Official Build
- KantanMapper to palette.
- Fixed crashing and export issues with IK bone layout state.
- Fixed crash when opening parameter menus in SOP modeler.
- Fixed Composite TOP Preview Grid not working on Intel GPUs.
- Fix flashing bug that can occur with floating viewers on macOS.
- Updates to Feedback image filter component in the Palette.
- Menus for network editor and operators cleaned up and reorganized.
- Helios DAC CHOP - Control lasers using Helios DAC device.
- MQTT Client DAT - Connected to MQTT brokers for IoT MQTT devices and streams.
- Folder DAT - New parameter 'Async Update' to minimize cook times by having contents updated asynchronously to the cooking.
- DAT Editing - If no Text Editor or Table Editor is specified in Edit > Preferences, then Edit Contents... will use the OS System default for the file extension type set on the DAT's Common parameter page. This allows for different external editors to be used for different file extensions.
- DAT Save Contents... will use the file extension set on the DAT's Common parameter page in the Save Dialog that opens.
- New options for errors and warnings
- opticalFlow example now in 32-bit.
- webBrowser Component example added.
- New Help > OP Snippets example file with a new interface that makes it easier to browse examples.
- Movie File In TOP - Fixed recent change that broke .bmp reading.
- Box SOP 'Divisions' option now creates consistent point normals which can be used for noise offsets etc.
- CPlusPlus TOP - Fixed error causing load up problems in older versions.
- Resample CHOP - Fixed node viewer display sometimes not displaying multi-sample graph when multiple samples present.
- Camera COMP and Light COMP - Fixed homing in the node viewer.
- Event CHOP - No longer requires wired input since it can be driven through python calls: n.createEvent(), n.releaseEvent()
- Folder DAT - Show warning when path is not a valid folder.
- BACKWARDS COMPATIBILITY WARNING - Deprecate op.error, op.warning and replace with op.errors(recurse=False), op.warnings(recurse=False).
td.evalStackInfo()returns formatted contents of current operator/parameter cook/evaluation stack.
- opticalFlow added to Tools folder in Palette.
- Folder DAT - Speed increase by moving some internal setup to separate thread.
- DAT file extensions
- DATs that come docked to GLSL OPs are now set to use .glsl extension.
- Use the DAT's file extension setting when saving files.
- OSC In CHOP / OSC Out CHOP - Stop cooking when Active turned off.
- TOP to CHOP - Fixed bug where the CHOP would not update if the TOP only cooked for one frame.
- MIDI Out CHOP - Don't give warning when device is blank.
- Fixed docked In/Out OPs so they don't hide their connecting wires in the parent's network.
- Fixed the Textport to load up with the DATs that were last displayed.
- Ableton Link CHOP - New CHOP that allows joining an Ableton musical session synchronized using Ableton Link.
- Change the file extension or add custom extensions for DATs in Common page. This will allow for proper syntax highlighting when using external editors. Also changed the default extension for DATs created with the GLSL TOPs/MATs.
- Perform CHOP - New parameter for 'Perform Window Focus' which is true when Perform Mode window is open and it has focus.
- App Class licensing options - Limits functionality as specified. Can be undone with same password. If password is blank limitation is permanent until application is terminated. Limit can be applied multiple times with different passwords.
- app.addNonCommercialLimit(password) / app.removeNonCommercialLimit(password)
- app.addResolutionLimit(x, y, password) / app.removeResolutionLimit(password)
- Adaptive Homing is now default on. It continually home the geometry in the viewer when its scale changes. This can be turned on/off in individual viewers via the right-click menu when the 3D viewer is active, or can be turned on/off globally in the Geometry tab of the Preference dialog.
- Folder DAT - Doesn't collect file type, size, or date info when not displayed. Cuts down on cook time significantly.
- SVG TOP supports VFS (embedded file) content now.
- Video Stream In TOP - Fixed an issue which prevented some valid URLs from loading. so e.g. rtsp://22.214.171.124/usermovie.mov is correctly identified as a streaming URL
- Phong MAT - Fixed issue with Rim Map and Strength Ramps being broken.
- Render Pass TOP - Fixed issue where cubemaps may not render properly. They would render the same image to all sides.
- sACN - Property value count fixed for DMX In, and DMX Out packet size as reported in forum (thanks Peeet)
- Par Class - Fixed bad or missing .default attributes in many cases.
- Parameter COMP - Fixed bug where adjusting parameter changes selected ops as well.
- Table COMP - Fixed case where table would lay out improperly unless set to fixed width.
- Fixed issue with Parameter COMP copying into itself when dropping the node on itself.
- Keyboard Shortcut Change Parameter Modes - "ctrl+m" (replacing "alt+t") toggles through parameter modes.
- Video Device Out TOP - Fixed high latency issue with interlaced video.
- DMX Out CHOP - Fixed incorrect 'Property Values Count' being sent in packets when using sACN. It should have included the start code (513, not 512).
- SSAO TOP - Operator is working again after being recently broken.
- Audio Device Out CHOP - Fixed crash on macOS if no channels were enabled.
- Fixed FBX import issue where models with nodes that contained the same name in networks wouldn't load properly.
- Fixed an issue which prevented windows being visible above a fullscreen window on macOS.
- File Open/Save dialogs are now visible above fullscreen windows.
- Fixed order of error messages so "Not supported on OS" messages are displayed before "Need Commercial/Pro license" messages.
- particlesGpu Palette component fixed on macOS.
IMPORTANT CHANGES TO KEYBOARD SHORTCUTS in our research into foreign keyboards and unicode support, we discovered the need stop using 'alt' as a shortcut modifier in text input fields. These changes are the result of this and to keep related actions consistent.
- Open Current DAT in External Editor - "ctrl+e/cmd+e" (replacing "alt+e") open either a parameter expression field or the Current DAT in your external editor.
- Run Current DAT Script - "ctrl+r/cmd+r" (replacing"alt+r") will run the script in the Current DAT.
- Text SOP - Added Level of Detail parameter to control quality of text geometry.
- BlackTrax CHOP - Added acceleration and velocity output channels and added LED position/velocity/acceleration support for each beacon.
- Project Class.save - now returns True if a file was saved.
- Matrix Class - Added rotateOnAxis() method.
- Vector Class - Added project() method.
- GLSL TOP - Fixed issue with GLSL 1.20 shaders in some cases.
- Render TOP - Fixed camera render not being positioned correctly when resolution is being clamped by Non-Commercial license.
- Kinect TOP - Work-around driver bug that broke Kinect 1 Depth and Player Index on Intel GPUs.
- Joystick CHOP - Fixed slider values not being returned for some devices on macOS.
- DMX Out CHOP - Fixed a crash that could occur in some cases.
- Window COMP - Fixed some issues with Justify parameters when using the 'Mouse' setting.
- Fixed CoInitialize popups that would show up sometimes when using audio and video devices.
- Fixed floating panel viewers not working with 'Size From Window'.
- Fixed issues with 'alt' keys and foreign keyboards. Windows converts right-alt into ctrl+alt automatically, so test for absence of alt key when using shortcuts. Also removed alt tests in Text TOP as it impedes editing on foreign keyboards.
- Fixed broken panel repositioning (OP Create Dialog) with non-default DPI settings.
oppardetails(tscript) fixed page output as it used to be.
- Video Device In TOP, Video Device Out TOP - Added support for AJA cards on macOS.
- Render TOP - Multi-Camera rendering is now supported on AMD drivers 17.4 or later.
- New Palette additions in Tools folder - VectorScope and 3DScope
- camSchnappr now has a parameter for Precision and Max Iterations.
- Minimum Windows operating system requirement is now Windows 7 SP1. Removed Windows 7-before-SP1 as supported OS from installer.
- Render TOP - Fixed a bug in memory usage calculation when using Anti-aliasing.
- Geometry COMP - Fixed texture instancing not working if the MAT didn't have a map of that type specified in its parameters. The Map parameter can be left blank now, as it was in 088.
- Panel Component - 'Align to Grid Row/Cols' uses 'Allow Parent Alignment' now.
- Point Sprite MAT - Fixed material not working with instancing that used a custom W texture coordinate.
- Video Stream In TOP - Fixed a bug that would result in stuttery playback in some cases.
- Movie File In TOP - Fixed crash that can occur when changing Pre-Read Frames parameter in some rare cases.
- Fixed panel dragging between DPI and non-DPI scaled monitors.
- BlackTrax CHOP - Improvements
- Added warning to make sure at least one beacon is specified. Fixed warning text.
- Fixed naming and mapping table issues.
- Fixed fixed-size tile names not rendering.
- Update to Help > Operator Snippets examples.
- Improvements to NDI support.
- Movie File In TOP - Pixel Format menu is now enabled and can be used to convert the incoming data to a different pixel format.
- Monitor Class - Added dpiScale python member.
- Offline Documentation updated, download it on the 099 download page.
- Fixed TouchPlayer not working properly on monitors with DPI scaling enabled.
- Parameter COMP - updates
- Fixed rendering order of menus and popups.
- Fixed rendering at native/unscaled resolution in some cases.
- Fixed size/aspect for panels in: tile viewers / tile aspect / floating viewers
- Scalable Display TOP - Updated Scalable SDK to support new blacklevel feature for overlapping projectors.
- GLSL MAT - Fixed issue when trying to use deforms with geometry shaders.
- Depth TOP - Should now actually be working on macOS.
- Movie File In TOP - Fixed
.pngand other image sequences not working correctly.
- Joystick CHOP - Fixed an issue which affected Logitech Freedom 2.4.
- Fixed issue with audio output on Video Stream Out TOP and Movie File Out TOP.
- ASIO data now processed in 32 bits (single precision float) to provide maximum fidelity to/from Audio CHOPs. This includes support for Dante virtual cards, which support 16, 24 and 32 bit formats.
- Fixed issue with floating viewers not resizing if component parameters are updated.
- Palette - waveform monitor added to Palette > Tools.
- Palette - fixes for kinectRecorder and moviePlaylist
- Keyboard In DAT - Fixed missing ~ and ` keys.
- Select COMP - 'Children' parameters now hidden.
- CUDA TOP - Has been removed; instead use the CPlusPlus TOP with CUDA.
- NDI Support for video streaming over a LAN. Check out the new NDI In TOP and NDI Out TOP. NDI (Network Device Interface) is a new network-based video and audio distribution protocol (video over IP on Ethernet-based LAN) developed by NewTek.
- OpenVR CHOP - Added support for Vive Tracker (untested since we don't have one in house currently).
- New MottoKantan (2D Projection Mapper that replaces Kantan Mapper) posted in the forum - MottoKantan
- OpenVR - Upgrade to OpenVR 1.0.6.
- Movie File In TOP - Fixed issue with incorrect frame being returned in some cases, particularly when using 'Pre-Fill' on the Texture 3D TOP.
- Crash fix for Fan CHOP.
- Crash fix for primitives count mismatch.
- Fixed issue with Table COMP cooking during network navigation.
- Fixed some Drag n Drop issues.
- Fixed some issues with the Animation Editor graph.
- Undid some innocent changes that were causing instability.
IMPORTANT CHANGES TO KEYBOARD SHORTCUTS to avoid hitting unintended shortcuts. They are still available but you need to hold ctrl or shift.
- Layout All - "l" has been completely removed! Yay! Still available through the network's RMB menu.
- Switch to List - "t" changed to "shift+t" - hopefully keeps from accidentally switching to list mode and getting stuck.
- Display > Groups - "g" changed to "ctrl+g/cmd+g" - again hope to keep from accidentally opening Groups interface.
- Open Parent Viewer - "v" changed to "shift+v" - days accidentally hitting v and blocking your work are over.
- Open Explorer/Finder - "alt+e" changed to "alt+f" - think alt+f for "File Browser", its more OS neutral and we needed to take back "alt+e" for below...
- Open Current DAT in External Editor - "alt+e" - like the "alt+e" in a parameter expression field, "alt+e" will also now open the Current DAT in your external editor. Someone's recent wish.
- Run Current DAT Script - "alt+r" will run the script in the Current DAT. Another recent wish, making dreams come true one shortcut at a time!
- DMX In CHOP - Added sACN protocol for DMX In CHOP. The chop can now receive data either Multicast or Unicast UDP.
- File In SOP - Can now drag and drop .obj files to load into File In SOPs.
- DMX In CHOP - Removed Net Port parameter and it will be set to default according to the protocol.
- DMX Out CHOP - Removed Custom Port and Net Port parameter and it will be set to default according to the protocol.
- Fixed a cook time issue for DMX Out CHOP and DMX In CHOP.
- Folder DAT - Fixed bug when pattern matching folders.
- OP Viewer COMP - Fixed bug where OP Viewer COMP would not display a CHOP Viewer right away.
- Fixed bug with homing viewers on a single point or very small geometry.
- OSC In DAT - Fixed crash found in OP Snippets examples.
- Fixed crash then loading some .obj files. Also fixed some .obj files loading in with scale = 0.
- Fixed a number of crashes.
- Adding/removing privacy will permanently mark the toe file edited and therefore prompt to save on quit.
- PanelCOMP Class - REMOVED
.x .y .width .heightuntil stability issues can be addressed.
- Replicator COMP - Added a Replication Method menu to choose between 'By Number' or 'By Table' replication.
- Parameter COMP
- Added page and parameter scoping using standard parsing: quotes, ^, etc. Also set order by scope.
- Fixed custom parameters appearing out of order.
- Panel now drawn shrunk to layout size, (with optional Oversize parameter), instead of always drawing at native resolution.
- PanelValue.val will now consistently return a type float, int, or string, dependent only the type. Previously it returned int or float dynamically, dependent on the current value. example: panel.u will always return a float (example 0.0 not 0)
- Render TOP - Fix some depth precision errors that can occur with depth peeling and order independent transparency.
- Render TOP - Order Independent Transparency and Depth Peeling should now work on AMD GPUs and macOS.
- Depth TOP - Now works on macOS.
- SSAO TOP - Should now work on AMD GPUs and macOS.
- Blob Track TOP - Fixed 'Draw Blobs' feature incorrectly drawing offset vertically for non-square resolutions.
- Ramp TOP - Change default ramp type to horizontal.
- Minimum required Nvidia driver version is now 340.00 or later.
- Movie File In TOP - loop_frame Info CHOP channel will no longer turn on when cueing a movie with the Cue parameters.
- TOP to CHOP - Default download type is now 'Next Frame', since that is much faster.
- Joystick CHOP - Fix to better support using Logitech devices between Windows and macOS.
- Sort SOP - Fixed the behavior of Sort by Neighbor, where it was causing crashes and removing points.
- Root Component is now a Base Component set to python language.
- Fix some issues with GPU memory usage calculations, and texture freeing.
- Fix so the Palette does not load files starting with "."
- Fix for startup crash on macOS.
- BACKWARDS COMPATIBILITY WARNING - Casting a Channel to string, will now include a decimal portion (example: "1.0" vs "1"). This is more consistent with how python does casting of floats to strings, but may break legacy scripts that didn't explicitly cast to an int before casting to a string.
- BACKWARDS COMPATIBILITY WARNING - Blob Track TOP - The names of the Info CHOP channels have been changed for the blobs and reordered. The column names for the Info DAT have been changed from x/y to u/v as well.
- Delete CHOP - Added new 'Samples' parameter page to delete individual samples in specified ranges.
- Video Device In TOP - Fixed issue which prevented Blackmagic devices being used in some circumstances.
- FBX importing fixed - needs more test cases.
- Doesn't use default transforms anymore, it use the ones at time=0.
- LclRotation doesn't get the pivot information (such as preRotation) baked into it anymore during ConvertAnimation in the 2017 SDK. In 2015 it did.
- Fixed labeling of parameters on some MATs.
- BlackTrax CHOP - Now uses a Mapping Table to map the beacon indices coming from BlackTrax to TouchDesigner indices set by the user.
- Noise CHOP - Fixed crash in timeslice mode when specifying duplicate channel names.
- Movie File Out TOP - bug fixes
- Fixed ALAC audio codec not working correctly.
- Fixed issue with some codecs not having correct frame rates.
- GLSL TOP - improvements.
- Added TD_NUM_COLOR_BUFFERS define.
- Fixed issues with Compute shaders and multiple color buffers.
- CPlusPlus TOP - Fixed multiple color buffers not working correctly.
- If you don't have a middle mouse button, you can press alt+RMB. This was a preference before, but now it is the default.
- Joystick CHOP - Now working in macOS.
- MIDI send messages bumped up to 1024 bytes for now.
- SSAO TOP - Fixed this node being broken for the past few builds.
- Stability and internal improvements.
- Fixed TouchPlayer help links.
- Multi Touch In DAT - Fixed to handle dpi scaling. Use dpi scaled units based on setting for main window or panel window.
- Video Device In TOP - Fixed some issues with Point Grey FlyCapture2 cameras.
- Tablet CHOP - Fixed the issue where Wacom Tablets were not read.
- GLSL MAT - Fixed issue setting index 0 for sampler arrays.
- OpenVR TOP - Fixed bug that broke functionality in 2017.1900 build.
- Par1 = par2, Par.copy(par2) now updates parameters and cloned parameters properly.
- Fixed offline help for macOS.
- Extrude SOP - Added the option to fuse points using Clamp Straight.
- NatNet In CHOP - Upgrade to NatNet SDK 2.10.0
- OpenVR CHOP - Better behavior when working with trackers/controllers only.
- Sync In CHOP - No longer accumulates channels as they change name or are reordered. Also fixed intermittent random flickering values, especially when Sync Out delayed.
- GLSL MAT - Fixed Common page parameters not getting used correctly the first time the node cooks/compiles the shader.
- Parameter COMP - Fixed crash when target operator deleted.
- Movie File In TOP - Fixed crash that can occur when using 'High Performance Read'.
- Ramp TOP - Fixed issue where ramp would not update after moving a tab/key.
- Fixed startup errors in base.toe which is loaded with File -> New.
- Fixed 'Update' indicator for experimental builds (any build number with year.xxxx format) and links to correct location now.
- Non-commercial licenses enabled. Non-Commercial can be used for personal and non-commercial work.
- New setup environment for VR: HTC Vive Development Environment
- Fixed camSchnappr being broken due to recent OpenCV update.
- Fixed alt keystate for alternate characters not working in Field COMPs
- OpenVR CHOP - Can now get controller and sensor information without an active OpenVR TOP. If the OpenVR TOP isn't present in the file, the file won't be throttled to the headsets refresh rate, allowing for sampling these devices are higher rates.
- GLSL TOP - Added 'Matices' uniform page.
- Updated Lister component in UI folder.
- Render TOP - Fish-eye rendering mode now calculates it's depth values differently. The depth values are now based on distance to camera (instead of z-depth) and can be converted back to linear depth using the Depth TOP as well.
- Camera COMP - Fog is now calculated based on distance from camera, not Z-depth. This gives better fog for cases such as fish-eye output.
- ASIO Support for 16,24 bit formats, which include default settings on Dante Virtual Sound Cards.
- After more testing and discussion we've decided not to deprecate int() and float() on a menu parameter objects. Behavior for menu's should now be the same as it was previously and in 088.
- Fixed a number of errors and warnings from casting changes.
- RealSense CHOP - Fixed face landmarks not working.
- toeexpand, toecollapse now supports tox files.
- toecollapse now uses compressed output for smaller output files.
- Improvements to handle some extended ascii characters on macOS.
- New Panel COMP alignment parameters including anchors, offsets and pivots. Existing parameters also reorganized and renamed in some cases.
- Blob Track TOP - Overhauled with upgraded openCV.
- CPlusPlus TOP, CUDA - CUDA is now supported as part of the CPlusPlus TOP, the CUDA TOP should not be used anymore and will be removed soon.
- BlackTrax CHOP (Pro only) - New CHOP supporting BlackTrax UDP messaging protocol, for both unicast and multicast.
- Oculus Rift CHOP - Add support for Oculus Touch Controllers.
- Converting Channel to str will include '.0' in future builds for integer values. Please explicitly cast to int() or float() to control if the decimal portion is always included instead. Feedback on this change is requested, we want to know if this change breaks a lot of existing files.
- Numpy now included as part of TouchDesigner's Python installation again.
- TOP Class .aspect (which is ratio of X/Y as single float).
- New members and methods for Panel COMPs - panelCOMP.x .y .width .height .marginX .marginY .marginWidth .marginHeight .panelRoot .panelParent() .panelChildren
- COMP.extensionsReady - True, unless extensions are compiling.
- Par.menuIndex now supported for custom strMenu, as well as built-in dynamic menus (example Audio device menus).
- Casting a menu parameter to an int or float (instead of using .menuIndex) will now result in a deprecated warning.
- Casting a parameter to an int or float will now give deprecated warning if the parameter is a string that cannot be converted. Previously it would simply return numeric value 0. This is consistent with python behavior.
- Blend CHOP, Lag CHOP - Quaternion Blending no longer requires Commercial or Pro license.
- List COMP - Fixed callbacks when dragging off cells. ( 'Off Cell Callbacks') option.
- Fixed C++ operators failing to load when the custom cook method produced an error.
- Phong MAT, PBR MAT - Fixed instance texture menus being incorrect.
- New preference adds the option of using alt+right-click as an alternative for middle-click.
- Render TOP - Fixed crash that can occur when trying to replace the Camera COMP specified in the Camera parameter when the Camera COMP has been deleted.
- Render TOP - Disable Multi-Camera rendering on AMD for now, driver currently present.
- Phong MAT - Fix bug that caused broken shader when using env mapping.
- Movie File In TOP - Fixed recent bug that caused the entire movie file to be loaded into CPU memory when opening the file.
- Touch Out CHOP - Now re-sends channel name each cook when using UDP formats to ensure names aren't ignored when new clients are connecting.
- OP Viewer TOP - Fixed issues with updating viewer's output.
- Listen/Tap now working in macOS version.
- Fixed startup crash with clones and custom parameters.
- Fixed refresh issue with PanelCOMP.layout* members.
- Fixed recursion from simple panel parent layout expressions.
- Fixed a crash that occurs when mouse-hovering over an export data link where the export source is missing.
- Panels are always 'Fit Best' inside nodes viewers.
- Upgraded 'Storage' features in Component Editor.
- Support for OpenCV features now working again on Windows.
- Some Palette components fixed and/or updated.
- CPlusPlus TOP now works on macOS, updated OpenGL TOP example.
- Moved the user Palette folder to ~/Library/Application Support
- BACKWARDS COMPATIBILITY WARNING - Blob Track TOP - Due to upgrading OpenCV this node been overhauled. Lots of features have been removed, which were hard to use anyways, resulting in a much more straightforward blob tracking setup. Files that use the Blob Track TOP will likely need to have their node's parameters adjusted.
- BACKWARDS COMPATIBILITY WARNING - Casting TD objects (channel, point, vertex, matrix, position) to strings will now always include a decimal portion (1.0 instead of 1). This is more consistent with how python does casting of floats to strings. This causes an error in this build, however in future builds we will reduce it to a warning for a while to ease transition.
- BACKWARDS COMPATIBILITY WARNING - int(par) will not return the index of a menu parameter in the future (just warning right now). Use par.menuIndex
- Render Pick DAT New features for multi-view picking
- Now supports doing more picks in a single render pass on using Multi-Camera Rendering. Results in faster picking, especially for scenes with complex scene-graphs.
- New optional column on the input DAT. The column is named 'camera', and can either specify an index or a path to a Camera COMP. This allows picking to be done from different camera viewpoints than the first camera listed in the Render TOP, as it was previously. If an index is specified it will select one of the cameras listed in the Render TOPs Camera(s) parameter. If a path is specified any Camera COMP can be selected.
- Added 'Custom Pick Camera(s)' parameter which allows specifying multiple cameras to be used for picking that are different than the ones in specified in the Render TOP.
- Render TOP - Can now create cubemaps in a single pass on Pascal/Polaris Nvidia/AMD GPUs.
- Render TOP - Now supports Simultaneous Multi-Projection for Pascal Nvidia GPUs and recent AMD GPUs. This is more general than the Stereo Rendering mode which only works with an X offset for both transform/projection. The cameras can have completely arbitrary transforms and projections. Setting the 'Multi Camera Hint' to 'Automatic' will use this mode when appropriate.
- Video Device In TOP - Added support for 4K capture on Bluefish444 cards
- Video Device Out TOP - Added support for 4K playback on Bluefish444 cards.
- Vertex SOP - Added 4 custom attributes which you can name and use downstream, like in the Render Pick DAT.
- GLSL MAT - Removed legacy functions when working with new World Space Lighting mode.
- Phong MAT, PBR MAT - Fixed output shader not working for rim strength ramps.
- Depth TOP - Fixed linear depth not working correctly.
- Window COMP default for DPI Scaling parameter is now 'Use DPI Scale', not 'Native'.
- Palette Component updates and modifications:
probe(launching properly with Ctrl-p),
sopRender(now with interactive arcBall tumbling),
- Audio Movie CHOP - Fixed crash that can occur in some cases.
- Movie File Out TOP - Fixed Animation codec not working properly.
- Video Device In TOP, Video Device Out TOP - Upgrade to Blackmagic SDK version 10.8.3.
- Video Device Out TOP - Fixed bug where Blackmagic wasn't able to find driver in all cases.
- Render TOP - Will now give a warning if Normal Mapping is being used with a SOP that doesn't have tangents created for it.
- Info CHOP - added 'children_cpu_cook_time' for components.
- CHOP to SOP - optimizations, about 50% faster.
- Fixed broken Point Sprite MAT.
- OP Find DAT - Fixed crashes in when callbacks delete the OPs they are passed.
- Update Point Grey Spinnaker SDK to 126.96.36.1995
- Some export optimizations when loading .toe file, and load progress now displayed in splash screen.
- Geometry viewer settings bug fixed.
- Fixed crash that occurs on startup on some AMD GPUs.
- Splash screen shows loading progress.
- CPlusPlus CHOP now working on macOS version
- Enables loading of appropriately packaged bundles with extension .plugin
- Added Xcode project for existing CPlusPlusCHOPExample
- BACKWARDS COMPATIBILITY WARNING - Camera COMP - The 'Custom Projection GLSL DAT' feature has changed in a non-backwards compaitible way. The shader needs to be updated to work again, changes should be quick though. Check the help for the Camera COMP for more information on the way to do this.
- BACKWARDS COMPATIBILITY WARNING - GLSL shaders exported from the PBR MAT may need to be updated to function correctly. PBR functions are not available in the GLSL TOP if the Lighting Space parameter is set to 'Camera Space'.
- Render TOP - Add support for Nvidia Stereo View Rendering. This allows for more quickly rendering two cameras that only have an X offset between them. Enabled by specifying two cameras in the Render TOP and changing the 'Multi-Camera Hint' parameter. Requires Pascal GPU (Geforce 1000 series, Quadro P-series).
- Point SOP - New custom attributes options.
- Added ability to create integer custom attributes.
- Added ability to create a few more custom attributes per node.
- Render Pick CHOP - Added ability to pick custom attributes.
- Render Pick DAT - New custom attributes options.
- Added ability to pick custom attributes.
- Callbacks now include 'custom', a dictionary of custom attribute values for that event.
- Event CHOP updated funcitons
- createEvent() - now returns id, optional index=0 keyword, optional hold=False keyword, optional samples=None keyword (list of floats)
- releaseEvent(id=None) - (releases an event created with hold=True)
- Preferences Class added .defaults member (dictionary of default values).
- ui.preferences provides access to the application preferences.
- ui.preferences.defaults and ui.preferences.resetToDefaults(), added .save() .load() methods
- panelCOMP.layoutX Y XMargin YMargin
- panelCOMP.layoutWidth .layoutWidthMargin .layoutHeight .layoutHeightMargin
- panelCOMP.layoutRoot .layoutChildren .layoutParent
- Fixed old crash when setting some internal values between floating and string formats (eg. preference for CHOP rgb color)
- GLSL TOP - Fixed recent bug where shaders would not recompile on the first edit of the DAT.
- GLSL TOP - Added example DAT for Compute Shaders.
- CUDA re-enabled on Windows. Upgraded to 8.0.
- Movie File Out TOP - Nvidia H264 encoding is working again.
- Environment Light COMP - Fixed Env Map Rotate not working with Pre-filtered maps.
- Flipped Substance textures on y-axis.
- BACKWARDS COMPATIBILITY WARNING Render TOP - Linear Depth option has been removed. To obtain a linear depth map of your render instead use the Depth TOPs option to rerange the depth buffer to linear values.
- Substance TOP - Loads Substance Designer's .sbsar files creating PBR material textures. The Input Values parameter page exposes all the parameters used in Substance Designer to create and modify the material. This TOP can be directly referenced in the PBR MAT to correctly assign all the textures to the appropriate material maps.
- Substance Select TOP - Selects a single texture from the material loaded in the Substance TOP for further filtering and manipulation in TOPs.
- PBR MAT - The PBR MAT has been upgraded to support Substance Designer .sbsar files through the Substance TOP as well as numerous other PBR rendering improvements.
- Added Ambient Occlusion, Specular, and Height maps and Level parameters.
- Environment lights are now split up into different arrays in GLSL from other lights.
- Environment Light COMP - Added support for prefiltering Environment Maps which results in much faster rendering. However, using an animated Environemnt Map texture (if the input is cooking), is very slow now as a result.
- Cube Map TOP - Added support for horizontal cross cube maps.
- Projection TOP - Added Cube Map output and Equirectangular input.
- GLSL MAT - TDLightingPBR() and TDEnvLightingPBR() parameters have been simplified. If you have a GLSL MAT using these functions you will need to adjust the calls. In particular, ambientOcclusion has been removed from TDLightingPBR(), and camSpaceVert, shadowColor and shadowStrength have been removed from TDEnvLightingPBR().
- Panel Components now include horizontal/vertical stretch weights.
- Backdrop displays (viewers in background of network editor) now placed in alphabetical order.
tdu.collapsePath(path)functions to expand/collapse filenames with
- OpenVR - Upgrade to version 1.0.3
- OpenVR TOP - Workaround SteamVR bug that caused both eyes to show the same texture in some cases.
- Environment Light COMP - Fixed crash when creating a new Environment Light COMP.
- Serial DAT Serial CHOP - Fixed intermittent long delays when activating/de-activing connection.
- Improvements to Point Grey Spinnaker SDK support to handle device exceptions.
- Projection TOP - Fixed issue with Cube Map TOP resolution
- Movie File In TOP - 'Audio Loop' parameter, removed Blend to Start and added Match Start to End which produces a much cleaner transition without pops.
- Audio Movie CHOP - now has an option to include
indexchannel in the output.
- Audio Movie CHOP - now has an option to include
- Noise TOP - Fixed bug where switching between Random (GPU) and other GPU noise types resulted in a solid color as output.
- When opening a file/folder parameter, properly jumps to resolved file location. (paths, variables, etc).
- Selecting a file/folder parameter now collapses it using Project.paths entries
- Movie File In TOP - Add support for luminance-only .exr files.
- PBR MAT - The model used for PBR is getting more streamlined so the way some parameters interact with it has changed and may change more over the next couple of builds.
- Rearrange parameters and major improvements to PBR shader.
- Rename RGB menu to Channel Source, add Channel Source menu to Ambient Occlusion map.
- Environment Light COMP - Add support for equirectangular and polar maps.
- Phong MAT - Fixed bug where environment maps in the scene would break Phong MATs in some cases.
- Timer CHOP now runs about a third faster.
- PBR MAT, Phong MAT - Fixed Advanced Color buffer outputs not working.
- Noise TOP - Fixed monochrome Random (GPU) noise not working.
- Fixed bad loading of sys components when initially un-licenced.
- Environment Light COMP - Remove Environment Map Color, fix functionality of Dimmer and Light Color parameters.
- Serial CHOP - Potential crashes when placing one down.
- Analyze TOP - Fixed crash when placing one down (ie GPU Particles )
- Oculus Audio CHOP - No longer errors if used with FPS set to 90.
- SSAO TOP - Fixed bug that broke this node.
Backward compatibility - Local variables TOUCHVERSION, TOUCHBUILD, TOUCHTIME no longer updated when found in local components. (caused slow load times and stability issues)
Here is a list of Known Issues for macOS version.
- TOPs - Add support for rendering into an 8-bit sRGB encoded buffer. This stores more data for the darker color values so that data is around for future processing, it doesn't not actually brighten/darken the image.
- Syphon Spout In TOP - Spout TOPs renamed to Syphon Spout TOPs. Now work with Syphon on OSX and Spout on Windows.
- Added support for rectangle textures as an FBO attachment.
- OpenColorIO TOP New TOP can be used to apply 3D lookup tables to textures (using the OpenColorIO SDK).
- Added display, view, colorspace, colorspace transform menus.
- Added menu option to lookup precision to automatically grab value in config file.
- Added File and CDL submenus to support their respective OCIO transforms.
- Status reports to Info DAT.
- Video Device In TOP
- Added support for BlueFish444 cards.
- Added support for Point Grey Spinnaker API/SDK.
- IDS color cameras now supported, format IS_COLORMODE_BAYER.
- New channels reported in the Info CHOP - capture_fps, capture_total, frames_repeated, frames_dropped, connection_changes
capture_fpsdrops to zero when frames stop arriving.
frames_repeatedcontinues to climb when camera unplugged.
connection_changesincrements for each camera connected/disconnected. Only implemented for IDS cameras currently.
- Video Device Out TOP
- Added support for BlueFish444 cards.
- Video Stream In TOP - New parameters to control network buffer and queue size, which allows for higher bandwidth H264 playback.
- Touch Out TOP
- Added support for sending HAP Q Alpha images.
- Now supports connections to multiple Touch In TOPs at the same time.
- Screen Grab TOP - new screen grab technique incredibly fast makes fullscreen screengrabs viable in real time on Windows.
- Text TOP value formatting improved - Now the + (plus) flag is supported in addition to - (minus) flag. Example: %+0.83f
- Noise TOP - New 2nd input which allows for specifying custom noise coordinates on a per-pixel basis using an input texture.
- Math TOP Added Multi-Add and Range submenus containing fields similar to the Math CHOP's OP submenu. Added an input and output mask to dictate what channels are used in the combine operation and in which channels the result is stored.
- Cube Map TOP - Able to convert a Cube Map texture back to a 2D texture with a vertical cross of the cube map.
- GLSL TOP - Now supports GLSL Compute shaders.
- CPlusPlus TOP - To avoid GL state issues, the node owns it's own unique OpenGL context which is enabled using beginGLCommands() and endGLCommands() on the 'context' parameter passed into execute(). Older .dll should still work as-is.
- DMX Out CHOP updates
- sACN streaming DMX protocol now supported.
- Added support for sACN multicast.
- Art-Net and sACN now auto increment universe each channel when routing table is not specified.
- Universe 0, 64000-65535 (except 64214) are reserved in sACN. Issue warning when they are being used.
- Added toggle to use custom port for Artnet/sACN, otherwise use the defaults. sACN will start at universe 0 instead of 1 within TouchDesigner.
- Splice CHOP - New CHOP for splicing samples into channels. Supports trimming and inserting of samples.
- Reorder CHOP updates
- Added additional methods to Method parameter and input order reference by index.
- Update Switcher count in Reorder CHOP.
- Sequencer CHOP bought back!
- File In SOP - Now supports loading simple polygonal .obj files.
- FBX Export from SOPs - Added FBX export support for mesh and NURBS from SOP Nodes.
- FBX Import - Added multiple texture coordinate sets support for FBX mesh import.
- Transform SOP - Added more translate options to the post page.
- New PBR MAT for physically based rendering materials.
- Added toggle to enable Parallax Mapping and added an associated Parallax Clamp parameter * Normal Map TOP.
- Added an option to put the heightmap into the alpha channel.
- Phong MAT, PBR MAT - Add support for rotating cube environment map.
- GLSL MAT
- New TDShadow() function which does shadowing based on the light's current setting.
- Added uTDMat.cameraIndex member which is the index of the camera currently being rendered in multi-camera Render TOPs.
- Render Pick DAT - Added 'Extend UV' toggle to allow u,v updates when cursor not directly over object.
- Component Privacy - You can now add password protection to components to make them private (Pro feature).
- Environment Light COMP - new light type for environmental lighting duties.
- Replicator COMP - Added parameter 'Incremental Update' to stagger replication of nodes to avoid large frame drops when creating replicants.
- Window COMP New parameter Size Context: to choose between Contents (Excluding Border) (default) and Window (Including Border)
- RealSense - Added support for SR300 camera.
- RealSense TOP - Added support for Segmented Color Image.
- RealSense CHOP - Added support for person tracking for R200 camera.
- GPU Affinity can now be specified using -gpuformonitor <monitorIndex> which is a more stable way of specifying GPU affinity since GPU indices can sometimes change.
- Support for high DPI monitors
- User Interface can be resize using Windows Display Settings by changing "Size of text, apps and other items" setting.
- Window COMP has high DPI support through a new DPI Scaling parameter.
- Preferences > General now has setting to move incremented save files to a Backup folder ( myFile.1.toe, myFile.2.toe, ... etc.)
- Upgrade to Python 3.5
- Par Class - Par.evalOps() - Evaluates the parameter as series of operators. This is useful for any parameter that specifies a list of operator paths for example.
- Project.saveOsName .saveOsVersion .saveBuild .saveVersion are renamed members to clarify their use.
COMP.isPrivacyActive= True when privacy is active and the component's networks are private. False when privacy is inactive and the contents can be temporarily viewed and edited.
tdu.Dependency()notifies its targets when deleted.
tdu.ArcBall.setTransformto set the current transform of the arcball.
- Par.defaultExpr to get/set custom parameter default expressions.
Par.eval()when casting values to integers.
Project.osname .osversion .build .versionadded.
- Movie File In TOP - Added '
- Video Device In TOP - isConnected member/info channel now set to 0 when IDS Camera lost.
OP.showCustomOnlywill only display custom parameters on dialogs.
- Project Class members: .version
.buildreturns the version, build of the currently loaded toe file.
- Empty python callback functions are no longer called, speeding up some situations.
- Fixed startup errors when drag-dropping components with global shortcuts, causing conflicts.
- Updated camSchnappr, geoPanel, and gal components to address various issues.
- Added support for GLSL 4.40 and 4.50
- Upgrade to GL3.3+
- Convert all shaders from 1.2 GLSL to 3.3
- Fixed crash when panel click command received bad arguments.
- OP Execute DAT - flagChange callback, now includes flag label.
- Fix uninitialized sRGB state that caused displays to seem washed out in some cases.
- Window COMP - 'Open in Separate Window' now resizes, moves, and lays out contents properly each time it is pulsed.
- FBX importing handles layered textures better.
- Audio File In CHOP - File is now be properly unloaded when File parameter is cleared.
- Panels - Layer parameter now supports float values.
- Key Manager dialog updated to show user all licenses and allow the selection of a particular license to create key with.
- Clock CHOP - Fixed several inaccuracies when outputting fractional values.
- Clock CHOP - Fixed issue where entering sleep mode could lag the output values.
- Movie File In TOP - New 'has_decode_errors' Info CHOP channel and hasDecodeErrors Python member. Only functional with Hap codec files currently.
- Fix off-by-one error in Movie File In TOP.
- CPlusPlus TOP, CPlusPlus CHOP - Add the ability to get the texture data from a TOP in CPU memory.
- Movie File In TOP - .png files will now automatically multiply their RGB by Alpha.
- Support for Nvidia SDI solutions has been removed.
- Video Device In TOP - Fixed flickering that can occur when Sync Groups are used and the capture is performing poorly.
- Movie File In TOP
- Fixed issue where non-cycle extend modes would not show the final frame.
- Tiled .exr files that are missing tiles will now open instead of erroring.
- Movie File Out TOP - Possible fix for hangs that can occur when recording multiple movies one after another.
- Movie File Out TOP, Video Stream Out TOP - Upgrade to NvEnc 6.0. Requires Nvidia driver 358.00 or later.
- Circle TOP, Rectangle TOP - Fixed issues where the resolution is getting artificially limited by Non-Commercial license and aspect fraction units were used, resulting in incorrect results.
- RealSense TOP, RealSense CHOP - Upgraded SDK version to 2016 R1, also called R6.
- Video Device In TOP - Upgrade to Blackmagic SDK 10.5.2. Will require Blackmagic Desktop Video 10.5.2 or later to be installed.
- Transform TOP - Behavior of tiling for Zero and Hold extend modes has been made more consistent.
- CHOP export conflict resolution improved
- Conflicts automatically resolved by disabling specific row in the Export DAT Table (no more confusing dialog, re-introduced the 'enable' column in DATs to control specific rows). Previously it simply turned off an export flag.
- Automatically disabling the last export row will turn off export flag
- Toggling export flag back on will enable all rows, if they are all off.
- Cutting & pasting node keeps original node export, not pasted node.
- Fixed cases where export connections lost when using 'DAT Table by Name' and channel names changed during bypass/error etc.
- Fixed export conflict behaviour by deleting row from CHOP table again, instead of turning off export flag.
- Fixed issues with automatically re-creating missing export tables when dragging-dropping CHOP channels.
- Timer CHOP - Fixed off-by-one error in running total values.
- Beat CHOP - Playmode now defaults to 'Local Sequential' to avoid frame 1 skips.
- Fixed flickering CHOP viewer horizontal axis labels.
- Fix off-by-one error with sACN, zero out unused bytes for both ArtNet and sACN
- Added an active parameter which sets output to 0 or black, when deactivated for Leap Motion CHOP RealSense CHOP Kinect CHOP Leap Motion TOP RealSense TOP Kinect TOP
- Modified the behaviour of LeapMotion CHOP so that it outputs 0 values in channels when not tracking.
- Parameter CHOP now outputs single framed pulses when pulse-type parameters are fetched, not their constant evaluation value.
- Upgraded to FTDI Driver version 2.12.16 (Used in DMX In/Out CHOPs).
- In CHOP no longer cooks its default input when component input attached.
- LFO CHOP - Fixed it becoming stuck with bad output when input octave control too high (-127 to 127).
- Oculus Audio CHOP - Upgrade to SDK version 1.0.1.
- OpenVR CHOP - Add ability to output debug channels.
- RealSense CHOP - Will now always output selected feature channels, even if no device is present.
- Polyloft SOP - Fixed crash when wrapping u/v without specifying groups.
- Group SOP fixed crash when renaming non-existent group.
- PBR MAT - Updated default values for metalness, roughness, reflectance parameters.
- Phong MAT - Fixed Diffuse/Specular Map color buffer output not working if diffuse/specular color is 0.
- Added 'Shared Connection' parameter to Network DATs OSC In DAT OSC Out DAT TCP/IP DAT TUIO In DAT Touch In DAT Touch Out DAT UDP In DAT UDP Out DAT UDT In DAT UDT Out DAT
- Execute DAT now has 'deviceChange' callback to monitor when devices are plugged/unplugged.
- Fixed cook loop errors in Web DAT WebSocket DAT Peer Class callbacks.
- OP Find DAT fixed crashes in some cases when using OP depth value.
- Fixed a case where running multiple table Cells was causing them all to execute the first cell's content.
- OP Execute DAT pathChange callback sets operator argument properly instead of None.
- Network DATs now give a warning when bytes are being held waiting for an end of line terminator, avoiding common issues during setup.
- Replicator COMP setting 'Maximum Opertors' to 0 now results in 0 replicants, not 1.
- Window COMP - Changed Cursor Visible to have states: Never, When Moving, and Always. Internal window changed to support all 3, with panel and viewers opening defaulting to When Moving (currently can't be set), and all other windows to default to Always visible.
- COMP operators now include list of clones in popup info.
- 'Enable Cloning' now used at the master level to control if cloned objects stay in sync or not.
- Fixed case where custom parameters were not being updated properly in cloned components, inside of clones.
- List COMP - Fixed unresponsive UI after clicking list with zero rows.
- MIDI devices now recognized when plugged in *after* starting TouchDesigner. If device is unplugged and replugged, tscript 'midi -r' will reconnect all devices.
- MIDI OPs receive data when devices, unplugged, replugged.
- MIDI OPs now reconnect, after unplugging, replugging automatically.
- Cutting & pasting OPs or panes no longer affects interior digits in their name. 'a3D' becomes 'a3D1', 'a3D2'.., not 'a4D', 'a5D'..
- New sample movies in application installation folder /Map/Nature.
- Fixed bug where mesh specific Geometric Offset/Transforms were not imported correctly in .fbx files.
- Setting a menu parameter to a float now supported. No longer need to explicitly cast to int.
- Crash fix when parameters are rebuilt in some cases.
- Fixed cooking dependencies for OP.pars() expression.
- Extended ascii dash characters are now accepted for command line startup options such as -gpuformonitor.
- PythonExamples.toe updated to new syntax.
- Fixed error in which copying an operator in script would cause its storage items to be shared by both operators, instead of unique references, as happens when cutting & pasting or loading from file.
- Fixed 'NoneType' has no attribute errors, when accessing OPs with broken extensions.
- Popup warning when user sets $TEMP to an invalid folder path.
- Renaming a parent of an operator will now cause nodes looking at that operator to recook.
- Fixed connection issue with external tox's to multi-input operators.
- Pressing 'h' (Home All) over a SOP or Geometry viewer will keep the scene automatically homed, until manually re-positioned with the mouse. Likewise 'f' (Frame All) will keep it framed. Rotating a homed object will continue keeping it in frame.
- Fixed TUIK Color picker knob values not being restored.
- Crash fixed for 3D Geometry Viewer panes when nodes deleted.
- BACKWARDS COMPATIBILITY WARNING - GLSL TOP - Due to upgrading OpenGL version, alpha-only textures behave differently. Shaders must now call TDOutputSwizzle() on their output vec4 to place the color channels in the correct spots for the particular internal texture format that is being used.
- BACKWARDS COMPATIBILITY WARNING - Modern GL/macOS does not support the implicit GL Alpha Test ('Discard Pixels Based on Alpha' in the MATs). GLSL 3.30+ shaders need to have the new line TDAlphaTest(<yourAlphaValue>); in their shader to support this feature now. Alpha test will not be functional if this line is missing from GLSL shaders.
- BACKWARDS COMPATIBILITY WARNING - Text TOP - Now handles aspect ratios that differ from the resolution's aspect ratio better. Text TOP behavior may have changed for nodes that were already in this state.
- BACKWARDS COMPATIBILITY WARNING - Resample CHOP - Fixed output range when method set to 'New Rate, Same Time Range'. When total number of samples decreases, don't use cubic, use linear. Output range may be slightly different in this mode.
- BACKWARDS COMPATIBILITY WARNING - Better unique IDS menu name/label formats. Possibility that Audio Video In menus may need to be reset in systems with multiple IDS cameras.
- BACKWARDS COMPATIBILITY WARNING - Fixed jumping animation output on segment edges that depended on overall length. Animation Component Output may give slightly different output curves.
- BACKWARDS COMPATIBILITY WARNING - project.paths is now an ordered dictionary, doing a full substitution on each file parameter prefix. project.paths now requires full uri syntax for each key. Example 'MOVIES://' instead of 'MOVIES'
- BACKWARDS COMPATIBILITY WARNING - Select CHOP - Fixed some issues where duplicate channels names could be created with this node by specifying the same channels multiple times in the 'Channel Names' parameter.
- BACKWARDS COMPATIBILITY WARNING - The -gpu startup option has been removed. Use -gpuformonitor instead, which takes a monitor index instead of GPU index.
- BACKWARDS COMPATIBILITY WARNING - Monitors are now ordered from left to right, bottom to top in the Monitors DAT and for usage in the Window COMP, instead of left to right, top to bottom as they were previously.
A built-in panel in TouchDesigner that contains a library of components and media that can be dragged-dropped into a TouchDesigner network.
An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.
Any of the procedural data operators. OPs do all the work in TouchDesigner. They "cook" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.
An Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.
The Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.
The panel at the bottom of TouchDesigner, it controls the current Time of the full system or just one component.
The operating system's holder of files and other folders (directories). It does not refer to operators within TouchDesigner. See Network Path.
OP Snippets is a set of numerous examples of TouchDesigner operators, which you access via the Help menu. These can be copied/pasted into your projects.
(1) A Geometry Component can render its SOP geometry many times using CHOP samples, (2) an OP that doesn't actually have its own data, but rather just refers to an OP (or has an input) whose data it uses. This includes Null OPs, Select OPs and Switch OPs.
A frame within the Animation component which holds a channel value, slope, acceleration and interpolation type, used to determine the values of the channel which are not keyframes.
TOuch Environment file, the file type used by TouchDesigner to save your project.
Mode where the network editing window is not open, your performance interface window(s) is open and you are running your application as fast as possible. See Designer Mode.
A dialog box in which commands and scripts can entered manually. Script errors and python
print() messages are also output to the textport.
In the node viewers of Geometry COMPs and SOPs, the Adaptive Homing option will continually keep in-view the 3D geometry being displayed, even when the geometry changes shape, size and animated position.
There are four types of shortcuts: Application Shortcuts that are built-in to TouchDesigner's authoring interface, Panel Shortcuts that you create for any custom built panels, Parent Shortcuts for accessing a component from within that component, and Global OP Shortcuts that access a unique component from anywhere in TouchDesigner.
An Operator Family that associates a shader with a SOP or Geometry Object for rendering textured and lit objects.
(1) The TouchDesigner window is made of a menu bar at the top, a Timeline at the bottom, plus one of a choice of Layouts in the middle. A Layout is made on one or more Panes, each Pane can contain a Network Editor, Viewer, Panel, etc. See Pane and Bookmark. (2) Nodes in a network are arranged using Layout commands in the RMB menu.
The term "Frame" is used (1) in the Timeline, (2) as a time-unit in CHOPs, (3) as a time-unit in TOPs, and (4) with movies images which are read and created with TOPs.
TouchDesigner is a hierarchy of components. "root" is the top-most network in the hierarchy. The Path is simply
/. A typical path is
Each SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.
Storage is a python dictionary associated with any operator, used to keep user-specified data within the operator.
A 3D image created with the Render TOP. Also used more generally to include the compositing (with TOPs) to generate an output image.
Exporting is the connection of CHOP channels to parameters of operators. The output of each exporting CHOP is one or more channels, active only while the CHOP Viewer is on. The current value of a channel can be exported to a parameter of any operator, overriding that parameter's value. See Parameter.
is the procedural mechanism in TouchDesigner, where if one piece of data changes, it automatically causes other operators and expressions to re-cook.
TouchDesigner User Interface Kit - A collection of User Interface components.