Skip to main content
Skip table of contents

PresetArrayHandlerV2

Overview

Updates module array from different preset tables.

Discussion

This module updates the array of any other module from the values in 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. This module also has additional pointers in to the presetArray memory, useful for standalone tuning

Type Definition

CODE
typedef struct _ModulePresetArrayHandlerV2
{
    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.
    FLOAT32* pg1;                                 // Points to the 1st preset group elements in the presetsArray.
    FLOAT32* pg2;                                 // Points to the 2nd preset group elements in the presetsArray.
    FLOAT32* pg3;                                 // Points to the 3rd preset group elements in the presetsArray.
    FLOAT32* pg4;                                 // Points to the 4th preset group elements in the presetsArray.
    FLOAT32* pg5;                                 // Points to the 5th preset group elements in the presetsArray.
    FLOAT32* pg6;                                 // Points to the 6th preset group elements in the presetsArray.
    FLOAT32* pg7;                                 // Points to the 7th preset group elements in the presetsArray.
    FLOAT32* pg8;                                 // Points to the 8th preset group elements in the presetsArray.
    FLOAT32* pg9;                                 // Points to the 9th preset group elements in the presetsArray.
    FLOAT32* pg10;                                // Points to the 10th preset group elements in the presetsArray.
    void * modPtr;                                // Points to the module to set.
    void * varPtr;                                // Points to the variable to set within the module instance structure.
} ModulePresetArrayHandlerV2Class;

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

pg1

float*

state

1

[1 x 1]

Unrestricted

pg2

float*

state

1

[1 x 1]

Unrestricted

pg3

float*

state

1

[1 x 1]

Unrestricted

pg4

float*

state

1

[1 x 1]

Unrestricted

pg5

float*

state

1

[1 x 1]

Unrestricted

pg6

float*

state

1

[1 x 1]

Unrestricted

pg7

float*

state

1

[1 x 1]

Unrestricted

pg8

float*

state

1

[1 x 1]

Unrestricted

pg9

float*

state

1

[1 x 1]

Unrestricted

pg10

float*

state

1

[1 x 1]

Unrestricted

modPtr

void *

parameter

1

Unrestricted

varPtr

void *

parameter

1

Unrestricted

MATLAB Usage

File Name: preset_array_handler_v2_module.m

CODE
 M=preset_array_handler_v2_module(NAME, NUMARRAYS, NUMROWS, NUMCOLS, OPERATION, MODVAR)
 Array set module.  This module can reach into the instance structure
 of other modules and set array values.  
 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'.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.