StatusSet
Discussion
Status Set Module.
This module sets the status of other modules.
This module is deprecated by StatusSetV2, which uses a more consistent syntax
for accessing modules at different levels of hierarchy
Arguments:
MOD specifies the module/subsystem to be controlled. If a subsystem is
specified, then this module will recursively act on all modules and
subsystem within that subsystem. The name specified is relative to the
level of the status_set_module.
The specified MOD name can either be an absolute or relative path from
the status_set_module. If MOD starts with the special character '\'
then this denotes a relative path. Each additional '\' represents one
level up.
Example:
status_set_module is 'levelA.levelB.ss'
- if MOD = '\foo'
then this denotes a relative path at current hierarchy. So this will
attempt to locate a module with hierarchy name 'levelA.levelB.foo'
if MOD = '\bar'
then a module with hierarchy name 'levelA.bar' will try to be
located.
- if MOD = 'levelA.bah'
then a module with hierachy name 'LevelA.bah' will try to be located
If MOD is empty, then this module will not do anything and will simply
return.
Status Set also supports using the objectAlias of a module rather than the hierarchical name
in the MOD field.
If MOD is invalid syntax or is not found in the system, this module
will error out during prebuild.
Depending on the input, set the given module to:<br>
bypass=1, mute=2, inactive=3, active=all else<br>
Although there is no limitations to the number of channels or block
size, only the 1st value of the 1st channel will be used for the
status.
The setBehavior parameter specifies when other module's status
should be set.<br>If setBehavior == 0, then the other module's status
will be updated in the Set() function only when the status change detected.
<br>If setBehavior == 1, then the other module's
status will be updated instantly in the Process() function only if there is a change detected.
<br>If setBehavior == 2, then the other module's
status will be updated always in the Set() function.
<br>If setBehavior == 3, then the other module's
status will be updated always in the Process() function.
Module Pack
Advanced
ClassID
classID = 1338
Type Definition
typedef struct _ModuleStatusSet
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 setBehavior; // Controls the behavior of setting status
INT32 prevStatus; // Previous status
INT32 nextStatus; // Status value from the input wire.
INT32 numModules; // Total number of modules this module controls
INT32* modIds; // Array to hold the object IDs of modules to set
ModuleInstanceDescriptor ** modPtr; // Points to the module to set
void * pOwnerPtr; // Pointer to hold owner AWEInstance pointer
} ModuleStatusSetClass;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| setBehavior | int | parameter | 0 | 0 | 0:3 | |
| prevStatus | int | state | 1 | -1 | Unrestricted | |
| nextStatus | int | state | 1 | 0 | Unrestricted | |
| numModules | int | state | 1 | 1 | Unrestricted | |
| modIds | int* | state | 1 | [1 x 1] | Unrestricted | |
| modPtr | ModuleInstanceDescriptor ** | state | 1 | Unrestricted | ||
| pOwnerPtr | void * | state | 1 | Unrestricted |
Pins
Input Pins
| Name | in |
| Description | status value |
| Data type | int |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real |
Matlab Usage
File Name: status_set_module.m
M=status_set_module(NAME, MOD)
Status Set Module. This module sets the status of other modules.
Arguments:
NAME - name of the module.
MOD - specifies the module to be controlled. If a subsystem is
specified, then this module will recursively act on all modules and
subsystem within that subsystem. The name specified is relative to the
level of the status_set_module.
The specified MOD name can either be an absolute or relative path from
the status_set_module. If MOD starts with the special character '\',
then this denotes a relative path. Each additional '\' represents one
level up. Example:
status_set_module is 'levelA.levelB.ss'
if MOD = '\foo'
then this denotes a relative path at current hierarchy. So this will
attempt to locate a module with hierarchy name 'levelA.levelB.foo'
if MOD = '\\bar'
then a module with hierarchy name 'levelA.bar' will try to be
located.
if MOD = 'levelA.bah'
then a module with hierachy name 'LevelA.bah' will try to be located
If MOD is empty, then this module will not do anything and will simply
return.
If MOD is invalid syntax or is not found in the system, this module
will error out during prebuild.
Depending on the input, set the given module to
bypass=1, mute=2, inactive=3, active=all else
Although there is no limitations to the number of channels or block
size, only the 1st value of the 1st channel will be used for the
status.
Copyright (c) 2026 DSP Concepts, Inc.