Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Overview

Updates module array from different preset tables.

Discussion

This module updates the array of any other module from the presetsArray. The presetsArray is a 3-D array of numArrays, each with size numRows x numCols. The 3-D array is arranged as cascaded 2-D arrays For example, 3 arrays with size 2 x 3 each is arranged as 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 where 2x3 array with zeros is one array, 2x3 array with ones is second array and so on. The cascaded 2-D array is multiplied or added element by element to create one 2-D array of size numRows x numCols, which is then used to update the array of the other module. The math operation is controlled by the operation argument, either multiplication or addition.

Type Definition

typedef struct _ModulePresetArrayHandler
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    INT32 numArrays;                              // number of presets.
    INT32 numRows;                                // the number of vectors.
    INT32 numCols;                                // the size of each vector.
    INT32 operation;                              // math operation on presets. 0 - multiplication and 1 - addition.
    INT32 initialFlag;                            // boolean flag which handles initial setup.
    FLOAT32* presetsArray;                        // 3-D presets array table.
    void * modPtr;                                // Points to the module to set.
    void * varPtr;                                // Points to the variable to set within the module instance structure.
} ModulePresetArrayHandlerClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

numArrays

int

const

0

2

Unrestricted

numRows

int

const

0

1

Unrestricted

numCols

int

const

0

5

Unrestricted

operation

int

const

0

0

Unrestricted

initialFlag

int

state

0

1

Unrestricted

presetsArray

float*

parameter

0

[2 x 5]

Unrestricted

modPtr

void *

parameter

1

Unrestricted

varPtr

void *

parameter

1

Unrestricted

MATLAB Usage

File Name: preset_array_handler_module.m

 M=preset_array_handler_module(NAME, NUMARRAYS, NUMROWS, NUMCOLS, OPERATION, MODVAR)
 Array set module.  This module can reach into the instance structure
 of other modules and set filter coefficients.  
 Arguments:
    NAME - name of the module.
    NUMARRAYS - number of presets, the Z dimension of internal table.
    NUMROWS - the dimension X of internal table.
    NUMCOLS - the dimension Y of internal table.
    OPERATION - operation to be performed on presets (multiply or addition).
                0 - Multiplication
                1 - Addition
    VARNAME - specifies the module and variable name using the form:
              'MOD.VAR' where MOD is the module name and VAR is the 
              variable name.  You can also specify internal subsystems using
              'SUBSYS.MOD.VAR'.

  • No labels