Document toolboxDocument toolbox

(8.D.2.5) 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

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

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'.

Â