...
Click and drag the entire subsystem module from the canvas and to the Module Palette, either on an existing module directory or in the empty space.
Right-click the subsystem module and select the “Create Reusable Subsystem” option.
A new dialog window appears, titled “Create New Reusable Subsystem”, with the following entry fields (see figure below). Complete and edit these fields accordingly for this Reusable Subsystem:
Root Directory - root folder for the Reusable Subsystem’s generated folders/files (see generated Folders/File section)
Class Name - Unique file name for the generated output files.
Browser Path - Category in which module will appear under in the module palette
If the subsystem was dragged onto an existing module directory in the Module Palette, this will be automatically populated with that existing directory name. Otherwise, this will be automatically populated with the new directory name “Reusable Subsystems”.
Browser Name - The name of the module that will appear in the module browser
Canvas Legend - The text which will appear in the reusable subsystem block when on the Canvas.
Search Tags - Search terms to locate this module in the Module Browser
Pin Data Types - Valid data types for module input pins (can select multiple types)
Compiled Subsystem – If checked, creates a Compiled Reusable Subsystem (see Compiled Reusable Subsystems)
Once the fields are set, click OK, and the Reusable Subsystem will be created.
Note: the The standard subsystem is not automatically replaced with the new reusable subsystem on the canvas. This action is left to the user to drag out to the canvas needed.
...
Doc
This folder is where HTML help documentation is located, which is an auto-generated template file that the user should update as described below:
Headings, formatting, names of Inspector Controls and pins will be pre-populated, but it will be up to the user to fill in other information. The template will be populated with keywords that can be replaced with the user’s desired text. These will be:
$description$: A short description of the module in one sentence.
$discussion$: Longer, detailed description.
Inspector Control description keywords will have the format $<ctrl_caption>Description$ e.g. an inspector control with the caption Left Gain would be $LeftGainDescription$
Pin description keywords will have the format $<pin_name>Description$
Lastly, the required modules will be included. This does not expose internal tuning or wiring, just which modules must be present in the AWECore AWE Core library on the target for the subsystem to function.
An example Python script for automating the html template replacement:
...
images
The default bitmap image (Default.bmp) will be used as the default Module Palette icon for all Reusable Subsystem modules. You can change this icon by either editing Default.bmp image, or by creating a new icon and updating the XML file:
Create a new .bmp image file for the Reusable Subsystem. Place this file in this images/ directory.
NOTE: The .bmp file dimensions must be 32-by-32 pixels, at 24 bit depth. Any other size will not be displayed properly in Designer’s Module Palette.
Edit the XML file to replace the filename with your new .bmp. Do not change the filepath otherwise. For example:
<image>../images/MyModule.bmp</image>
Reopen Audio Weaver Designer and search for the reusable subsystem in the Module Palette.
The icon should appear next to the reusable subsystem in the Module Palette.
By default, the image of the reusable subsystem will be blank with only the “Canvas Legend” text. The image of the reusable subsystem on the Designer canvas can also be changed using a custom SVG file.
Create a new SVG file for your Reusable Subsystem. Place this file in this images/ directory.
Edit the XML file to replace the filename with your new .bmp. Do not change the filepath otherwise. For example:
<svgimage>../images/MyModule.svg</svgimage>
NOTE: If you don’t want the text displayed across SVG image in the Canvas, delete the text in between the <legend> tags.
Reopen Audio Weaver Designer and search for the reusable subsystem in the Module Palette.
The icon should appear next to the reusable subsystem in the Module Palette.
Click and drag the Reusable Subsystem onto the Canvas. The SVG will be displayed on the Reusable Subsystem.
MATLAB
The .json file represents the reusable subsystem in a text file format, used for construction
(Compiled Reusable Subsystems only) The .awb file contains the compiled reusable subsystem in an encrypted binary format
(Compiled Reusable Subsystems only) The .meta file contains definitions of any controlled module variables (eg. custom ObjectIDs, User Inspector Controls) within the subsystem
xml
The xml layout of the module used by Designer GUI. This is auto-generated and should not be modified, except when adding user-contributed images for the Reusable Subsystem.
Any manual edits to the XML files will not be preserved when making updates and overwriting a Reusable Subsystem (see Modifying a Reusable Subsystem and Overwriting).
...
To revert a Reusable Subsystem back to a regular Subsystem, simply right click the Reusable Subsystem block on the canvas and select “Revert to Subsystem”. Now, the subsystem can be opened and modified accordingly.NOTE
Note: This right-click menu option is not available for Compiled Reusable Subsystems.
Modifying a Reusable Subsystem and Overwriting
...
The .h and .c files are used by the target application to load and control the signal processing layout when operating in standalone mode. The .tsf file is used to connect AWE Designer to a target that is running in standalone mode. For more information about how to use these target files, please see the AWECore AWE Core 8 Integration Guide.
Attach to Running Target
...
Right-click on the HW input pin to change its number of channels, Block Size and Sample Rate properties. Once the model is run or the ‘Propagate Changes’ icon is clicked, the updated HW pin information will propagate through the rest of the system. The output HW pin information is inherited from the connecting wire and cannot be edited manually.
Note
...
: The dataType of the input pin is fract32 and cannot be changed.
...
Configure the PC Sound Card
...
The AWE Designer Canvas consists of pages. You can change your drawing space using the “Layout → Canvas Size” menu.
...
Note
...
: The canvas size is limited to 10x5. The zoom and align toolbar icons can be used to change your view and to easily organize your modules.
Feedback Wires
In an Audio Weaver layout, data typically flows from the input towards the output, with the output of one module feeding the input of one or more modules after it in the processing order. However, it is possible to feed the output of a module back to the input of a module that precedes it in the processing order. In this case, the new data will not be processed until the next block of data is processed resulting in a delay of one block. In AWE Designer, such feedback wires need to be specified manually. To do this, right-click on a wire and select ‘Feedback’ from the context menu:
...
This function performs diagnostic measurements on the tuning interface that carries commands from the AWE Server to the target. This is handy to have when porting AWECore AWE Core to a new target. The functionality can be accessed via the ‘Tools Tuning Interface Test’ menu item. Test results indicate the interface speed under various conditions. For more information, see the user forum at www.dspconcepts.com.
...
Some Audio Weaver target systems may have more than one instance of AWECore AWE Core running. In this case, the different instances can be selected using the drop lists in designer and server. For more information, see the user forum at www.dspconcepts.com.
...
Simple arithmetic can also be used with the layout variables to define module arguments. For example, this Source module uses the predefined layout variables to specify its wire information arguments:
...
Note
...
: As seen in the numChannels argument above, any expression must begin with a ‘$’, even if the first component is not a variable.
Layout Build Configuration (Debug/Release)
...
Every individual layout is saved with its own Build Configuration, meaning a user can have both Debug and Release AWDs open in separate Designer windows at the same time.
Note
...
: The top banner in Designer indicates the layout’s current Build Configuration status. The image below shows the banner after switching to Debug.
...
Setting an Individual Module’s Debug Status
...
Note: Build configuration only affects the layout at the PC level. AWE uses a Designer->AWECore >AWE Core dynamic instantiation model, so the Debug modules are simply not instantiated on the target layout. Overflow Detection.
Overflow Detection
On certain targets, AWECore AWE Core will detect any overflow conditions while a layout is running and present this information in AWE Server. An “overflow” occurs when the previous pump is not completed before attempting to schedule the next pump. The overflow logic is capable of detecting overflows in any of the sublayouts in a multi-rate layout.
...
Note: This feature is currently supported only for AWECore AWE Core based targets and is not supported on Native or AWECoreOS AWE Core OS targets.
Interpreted Modules
...