Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This library is embedded in the FrameDll.lib contains a collection of useful functions for developing custom audio modules.  At a minimum, each function is implemented in C to provide functionality on the PC and baseline performance on embedded processors.  In some cases, functions have been optimized in assembly for specific processors.

The functions provided fall into 4 3 broad categories:

  • Fractional math library

...

  • code which emulates fractional arithmetic on the PC.  This is used to first develop Blackfin modules on the PC.  See FractMath.h.

  • Filter design library

...

  • filter design and coefficient calculation routines for basic filter types.  In floating-point or double precision.  See FilterDesign.h

  • Math helper library

...

  • floating-point versions of the math library.  Used on the PC.  See MathHelper.h.

Refer to the individual header files for a description of each function and its arguments.

 

##if

preprocessor directive, 17, 95

$IDENTIFIER$, 93

@awe_variable, 31

across

wire allocation, 110

wiring constraint, 91

add_array, 56

add_code_marker.m, 93

add_module.m, 58

add_module_path.m, 89

add_pin.m, 54

add_variable.m, 10, 55

agc_example.m, 32

array

overriding sizes, 57

arrayHeap, 34, 99, 113

arraySizeConstructor, 34, 99, 113

audio module

class name, 36

class structure, 12

dependencies, 15

description, 36

functions, 12

internal functions, 43

internal representation, 38

search path, 89

type definition, 10

variable masks, 11

variable offsets, 11

Audio module

instance structure, 10

audio module m-file, 45

AudioWeaverModule

tag for documentation, 92

awe_addcodemarker.m, 16

awe_deletecodemarker.m, 95

awe_fwMalloc, 77, 113

awe_generate_doc.m, 103

awe_generate_library.m, 15, 85

awe_generate_module.m, 14, 101

AWE_HEAP_FAST, 78

AWE_HEAP_FAST2SLOW, 78

AWE_HEAP_FASTB, 78

AWE_HEAP_SLOW, 78

awe_help.m, 60, 102

AWE_INFO.buildControl, 88

AWE_INFO.displayControl.showHidden, 36

awe_lookupcodemarker.m, 94

awe_module.m, 36

awe_module_template.c, 16, 92

awe_module_template.h, 16, 92

awe_reorder_variables.m, 90

awe_subsystem.m, 48

BaseClassModule_Constructor, 80

buildFunc

awe_subsystem field, 49

Bypass

audio module function, 12

bypass function

example of custom, 120

bypassFunc, 47

audio module field, 40

bypassFunction

code marker, 96

BypassFunction

C function, 83

bypassFunctionName

code marker, 96

class

audio module field, 43

class name

audio module, 36

class structure

audio module, 12

CLASS_ID_BASE, 14

classID, 11, 13

audio module field, 39

classid_lookup.m, 90

classids.csv, 27, 89

ClassMod_GetNPrivateArgs, 74

ClassMod_GetNPublicArgs, 74

ClassModule_GetModuleState, 69, 81

ClassModule_GetNInWires, 69, 81

ClassModule_GetNOutWires, 69, 81

ClassModule_GetNScratchWires, 69, 81

ClassModule_GetWires, 69, 81

ClassModule_PackArgCounts, 80

className

audio module field, 39

ClassWire_GetBlockSize, 70, 82

ClassWire_GetChannelCount, 70, 82

ClassWire_GetNumSamples, 70, 82

ClassWire_GetSampleRate, 70, 82

clockDivider

audio module field, 39

code markers, 17

Code Markers, 92

codeMarker

audio module field, 42

connect.m, 50, 59

connection

awe_subsystem field, 49

const

usage, 34

Constructor

audio module function, 12

C function arguments, 79

constructorCode, 34, 99, 125

constructorFunction

code marker, 96

data type

variable field, 33

data types, 32

in C, 68

dependencies

in audio module libraries, 15

derived

usage, 34

description field

audio module, 36

audio module field, 39

discussion

code marker, 97

distinct

wiring constraint, 91

DLL

audio module library, 128

docControl, 104

docInfo

audio module field, 43

Docmentation format

selecting, 104

Documentation

generating, 102

downsampler_example_module.m, 109, 122

drawFunc

awe_subsystem field, 49

drawInfo

audio module field, 43

Dynamic Link Libraries

building, 128

equations

in documentation, 108

Example, 109

Examples.h, 30

Examples.sln, 18, 128

ExamplesDLL.dll, 128

ExamplesSchema.cpp, 29

ExamplesSchema.sch, 28

fader_example_module.m, 109, 118

fieldNames

audio module field, 43

variable field, 35

flattenOnBuild, 99

awe_subsystem field, 49

format

variable field, 34

FractMath.h, 133

Framework.h, 67

GENDOC, 15, 86

Get

audio module function, 12

C function, 83

get_module.m, 50

get_variable.m, 32, 63

GetFeedbackPinCount, 79

getFunc, 46

audio module field, 40

getFunction

code marker, 97

GetInputPinCount, 79

GetOutputPinCount, 79

GetScratchPinCount, 79

GetWireCount, 79

guiInfo

audio module field, 43

variable field, 34

hasFired

audio module field, 42

hFileDefine

code marker, 97

hFileInclude

code marker, 97

hFileTemplate

code marker, 98

hierarchyName

audio module field, 42

variable field, 33

HTML

documentation format, 104

IDOFFSET, 13, 90

InnerScalerSmoothedExample_Process.c, 22

InnerScalerSmoothedExample_Set.c, 22

inputPin

audio module field, 39

Insert

code marker, 94

Insert:

code marker, 18

instance structure

audio module, 10

IOAcrossModule_Bypass, 84

IOAllOnesModule_Bypass, 84

IOMatchModule_Bypass, 83

IOMatchUpModule_Bypass, 84

isArray

variable field, 35

isComplex

variable field, 33

ISCOMPLEX, 32

isHidden

audio module field, 41

variable field, 35

ISHIDDEN, 32

isLive

variable field, 34

isLocked

audio module field, 43

variable field, 35

isPrebuilt

awe_subsystem field, 49

isPreset

audio module field, 41

variable field, 35

isTopLevel

audio module field, 42

isVolatile

variable field, 34

lah_limiter_example_module.m, 109, 124

LaTeX

equations, 108

make_examples.m, 15, 109

mask

audio module variables, 11

MASK_

audio module, 83

MathHelper.h., 133

MATLAB

supported versions, 6

memory allocation

from C, 77

memorySegment, 34

mfileDirectory

audio module field, 39

mfileName

audio module field, 39

mfilePath

audio module field, 39

ModClassDescriptor, 73

ModClassModule, 73

mode

audio module field, 39

ModScalerSmoothedExample.c, 24

ModScalerSmoothedExample.h, 23

module

awe_subsystem field, 49

module libraries

generating, 85

MODULE_ACTIVE, 81

MODULE_BYPASS, 81

MODULE_INACTIVE, 82

MODULE_MUTE, 81

ModuleHelperLib, 133

ModuleHelperLib.h, 133

ModuleInstanceDescriptor, 68

moduleName

awe_subsystem field, 49

name

audio module field, 38

variable field, 33

new_pin_type.m, 51

nIO, 79

outputPin

audio module field, 40

parameter

usage, 34

peak_hold_example_module.m, 109, 112

pin

data structure, 51

documentation, 61

new_pin_type.m, 51

range information, 51

postConstructorFunction

code marker, 97

postProcessFunc

awe_subsystem field, 49

postProcessFunction

code marker, 98

preBuildFunc, 47

audio module field, 40

preProcessFunc

awe_subsystem field, 49

preProcessFunction

code marker, 98

preprocessor directives, 17

Process

audio module function, 81

processFunc, 45

audio module field, 40

processFunction

code marker, 97

range

variable field, 33

Requirements, 6

Sample, 69

C data type, 69, 80

scaler_example_module.m, 109

scaler_smoothed_example_module.m, 9, 19

Schema file, 13

SchemaBuilder.exe, 88

scratchPin

audio module field, 40

Set

audio module function, 12

C function, 82

set_variable.m, 63

setFunc, 46

audio module field, 40

setFunction

code marker, 97

showHidden

AWE_INFO, 36

size

variable field, 33

srcFileDefine

code marker, 98

srcFileInclude

code marker, 98

srcFileTemplate

code marker, 98

state

usage, 34

target_system.m, 51

targetInfo

audio module field, 42

variable field, 35

targetSpecificInfo

awe_subsystem field, 49

template file, 16

template substitution, 16

preprocessor, 95

Template Substitution, 92

top-level systems, 51

unique_classes.m, 99

units

variable field, 34

unsatisfiable dependencies, 87

usage

variable field, 33

USESDLLS, 85, 86

variable

internal representation, 33

specifying range information, 51

variable field

audio module field, 40

variableName

audio module field, 40

VectorLib, 133

VectorLib.h, 133

VisualStudio

supported version, 6

wire allocation

clarifying, 126

WIRE_IN, 45

wireAllocation

audio module field, 40

WireInstance, 69

Word

documentation format, 104