Close

2019.36500

Parameter UI Improvements, Kinect Azure SDK Update, Palette Updates, macOS Shared Memory OPs enabled, numerous 'Backwards Compatibility' changes.
Release Notes 
Jan 17, 2020
New Features
  • Parameter UI Improvements - Previously some parameters were a list of duplicates when multiple copies of that parameter might be used. Examples of this are the GLSL MAT's 'Uniform' parameters (8 copies), a Component's 'Extension' parameters (4 copies), a Constant CHOP's channel creation parameters (40 copies), etc. Now these parameters start out with just 1 copy of the parameter and you can Add or Remove parameters when needed. This has the following advantages:
    • Cleans up long lists of the same parameter that might not be used. For example, the GLSL MAT's Sampler pages would always have 8 Uniform parameters, even when not used. Now it starts with 1 and you can add the number you need.
    • Cleans up duplicate parameter pages on some OPs. For example, the GLSL MAT previous had 'Samplers 1' and 'Samplers 2' pages just to get 16 Uniform parameters. Duplicate pages are no longer needed so now there is only one 'Samplers' page where you can add the exact number of Uniform parameters required.
    • Removes the limit on the number of parameters available. For example, the Constant CHOP used to be limited to 40 channel parameters, the Point SOP used to be limited to 4 'Custom Attrib' parameters, these are no longer limited as you can create any number of parameters required (NOTE: some are limited by other factors such as limited GPU resources).
  • Kinect Azure CHOP added features and improvements. As the Microsoft Kinect Azure SDK is in beta and changing rapidly, we will continue to upgrade to the latest to offer the most up to date features.
    • Upgraded to version 0.9.5 of the body tracking library.
    • Added support for multiple body tracking devices on one computer.
    • Added parameter to control which GPU computes the body tracking and added a function to get the physical GPU name (Nvidia GPU only).
    • Added multi-threaded CPU support for body tracking (in cases where the Nvidia CUDA GPU tracking can't be used).
    • Corrected spelling of "naval" bone to "navel".
  • Shared Memory OPs - Now working on macOS.
  • Geometry COMP - Instance can now have a maximum of 12 Custom Attributes instances, up from 4 previously.
  • Camera COMP - Added 'Ortho Origin' parameter to control where the origin in for orthographic cameras. Useful when trying to render objects into a normalized space usable for things such as LED fixtures and you want to address the render output with 0,0 being the bottom left.
  • Point SOP - Added "Width (Line MAT)" parameter to control a point's width when rendered with a Line MAT material.
  • Line MAT - New features
    • Added "Attribute Type" menu and "Instance Custom Attribute Index" parameter to use an instance's custom attributes in SOP and World spaces for Vectors.
    • Added "Pullback Caps" to the Caps page to pull the caps inward.
  • Video Device In TOP - Ximea cameras now report a temperature via the Info CHOP.
  • Perform DAT - Added callback for when performance log is triggered. Made it log on successive triggers while it is active.
  • Web Server DAT - Added onWebSocketReceivePing() and onWebSocketReceivePong() callbacks.
  • WebSocket DAT - Added onConnect() and onDisconnect() callbacks.
  • Math TOP - Added "Linear to sRGB" and "sRGB to Linear" options.
  • Notch TOP - BACKWARDS COMPATIBILITY - Changed 'Reload Block' to be an 'Active' parameter. When Active = Off, the block is unloaded allowing changes to be applied to the block (.dfxdll file) such as updating or re-saving the block.
  • Ouster TOP - BACKWARDS COMPATIBILITY - Updated commands to work with protocol changes in the v1.13 firmware. Configuration will no longer work correctly on hardware with older firmware. By default, Ouster now sends lidar data to the IP address where the configuration commands came from. Requires Ouster v1.13 firmware.
  • Cube Map TOP - BACKWARDS COMPATIBILITY ISSUE - Building a cubemap from 6 inputs on the Cube Map TOP was flipping many of the sides incorrectly. This has been fixed, but older files may have incorrect cubemaps now if they were working around the flipped behavior.
  • Add SOP - BACKWARDS COMPATIBILITY - Removed per point 'Use' toggles, now a single 'Add Points' toggle controls using of all defined points.
  • Expression CHOP - 'Number of Expressions' parameter removed, now based on size of sequence. BACKWARD COMPATIBILITY - Issue if this value is dynamically changed.
  • Line MAT - BACKWARDS COMPATIBILITY - Removed "num Point" in Points page, replaced with "Num Points In Circle" which controls the number of points in a full circle for circles, round joints, and round caps (NOTE: based on what the hardware supports).
New Palette
  • Palette:kantanMapper - Fixed a number of bugs.
    • Alpha on rectangle textures was not being used.
  • arcBallCamera component improvements
    • The last transform is saved in the component and loaded when the file is reopened.
    • SaveTransform(dat=None, matrix=None) - Extension method allows for saving out transform states to DATs or matrices.
    • LoadTransform(dat=None, matrix=None) - Extension method allows for loading transform states into the arcBallCamera.
  • arcBallGeometry component improvements
    • The last transform is saved in the component and loaded when the file is reopened.
    • SaveTransform(dat=None, matrix=None) - Extension method allows for saving out transform states to DATs or matrices.
    • LoadTransform(dat=None, matrix=None) - Extension method allows for loading transform states into the arcBallGeometry.
  • Widgets updated with numerous improvements and bug fixes from your feedback.
  • Palette:lister - Version 1.8 with many improvements.
    • Now has 'Arrow Keys' parameter that allows selection control from the keyboard.
    • New parameter 'Input Table Has Headers' lets lister understand input table DAT much better
    • New Parameter 'Auto-Sync Input Table' feeds changes back to DAT (Available in 'Input Table Has Headers' mode only)
    • Parameter 'Raw Info' is now a list of ordered dicts (Available in 'Input Table Has Headers' mode only)
    • int and float sourceDataModes now force their data type when text is entered into lister cells
    • Column name now returned in info for cell callbacks
    • Config is now outside the lister (still works inside if you want to put it back and turn clone immune on)
    • Rearrange parameters more sensibly
New Python
  • TDJSON updated and bugs fixed.
    • Added a deserializer TDData function to TDJSON.
  • Par.cloneImmune - Protects values from master syncing.
  • Par Class help - Returns the description for the parameter.
  • KinectazureTOP Class.getRemapTransform(src, target) - Returns the transformation matrix to remap points between different devices spaces.
  • moviefileinTOP Class.sourceChannels - lists the available channels in the file e.g. R, G, B, A for typical color images, but could be more for some formats like .exr files. Extra available channels can be accessed using the Point File In TOP and Point File Select TOP.
  • moviefileinTOP Class.isFileOpening returns true while the file header is still being read.
  • windowCOMP Class - setForeground(), add code that will try to grab focus for this Window even if TouchDesigner isn't the current foreground app.
  • ArcBall_Class - setTransform() will now invert the incoming matrix if 'forCamera' mode is in use. This allows the same transform coming out of getTransform() to be passed back into setTransform().
  • WebserverDAT Class - Added webSocketSendPing() and webSocketSendPong() methods.
  • Sequence Class - describes a set of sequential parameter blocks. These are parameters you can add/remove duplicates of, such as the Point SOP's 'Custom Attrib' parameter(s) or the GLSL TOP's 'Uniform Name' parameters.
Bug Fixes and Improvements
  • macOS - Minimum required version is now 10.12 macOS Sierra.
  • NDI - Upgraded to NDI 4.1
  • OpenColorIO TOP - Upgrade SDK to v1.1.1
  • RealSense - Upgraded to 2.31.0. The is reported to fix the memory leak (Windows only).
  • Blur TOP - Fixed issues with this node not giving correct blur for non-square images.
  • CHOP to TOP - Enabled 'Custom Resolution' options to specify specifc resolutions of the TOP.
  • Notch TOP - Fixed transform conversion of exposed transform parameters.
  • Kinect Azure TOP - Fixed a bug that caused the player index map to flicker with multiple players.
  • Kinect Azure TOP - Fixed a bug that showed the color camera instead of the IR camera.
  • Kinect Azure TOP - Fixed bugs when using multiple cameras in master/subordinate modes.
  • Point File In TOP - Changed channel loading priority for EXRs so that XYZ is loaded before RGB if no channel order is defined.
  • Point File In TOP - Added .fits (FITS) and .ply file support for macOS.
  • Movie File Out TOP - Added toggle to flag .exr files as containing point cloud data when saved so that they can be loaded directly into the Point File In TOP.
  • Point File In TOP - .exr files will now open in the Point File In TOP when dragging and dropping into the network editor if they contain the 'loadAsPoints=true' header.
  • Limit TOP - Added support for independent minimum and maximum functions.
  • Limit TOP - Output is set to the middle of the normalize range when the input is a constant value.
  • GLSL MATGLSL TOP - Fixed issue where 'vec3' modes for the 'Arrays' page were not working correctly.
  • Line MAT - Improvements
    • Added "Circle (Sprite)" type to points for better performance when using circles.
    • Renamed "Circle" and "Circle Texture" Point types to "Circle (Polygon)" and "Circle (Sprite)".
    • Fixed Points not rendering if they had normals (0,0,0).
    • Picking points should now work correctly.
  • Environment Light COMP - Fixed some seams that can occur at certain PBR roughness values.
  • Environment Light COMP - Remove ability to provide Pre-filtered Diffuse map for now, it uses up too many texture units. It will be computed from the source Environment Map instead.
  • Actor COMP - Fixed texture instancing crash.
  • Blend COMP - Fixed rotation blending not working in some cases when 3 or more inputs were connected.
  • Audio Oscillator CHOP - Fixed the Reset input only resetting based on the first channel.
  • Transform CHOP - Fixed backwards compatibility issue with output selection.
  • Transform CHOP - Fixed loading issue for files coming from older builds if the 'Invert' parameter was used.
  • Join CHOP - Fixed this node not giving correct results.
  • Timer CHOP - Fixed auto start when onInitialize() callback returns delayed initialize.
  • Timer CHOP - Force a ready pulse whenever start is re-pulsed.
  • Alembic SOP - Added 'FPS' parameter.
  • Folder DAT - Fixed case where relative path results were incorrect when the 'Root Folder' parameter had trailing slashes in it.
  • Sort DAT - Unique output optimized: 3000 rows from 2 sec to 10 msec.
  • Web Server DAT - Improved cook times for WebSockets.
  • Binding - Fixed bound OP parameters with relative paths such that they return the OP relative to the Master, not themselves.
  • Binding - Fixed CHOP pickup not working when driven from the destination.
  • Binding - Fixed recently broken binding to DAT cells.
  • Fixed drag-n-drop of multiple nodes not executing onCreate() scripts in reliable order.
  • Fixed 'Children Cook Times' not updating in the middle click pop-up info on COMPs.
  • Fixed slow memory leak when using ipar expressions.
  • Fixed crash when repeatedly deleting complex components.
  • MIDI Mapper Dialog - Fixed "Enable Logging" option not turning off and continuing to log and cook in Perform Mode.
  • Optimized Expressions - Better support for 64-bit integers.
  • Improved handling of menus that are too large for a dialog; For example, the Font parameter menu of a Text TOP when using a floating parameter dialog.
BACKWARDS COMPATIBILITY
  • BACKWARDS COMPATIBILITY - Notch TOP - Changed 'Reload Block' to be an 'Active' parameter. When Active = Off, the block is unloaded allowing changes to be applied to the block (.dfxdll file) such as updating or re-saving the block.
  • BACKWARDS COMPATIBILITY - Ouster TOP - Updated commands to work with protocol changes in the v1.13 firmware. Configuration will no longer work correctly on hardware with older firmware.
  • BACKWARDS COMPATIBILITY ISSUE - Cube Map TOP - Building a cubemap from 6 inputs on the Cube Map TOP was flipping many of the sides incorrectly. This has been fixed, but older files may have incorrect cubemaps now if they were working around the flipped behavior.
  • BACKWARDS COMPATIBILITY - Add SOP - Now a single 'Add Points' toggle controls using of all defined points.
  • BACKWARDS COMPATIBILITY - Expression CHOP - 'Number of Expressions' parameter, could cause an issue if this value is dynamically changed.
  • BACKWARDS COMPATIBILITY - Line MAT - Removed "num Point" in Points page. Replaced with "Num Points In Circle" which controls the number of points in a full circle for circles, round joints, and round caps (based on what the hardware supports).
  • BACKWARDS COMPATIBILITY OSC In CHOPOSC Out CHOPTouch In CHOPTouch Out CHOPOSC In DATOSC Out DATTouch In DATTouch Out DATStype CHOP - Removed support for UDT protocol.