Home Units Hierarchy Routines All identifiers

Unit unaDspLibH

DescriptionUsesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

Interface for general purpose DSP library in native Delphi code.

2.5.2008.07 Still here

Uses

Overview

Classes, Interfaces, Objects and Records

Name Description
packed record dspl_biq_values  
packed record dspl_chunk  
Class unaDspLibAbstract DSPL_EQ2B DSPL_LD DSPL_DYNPROC DSPL_SPEECHPROC DSPL_ND DSPL_EQMB DSPL_MBSP

– unaDspLibAbstract –

Functions and Procedures

function isZeroE(z: extended): bool;
function ceil(const x: extended): int;
function floor(const x: extended): int;
function pow(const base, exponent: dspl_double): dspl_double;
function sinh(const x: extended): extended;
function db2v(decibels: dspl_float): dspl_float;
function v2db(voltage: dspl_float): dspl_float;

Types

dspl_id = unsigned;
dspl_handle = unsigned;
dspl_float = single;
pdspl_float = ˆdspl_float;
dspl_double = double;
pdspl_double = ˆdspl_double;
dspl_int = int;
dspl_result = bool;
pdspl_chunk = ˆdspl_chunk;
pdspl_biq_values = ˆdspl_biq_values;
pdspl_biq_valuesArray = ˆdspl_biq_valuesArray;
dspl_biq_valuesArray = array[0..$2AAAAA9] of dspl_biq_values;
proc_dspl_create = function(object_id: dspl_id): dspl_handle; cdecl;
proc_dspl_destroy = function(handle: dspl_handle): dspl_result; cdecl;
proc_dspl_setf = function(handle: dspl_handle; param_id: dspl_id; value: dspl_float): dspl_result; cdecl;
proc_dspl_seti = function(handle: dspl_handle; param_id: dspl_id; value: dspl_int): dspl_result; cdecl;
proc_dspl_setc = function(handle: dspl_handle; param_id: dspl_id; chunk: pdspl_float; length: dspl_int): dspl_result; cdecl;
proc_dspl_geti = function(handle: dspl_handle; param_id: dspl_id; out value: dspl_int): dspl_result; cdecl;
proc_dspl_getf = function(handle: dspl_handle; param_id: dspl_id; out value: dspl_float): dspl_result; cdecl;
proc_dspl_process = function(handle: dspl_handle; nSamples: dspl_int): dspl_result; cdecl;
proc_dspl_version = function(): pAnsiChar; cdecl;

Constants

c_DSPL_OBJNAMES_FULL: array[DSPL_EQ2B..DSPL_MBSP] of AnsiString = ( '2 Band Parametric Equalizer', 'Level Detector', 'Dynamic Processor', 'Speech Processor', 'Noise Level Detector', 'Multiband Equalizer/Filter', 'Multiband Splitter' );
c_DSPL_OBJNAMES_SHORT: array[DSPL_EQ2B..DSPL_MBSP] of AnsiString = ( 'EQ2B', 'LD', 'DynProc', 'SpeechProc', 'LD', 'EQMB', 'MBSP' );
DSPL_BIQ_HP = 3;
DSPL_BIQ_HS = 5;
DSPL_BIQ_LP = 2;
DSPL_BIQ_LS = 4;
DSPL_BIQ_PEAK = 1;
DSPL_DEFAULT_SAMPLE_FRQ = 44100;
DSPL_DYNPROC = 3;
DSPL_DYNPROC_ABOVE = 0;
DSPL_DYNPROC_BELOW = 1;
DSPL_DYNPROC_IN = 0;
DSPL_DYNPROC_SC = 1;
dspl_empty_chunk: dspl_chunk = (r_fp: nil; r_len: 0);
DSPL_EQ2B = 1;
DSPL_EQ2B_BAND1 = 1;
DSPL_EQ2B_BAND2 = 2;
DSPL_EQ2B_BOTH = 0;
DSPL_EQ2B_HP = DSPL_BIQ_HP;
DSPL_EQ2B_HS = DSPL_BIQ_HS;
DSPL_EQ2B_LP = DSPL_BIQ_LP;
DSPL_EQ2B_LS = DSPL_BIQ_LS;
DSPL_EQ2B_OFF = 0;
DSPL_EQ2B_PEAK = DSPL_BIQ_PEAK;
DSPL_EQMB = 6;
DSPL_FAILURE = false;
DSPL_INVALID_HANDLE = dspl_handle(false);
DSPL_LD = 2;
DSPL_LD_PEAK = 1;
DSPL_LD_RMS = 0;
DSPL_MBSP = 7;
DSPL_ND = 5;
DSPL_ND_BAND_HP = 2;
DSPL_ND_BAND_LP = 1;
DSPL_ND_SAMPLE_RATE = 0;
DSPL_OID = $00000;
DSPL_PID = $10000;
DSPL_P_ATTACK = $0700;
DSPL_P_FRQ = $0400;
DSPL_P_GAIN = $0300;
DSPL_P_IN = $0100;
DSPL_P_NFRQ = $0B00;
DSPL_P_OTHER = $FF00;
DSPL_P_OUT = $0200;
DSPL_P_Q = $0500;
DSPL_P_RATIO = $0A00;
DSPL_P_RELEASE = $0800;
DSPL_P_THRESHOLD = $0900;
DSPL_P_TYPE = $0600;
DSPL_SPEECHPROC = 4;
DSPL_SPEECHPROC_CEIL = 5;
DSPL_SPEECHPROC_DEESSER = 3;
DSPL_SPEECHPROC_DEPOPPER = 2;
DSPL_SPEECHPROC_ENHANCER = 1;
DSPL_SPEECHPROC_LOWCUT = 4;
DSPL_SPEECHPROC_SAMPLE_RATE = 0;
DSPL_SUCCESS = true;
DSPL_VERSION = '1.01b';

Description

Functions and Procedures

function isZeroE(z: extended): bool;

– –

function ceil(const x: extended): int;
 
function floor(const x: extended): int;
 
function pow(const base, exponent: dspl_double): dspl_double;
 
function sinh(const x: extended): extended;
 
function db2v(decibels: dspl_float): dspl_float;

– –

function v2db(voltage: dspl_float): dspl_float;
 

Types

dspl_id = unsigned;

– dsplconf.h –

dspl_handle = unsigned;

class identtifier

dspl_float = single;

object handle (not a pointer)

pdspl_float = ˆdspl_float;

4 bytes

dspl_double = double;
 
pdspl_double = ˆdspl_double;

8 bytes

dspl_int = int;
 
dspl_result = bool;
 
pdspl_chunk = ˆdspl_chunk;
 
pdspl_biq_values = ˆdspl_biq_values;

– dsplmath.h –

pdspl_biq_valuesArray = ˆdspl_biq_valuesArray;
 
dspl_biq_valuesArray = array[0..$2AAAAA9] of dspl_biq_values;
 
proc_dspl_create = function(object_id: dspl_id): dspl_handle; cdecl;

#define DSPL_INSTANCE(id,cname) case (DSPL_OID | id):return new cname((DSPL_OID | id)); #define DSPL_INSTANCES \ DSPL_INSTANCE(DSPL_EQ2B,DSPLEQ2b)\ DSPL_INSTANCE(DSPL_LD,DSPLLD)\ DSPL_INSTANCE(DSPL_DYNPROC,DSPLDynProc)\ DSPL_INSTANCE(DSPL_SPEECHPROC,DSPLSpeechProc)\ DSPL_INSTANCE(DSPL_ND,DSPLND)\ DSPL_INSTANCE(DSPL_MBSP,DSPLMbSp)\ DSPL_INSTANCE(DSPL_EQMB,DSPLEQMb) – dsplapi.h – – API –

proc_dspl_destroy = function(handle: dspl_handle): dspl_result; cdecl;
 
proc_dspl_setf = function(handle: dspl_handle; param_id: dspl_id; value: dspl_float): dspl_result; cdecl;

Object's parameters setters handle - object handle param_id - property id

dspl_setf - dspl_seti - dspl_setc

proc_dspl_seti = function(handle: dspl_handle; param_id: dspl_id; value: dspl_int): dspl_result; cdecl;
 
proc_dspl_setc = function(handle: dspl_handle; param_id: dspl_id; chunk: pdspl_float; length: dspl_int): dspl_result; cdecl;
 
proc_dspl_geti = function(handle: dspl_handle; param_id: dspl_id; out value: dspl_int): dspl_result; cdecl;

Object's parameters getters handle - object handle param_id - property id

proc_dspl_getf = function(handle: dspl_handle; param_id: dspl_id; out value: dspl_float): dspl_result; cdecl;
 
proc_dspl_process = function(handle: dspl_handle; nSamples: dspl_int): dspl_result; cdecl;

dspl_process -

proc_dspl_version = function(): pAnsiChar; cdecl;

Version

Constants

c_DSPL_OBJNAMES_FULL: array[DSPL_EQ2B..DSPL_MBSP] of AnsiString = ( '2 Band Parametric Equalizer', 'Level Detector', 'Dynamic Processor', 'Speech Processor', 'Noise Level Detector', 'Multiband Equalizer/Filter', 'Multiband Splitter' );

— dsplprocessor.h – const DSPL_CHUNK = cparams; DSPL_FLOAT = fparams; DSPL_INT = iparams; #define DSPL_DECLARE_PARAM(param_type,param_class,id,default_value) \ param_type[(DSPL_PID |param_class | id)]=default_value; – – localize as necessary, order is important!

c_DSPL_OBJNAMES_SHORT: array[DSPL_EQ2B..DSPL_MBSP] of AnsiString = ( 'EQ2B', 'LD', 'DynProc', 'SpeechProc', 'LD', 'EQMB', 'MBSP' );

DSPL_EQ2B DSPL_LD DSPL_DYNPROC DSPL_SPEECHPROC DSPL_ND DSPL_EQMB DSPL_MBSP localize as necessary, order is important!

DSPL_BIQ_HP = 3;
 
DSPL_BIQ_HS = 5;
 
DSPL_BIQ_LP = 2;
 
DSPL_BIQ_LS = 4;
 
DSPL_BIQ_PEAK = 1;

enum dspl_biq_type {

DSPL_DEFAULT_SAMPLE_FRQ = 44100;
 
DSPL_DYNPROC = 3;
 
DSPL_DYNPROC_ABOVE = 0;

}; enum dspl_dynproc_range {

DSPL_DYNPROC_BELOW = 1;
 
DSPL_DYNPROC_IN = 0;

enum dspl_dynproc_input {

DSPL_DYNPROC_SC = 1;
 
dspl_empty_chunk: dspl_chunk = (r_fp: nil; r_len: 0);
 
DSPL_EQ2B = 1;

}; enum dspl_object_class {

DSPL_EQ2B_BAND1 = 1;
 
DSPL_EQ2B_BAND2 = 2;
 
DSPL_EQ2B_BOTH = 0;

}; enum dspl_eq2b_band_id {

DSPL_EQ2B_HP = DSPL_BIQ_HP;
 
DSPL_EQ2B_HS = DSPL_BIQ_HS;
 
DSPL_EQ2B_LP = DSPL_BIQ_LP;
 
DSPL_EQ2B_LS = DSPL_BIQ_LS;
 
DSPL_EQ2B_OFF = 0;

}; enum dspl_eq2b_band_type {

DSPL_EQ2B_PEAK = DSPL_BIQ_PEAK;
 
DSPL_EQMB = 6;
 
DSPL_FAILURE = false;
 
DSPL_INVALID_HANDLE = dspl_handle(false);
 
DSPL_LD = 2;
 
DSPL_LD_PEAK = 1;
 
DSPL_LD_RMS = 0;

enum dspl_ld_type {

DSPL_MBSP = 7;
 
DSPL_ND = 5;
 
DSPL_ND_BAND_HP = 2;
 
DSPL_ND_BAND_LP = 1;
 
DSPL_ND_SAMPLE_RATE = 0;

}; enum dspl_nd {

DSPL_OID = $00000;

class and parameters ids class ids enum dspl_id_class {

DSPL_PID = $10000;
 
DSPL_P_ATTACK = $0700;
 
DSPL_P_FRQ = $0400;
 
DSPL_P_GAIN = $0300;
 
DSPL_P_IN = $0100;

}; param ids enum dspl_param_class {

DSPL_P_NFRQ = $0B00;
 
DSPL_P_OTHER = $FF00;
 
DSPL_P_OUT = $0200;
 
DSPL_P_Q = $0500;
 
DSPL_P_RATIO = $0A00;
 
DSPL_P_RELEASE = $0800;
 
DSPL_P_THRESHOLD = $0900;
 
DSPL_P_TYPE = $0600;
 
DSPL_SPEECHPROC = 4;
 
DSPL_SPEECHPROC_CEIL = 5;
 
DSPL_SPEECHPROC_DEESSER = 3;
 
DSPL_SPEECHPROC_DEPOPPER = 2;
 
DSPL_SPEECHPROC_ENHANCER = 1;
 
DSPL_SPEECHPROC_LOWCUT = 4;
 
DSPL_SPEECHPROC_SAMPLE_RATE = 0;

enum dspl_speechproc_frq {

DSPL_SUCCESS = true;
 
DSPL_VERSION = '1.01b';

– dsplconst.h –

Author

(c) 2012 Lake of Soft


Generated by PasDoc 0.12.1 on 2012-10-09