Designer Release Notes
8.2025.3 (8.D.4.1)
2025-Dec-31
New Features
-
Added Subcanvas module feature, which enables the encapsulation of .awb's inside a module. See Designer documentation for more details
-
Created preset groups and preset fields for all module variables. Added a Preset Editor tool in Designer to create, apply, and save presets
-
Introduced System Clock Source section in Layout Properties menu to show the current systems I/O properties
Enhancements
-
Updated Generate Target Files menu to include AWC file generation
-
Increased the amount of logging printed in the Messages tab of AWE_Server
-
Updated profiling to display per thread CPU load when core affinity is set on the target
-
Created the ability to access matlab module arguments with M.argument.
syntax. The original syntax using M.constructorArgs{i} is still supported -
Added a field in AWE_Server Preferences menu to change the Native target's fundamental block size
-
Made alignment of arguments and arrays more consistent in the Module Properties view
-
Improved error and warning messages in matlab
Bug Fixes
-
Fixed some incorrect memory profiling issues, especially in multi-instance systems
-
Fixed an issue in peak profiling when number of layouts exceeded the number of samples being collected, or if profiling non-contiguous instances
-
Fixed an issue where an error occurring during a postbuild call could cause it to be skipped in subsequent builds
-
Removed call to postbuild from Attach to Running Target for classic builds. It could result in overwriting values on the target
-
Fixed issue where Attach to Running Target could show stale target information in profiling results
-
Fixed a problem with Navigate Up not always going to the direct parent subsystem
-
Updated Designer to ignore clock dividers on virtual modules to avoid erroneous 'too many threads' build errors
-
Fixed an issue with feedback wires when used in an matlab subsystem module and hierarchical builds
-
Fixed some issues with feedback wires not inheriting data type and clock divider properly for Hierarchical builds
-
Corrected the behavior of copy paste of feedback wire properties so connections point to valid modules
-
Improved robustness of loading a layout with a missing module. It could lead to the layout being uneditable
-
Fixed Revert to Subsystem action on RUS so that wires do not disappear
-
Fixed ability to open an AWD containing a RUS when that RUS has changed its I/O pin count
-
Destroy after Attach to Running Target no longer freezes the canvas when a subsystem output is directly connected to HW output pin
-
Fixed a number of corner cases when using objectAlias names that could lead to name conflicts or stale names
-
Fixed an issue with Native target where latency across multiple threads may not be consistent
-
Now allowing range information for module variables to be updated during load time
-
Improved the compatibility of matlab modules by allowing reordering of the module arguments
-
Corrected evaluation of a comma separated list of arguments when some of the arguments are layout variables
-
Propagate changes now updates layout variables if the hw input pin properties have changed
-
Allocation priority is now being persisted for CRUS modules
-
Added ChangeThreadV2 to the CRUS exclusion list
-
Fixed an issue with generating CRUS that have no input pin
-
Fixed an issue while creating a CRUS with a user inspector control that points to a Debug module. This control is now automatically removed during CRUS generation
-
Corrected the behavior of copy/cut pasting a module that was being controlled by a StatuSet type of module. It was previously causing an error
-
Changed the default behavior of 'isRangeEditable' for module variables and arrays to true. This will take effect after modules are regenerated
-
Added a matlab process function to the scaler_module_interpreted example module
-
Updated the FrameDll.lib used by custom module packs in installed editions to be up to date
-
Aligned AWJ saving from Designer and matlab scripts so that output AWJs will be identical
-
Fixed warning message thrown when a module pack's classid.csv is missing
-
Removed duplicate find_module matlab function and replaced all usage with equivalent get_module
-
Cleaned up usage and behavior of classid_lookup changed create_module_by_id function to create_module_by_mfile_name
-
Added support for 'uint' data types in generate_mfile.m script
-
Fixed a bug with resaving existing Inspector Groups after moving their positions
-
Updated search path in matlab framework to look in matlab path last instead of first
-
Made sure that AudioWeaver/matlab path is included in search path when using Custom Module Wizard
-
Added a error message if trying to open Global Preferences if AWE_Server is not running
-
Added a progress bar to AWD saving when the AWD version is being updated
-
Fixed fract32 filter checkbox in the module palette. It was not filtering fract32 modules correctly
-
Fixed issue where hierarchical builds could share the input wire buffer potentially causing wire memory corruption
AWE Designer 8.2025.2.A
2025-Aug
Bug Fixes
- Fixed an issue with TypeConversion modules, where if they changed to/from different bit width sample types, the wire could be erroneously shared
AWE Designer 8.2025.2
2025-Jun
New Features
-
Designer Installers now include the BuildFlash executable, which can be used to generate .bins to store files in flash memory
-
Added new hotkeys for profiling in Designer, and improved documentation of existing hotkeys
-
Added support for fract16 wires and module variables
Enhancements
-
Reduced the time it takes to delete, cut, or rename modules in large systems
-
Added support for matlab subsystem modules to be interpreted
-
Made matlab startup code more robust, including no longer failing if TaskList is not available on the system
-
Added more logging and error checking in AWE_Server and Designer launching code
-
Improved consistency of display of floating point values in module properties, and no longer truncate array values will loading/storing from .csv
-
DateTime module now shows date and time in hexadecimal
-
Commas are now supported in module arguments
Bug Fixes
-
Fixed an issue with profiling being incorrect on multi-instance targets when tuning master instance is > 0
-
Added support for correctly profiling memory usage for modules that allocate memory in Set functions
-
Fixed error when doing manual profiling of a layout that contains an empty subsystem
-
Fixed a failure with freshly loaded layouts and Attach to Running target
-
Generating target files will now only delete the files exactly matching the names of the newly generated files
-
Hierarchical builds now generate custom objectID set commands in target files
-
Adding a new HW pin will now mark the system as modified
-
Fixed an issue in the search bar where certain search strings were causing the results to be incorrectly indexed
-
Cleaned up the formatting of certain warnings and errors for better readability
-
MHz column in profiling results no longer shows results in scientific notation
-
Fixed an issue with renaming subsystems if a similarly named subsystem is already opened
-
Improved error message for a missing layout variable to include the module using it
-
No longer redrawing the canvas between design and run mode
-
Corrected the CPU load calculation in AWE_Server by applying clockDivider factor
-
Removed opening of About dialog when Standard Designer is first launched
-
Removed the 'x' box on the progress bar while building a layout. This action cannot be canceled
-
Generating ModuleList.h for multi-instance targets will now only create .h file for instances that are used in the layout
-
No longer showing the assign objectID right-click option for virtual modules
-
Fixed saving array values to .csv for complex numbers
-
Fixed an issue with reverting a RUS to subsystem when the RUS was created with an old Designer version
-
Error is now properly generated if creating a RUS from a subsystem that already contains a RUS
-
Fixed issues with FeedbackSettings module that were causing spurious build errors
-
Usage of StatusSetV2 will now always correctly set the 'controlled by' field for target modules
-
Fixed issue with converting a subsystem with controlling modules (e.g. StatusSetV2) in the subsystem
-
Improved installers by allowing them to be run twice without corrupting DLL registration scripts
-
Updated AWJ JSON schema 3.3 for missing entries and inconsistent data types
Misc
- Removed PyAweCore from Designer installers. To get access to this package, contact DSPC support
AWE Designer 8.2025.1
2025-MARCH
New Features
-
New Hierarchical build engine can lead to faster build times and more control over layout
-
Improved functionality of Designer search bar, and added support for keywords. See Designer documentation for more details
-
Added 'Go To' module option in right click menu for controlling modules (ParamSet, etc.) and the modules they are controlling
-
Added 'Copy Name' right click menu option for copying module names
Enhancements
-
Right-click menu will now have a submenu for opening each inspector panel in a subsystem if there are more than one
-
Improved a variety of inspector display issues
-
Added support for unicode text in annotations
-
Improved handling and searching of audio input files in Layout Properties
-
Sped up load/save time for AWJ by ignoring obsolete connection array
Bug Fixes
-
Fixed issue where layouts with missing CRUSs were failing to load
-
Fixed and added clarity to error message when creating a CRUS with inspectors that targeted matlab subsystem modules
-
Corrected the heap size reported for CRUSs in profiling results
-
Fixed bug where CRUS with more output pins than inputs would incorrectly share output wires
-
CRUS inspector panels now copy all control settings (colors, fonts, etc.) from original subsystem
-
Fixed potential crash issue in AWE_Server Native target when profiling was disabled
-
Fixed issues with handling binary port packages in AWE_Server for multi-instance Native target
-
Fixed drawing of CPU threads in AWE_Server to use the full width of the window
-
Improved robustness of Convert to Subsystem tool to prevent Designer freezing
-
Now only send a Set command for module vars of type 'parameter' when opening module inspector
-
Fixed problem with setting module parameters from the module properties tab during runtime when minimize target read/write option is set to true
-
Fixed issue with right-click Help option for interpreted modules in module browser
-
Checking for missing modules in subsystems is now done on the correct instance
-
Resolved a routing error that was incorrectly reusing wires for unterminated and terminated module output pins
-
Fixed loading layout by dragging and dropping from a folder when the layout name contains special characters
-
Removed checking for valid ranges on subsystem input pins, which was causing issues in corrupted layouts
-
Fixed some issues with preserving channel names when converting to subsystem or deleting/undoing
-
Fixed issues with loading and saving module states in AWJs
-
Fixed issue with loading and saving module const variables in AWJs
-
Preventing corruption of annotations in AWJs, and also more robustly loading AWJ if there is corruption
-
Doing a Save As on an AWJ file will now default to AWJ save file type
-
Fixed layout loading progress bar to say 'AWJ' when loading an AWJ
-
Canvas size is now persisted when it is changed due to copying
-
Added calls to the matlab module PrepareToSave function when saving layout
-
Fixed issue when modules in layout are not found on the system not fully deleting them from the layout
-
Fixed issue with loading layouts that had an empty inspector panel
-
Fixed hierarchical build using inspectors with non-zero instanceId
-
AWDs marked in windows as read-only files will now not be savable in Designer
-
Fixed issue with using layout variables in ChangeThread module
-
Scaler inspector will now properly show dB or linear based on module settings
-
Fixed error message for pins being on different threads to show entire message
-
Fixed Sink inspectors so scalar values are not truncated
-
Improved message for insufficient threads error to state which instance the problem is on
-
Improved error message for feedback wires that transcend instanceId
-
Fixed some comments in generated _ControlInterface.h files
-
Fixed help text for awe_version matlab function
AWE Designer 8.D.2.7
2024-DECEMBER
New Features
-
Added option in Generate Target Files to split multi-instance layouts into multiple AWBs to support Progressive Loading
-
Added support for 2M, 3M, and 6M baud rates for RS232 targets in AWE_Server
-
Added ability to copy/paste wire information like names and delays between wires in Designer
Enhancements
-
Increased the maximum binary message length from 1024 to 4096 to support larger tuning messages
-
Missing modules in subsystem modules are now checked at the beginning of builds
-
Improved application of layout variables at build time to avoid unnecessary updates for unchanged variables
-
Version overwrite save warning dialog now only pops up first time saving layout with new version
-
Improved handling of copying modules with objectIds defined
Bug Fixes
-
Updated uninstallers to no longer deregister AWETalkToGUI COM Server, and improved error messaging for this issue
-
Fixed Pro Designer launching with MATLAB 2024a and later
-
Fixed compatibility issue with loading complex numbers in AWDs
-
Fixed potential subsystem pin corruption in AWJ's when changing input pin data type
-
Corrected saving and loading of channel delays in AWJ
-
Fixed saving and loading measurements in AWJ files
-
Improved saved information in AWJs to better support range definitions
-
Corrected error message when opening a corrupted AWJ file
-
Fixed issue with AWJ files containing empty subsystems
-
Fixed problem creating CRUS from subsystems containing multiple inspector panels
-
Fixed loading layouts containing a RUS or CRUS that is not found on the module path
-
Fixed loading layouts containing non-English characters
-
Fixed issue with feedback wires being set on subsystem output pins
-
Fixed issue with intermediate files not being deleted when interpreted module execution fails
-
Fixed issue in error dialog where block size range was printing junk characters
-
Corrected heap allocation failure error message
-
Fixed issue with channel name propagation into Router inspectors
-
Custom channel names are now retained when changing number of input pins on downstream module
-
Fixed some alignment issues in module inspectors, and added labels for event button inspectors
-
Fixed crash issue when executing an AWS from AWE_Server while an inspector is open in Designer
-
Fixed potential CPU % load difference between Server and Designer profiling for some multi-instance layouts
-
Fixed wire memory profiling when using Bind First build option
-
Fixed potential hang in Tuning Interface test with slow connections
-
Clarified that biquads used in Tuning Interface test tool are stereo
-
Fixed dialog cutoff issue in About dialog in Designer
-
Updated ASIO device menu button to say 'Close' instead of 'Cancel'
-
Made it clear in AWE_Server preferences that heap sizes are defined per instance for native target
-
Fixed issue with .tsf file ignoring the override InstanceId field in Generate Target Files
-
Fixed rounding issue in displaying integer values in module documentation
-
Fixed Fader example module tests so they pass
AWE Designer 8.D.2.6
2024-AUGUST-15
New Features
- Designer will now show error messages for invalid layouts when pressing Propagate Changes
Enhancements
-
Improved license authentication robustness for users who cannot access DSPC web license server
-
Updated AWD/AWJ formats to no longer require prebuilding layouts while loading
-
Made various internal improvements to improve layout build and load times
-
Updated JSON engine used internally for processing .json data for speed improvement
-
Added a warning for users when saving layout with newer AWD/AWJ version
-
Improved error reporting when attempting to generate a ModuleList.h file with an invalid layout name
-
Improved module I/O information included in profiling data
Bug Fixes
-
StatusSet execution order now behaves correctly for subsystem target module
-
Now preventing excessive get_module_state messages when using subsystem inspectors
-
No longer listing duplicate module classes in the missing module list dialog
-
Updated CRUS generation to throw error if using a ChangeThread module
-
Fixing build of some layouts using feedback wires across multiple subsystems
-
Deleting a module will no longer throw cryptic error messages if unrelated modules are not configured correctly
-
Corrected issue with stale clockDividers in Source modules when switching between single and multi-instance targets
-
Fixed issue in Native target where sample rate info from audio device was not being propagated to layouts
-
Improved robustness of renaming user inspector panels
-
Corrected handling of empty schema versions in CRUSs, and excluded pointer variable types from CRUS manifests
-
Fixed deleting CRUS/RUS from the module browser in the Standard edition
AWE Designer 8.D.2.5
2024-JUNE-29
New Features
-
Reduced load and save times for AWJ files, and updated AWJ version to 3.0
-
Added option in Layout Properties menu to force bind_wire commands to happen before other wire allocations
-
Added options in Generate Target Files menu to select target instanceID and to include a Lookup Table in the generated .awb/.aws
-
Added support for Multi-Instance in Module Tests tool
-
Added support for Multi-Instance and Multi-Canvas in the Tuning Interface Test tool
-
The minimum MATLAB version required for using Pro editions of Designer has been updated from R2017b to R2021b
- Designer is no longer tested with MATLAB R2017b, so using this version may result in inconsistent or faulty behavior
Enhancements
-
Improved the validation of AWJ files against a custom JSON schemas
-
BuildFlash.exe tool now warns user when filenames are truncated due to length limitations
Bug Fixes
-
Fixed issue with building Multi-Canvas layouts when different instances have different block sizes
-
Improved error detection and message clarity for invalid subsystems with only a virtual module between input and output
-
Ensuring that correct target information is available in profiling after doing attach to running target
-
Fixed issue that was preventing layouts saved with invalid paths in ParamSet module from being loaded
-
Execution order for Param Set and Status Set style modules can now target modules in subsystems
-
Fixed issue where the 'controlled by' field for modules on the canvas was not always being updated
-
Removed support in Designer for module argument inputs beginning with '0b'
-
Fixed issue where module argument strings starting with '0x' were being improperly converted to decimal values
-
Fixed issue in Designer when running on Multi-Instance target with more than 16 instances
-
Updated AWE Server Flash Manager to be able to access different Flash File Systems on Multi-Instance or Multi-Canvas target
-
Loading and saving module arrays from file now maintains full precision
-
Fixing corruption in layout file after running process files
-
Fixing user inspector operability after running manual profiling
-
Fixed a number of issues that could cause Tuning Interface Test to hang, and improved flexibility of modules required to run the test
-
Fixed issue where copying an invalid subsystem to a new layout could corrupt the layout
-
Convert to Subsystem will now retain custom objectIDs for modules
-
Failed attempts of Convert to Subsystem now correctly restores original subsystem
-
Designer now throws a warning if the output HW pin is not fract32
-
Restored the right click Help option for RUS/CRUS on the canvas
-
Improved robustness of
test_start_audioMATLAB function in the case of Multi-Instance targets -
Fixed issue when loading layouts with out-of-sync module control information