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