Gorilla.Audio.FMOD.Intf.DSP

Unit Gorilla.Audio.FMOD.Intf.DSP.pas

IGorillaFMODDSP

Wrapper record structure for DSP instances.

Methods

public function GetNumInputs  ( )  : Integer ;  abstract virtual;
public function GetNumOutputs  ( )  : Integer ;  abstract virtual;
public function GetActive  ( )  : LongBool ;  abstract virtual;
public procedure SetActive  ( const  AValue :  LongBool ) ;  abstract virtual;
public function GetBypass  ( )  : LongBool ;  abstract virtual;
public procedure SetBypass  ( const  AValue :  LongBool ) ;  abstract virtual;
public function GetWetDryMix  ( )  : TGorillaFMODWetDryMix ;  abstract virtual;
public procedure SetWetDryMix  ( const  AValue :  TGorillaFMODWetDryMix ) ;  abstract virtual;
public function GetChannelFormat  ( )  : TGorillaFMODChannelFormat ;  abstract virtual;
public procedure SetChannelFormat  ( const  AValue :  TGorillaFMODChannelFormat ) ;  abstract virtual;
public function GetNumParameters  ( )  : Integer ;  abstract virtual;
public function GetType  ( )  : FMOD_DSP_TYPE ;  abstract virtual;
public function GetIdle  ( )  : LongBool ;  abstract virtual;
public function GetUserData  ( )  : Pointer ;  abstract virtual;
public procedure SetUserData  ( const  AValue :  Pointer ) ;  abstract virtual;
public procedure Play  ( AChannelGroup :  IGorillaFMODChannelGroup  =  nil ; APaused :  LongBool  =  False ) ;  abstract virtual;

Plays a DSP unit object and its input network on a particular channel.

public function PlayWithChannel  ( AChannelGroup :  IGorillaFMODChannelGroup  =  nil ; APaused :  LongBool  =  False )  : IGorillaFMODChannel ;  abstract virtual;

Plays a DSP unit object and its input network on a particular channel.

public procedure AddInput  ( AInput :  IGorillaFMODDSP; out  AConnection :  IGorillaFMODDSPConnection; AType :  FMOD_DSPCONNECTION_TYPE ) ;  abstract virtual;

Adds the specified DSP unit as an input of the DSP object.

Parameters

  • AInput :  IGorillaFMODDSP  -  The DSP unit to add as an input of the current unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore. The type of connection between the 2 units. See FMOD_DSPCONNECTION_TYPE.
  • out  AConnection :  IGorillaFMODDSPConnection  -  The DSP unit to add as an input of the current unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore. The type of connection between the 2 units. See FMOD_DSPCONNECTION_TYPE.
  • AType :  FMOD_DSPCONNECTION_TYPE  -  The DSP unit to add as an input of the current unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore. The type of connection between the 2 units. See FMOD_DSPCONNECTION_TYPE.
public procedure DisconnectFrom  ( ATarget :  IGorillaFMODDSP; AConnection :  IGorillaFMODDSPConnection ) ;  abstract virtual;

Disconnect the DSP unit from the specified input.

Parameters

  • ATarget :  IGorillaFMODDSP  -  The input unit that this unit is to be disconnected from. Specify 0 or NULL to disconnect the unit from all outputs and inputs. If there is more than one connection between 2 dsp units, this can be used to define which of the connections should be disconnected.
  • AConnection :  IGorillaFMODDSPConnection  -  The input unit that this unit is to be disconnected from. Specify 0 or NULL to disconnect the unit from all outputs and inputs. If there is more than one connection between 2 dsp units, this can be used to define which of the connections should be disconnected.
public procedure DisconnectAll  ( AInputs :  LongBool; AOutputs :  LongBool ) ;  abstract virtual;

Helper function to disconnect either all inputs or all outputs of a dsp unit.

Parameters

  • AInputs :  LongBool  -  true = disconnect all inputs to this DSP unit. false = leave input connections alone. true = disconnect all outputs to this DSP unit. false = leave output connections alone.
  • AOutputs :  LongBool  -  true = disconnect all inputs to this DSP unit. false = leave input connections alone. true = disconnect all outputs to this DSP unit. false = leave output connections alone.
public procedure GetInput  ( AIndex :  Integer; out  AInput :  IGorillaFMODDSP; out  AInputConnection :  IGorillaFMODDSPConnection ) ;  abstract virtual;

Retrieves a pointer to a DSP unit which is acting as an input to this unit.

Parameters

  • AIndex :  Integer  -  Index of the input unit to retrieve. Address of a variable that receieves the pointer to the desired input unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore.
  • out  AInput :  IGorillaFMODDSP  -  Index of the input unit to retrieve. Address of a variable that receieves the pointer to the desired input unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore.
  • out  AInputConnection :  IGorillaFMODDSPConnection  -  Index of the input unit to retrieve. Address of a variable that receieves the pointer to the desired input unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore.
public procedure GetOutput  ( AIndex :  Integer; out  AOutput :  IGorillaFMODDSP; out  AOutputConnection :  IGorillaFMODDSPConnection ) ;  abstract virtual;

Retrieves a pointer to a DSP unit which is acting as an output to this unit.

Parameters

  • AIndex :  Integer  -  Index of the output unit to retrieve. Address of a variable that receieves the pointer to the desired output unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore.
  • out  AOutput :  IGorillaFMODDSP  -  Index of the output unit to retrieve. Address of a variable that receieves the pointer to the desired output unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore.
  • out  AOutputConnection :  IGorillaFMODDSPConnection  -  Index of the output unit to retrieve. Address of a variable that receieves the pointer to the desired output unit. The connection between the 2 units. Optional. Specify 0 or NULL to ignore.
public function GetOutputChannelFormat  ( AInMask :  Cardinal; AInChannels :  Integer; AInSpeakerMode :  FMOD_SPEAKERMODE )  : TGorillaFMODChannelFormat ;  abstract overload virtual;

Call the DSP process function to retrieve the output signal format for a DSP based on input values.

public function GetOutputChannelFormat  ( AInputChannelFormat :  TGorillaFMODChannelFormat )  : TGorillaFMODChannelFormat ;  abstract overload virtual;
public procedure Reset  ( ) ;  abstract virtual;

Calls the DSP unit's reset function, which will clear internal buffers and reset the unit back to an initial state.

public procedure SetParameterFloat  ( AIndex :  Integer; AValue :  Single ) ;  abstract virtual;

Sets a DSP unit's floating point parameter by index. To find out the parameter names and range, see the see also field.

public procedure SetParameterInt  ( AIndex :  Integer; AValue :  Integer ) ;  abstract virtual;

Sets a DSP unit's integer parameter by index. To find out the parameter names and range, see the see also field.

public procedure SetParameterBool  ( AIndex :  Integer; AValue :  LongBool ) ;  abstract virtual;

Sets a DSP unit's boolean parameter by index. To find out the parameter names and range, see the see also field.

public procedure SetParameterData  ( AIndex :  Integer; AData :  Pointer; ALength :  Cardinal ) ;  abstract virtual;

Sets a DSP unit's binary data parameter by index. To find out the parameter names and range, see the see also field.

public procedure GetParameterFloat  ( AIndex :  Integer; var  AValue :  Single; var  AValueStr :  string ) ;  abstract virtual;

Retrieves a DSP unit's floating point parameter by index. To find out the parameter names and range, see the see also field.

public procedure GetParameterInt  ( AIndex :  Integer; var  AValue :  Integer; var  AValueStr :  string ) ;  abstract virtual;

Retrieves a DSP unit's integer parameter by index. To find out the parameter names and range, see the see also field.

public procedure GetParameterBool  ( AIndex :  Integer; var  AValue :  LongBool; var  AValueStr :  string ) ;  abstract virtual;

Retrieves a DSP unit's boolean parameter by index. To find out the parameter names and range, see the see also field.

public procedure GetParameterData  ( AIndex :  Integer; var  AData :  Pointer; var  ALength :  Cardinal; var  AValueStr :  string ) ;  abstract virtual;

Retrieves a DSP unit's data block parameter by index. To find out the parameter names and range, see the see also field.

public procedure GetParameterInfo  ( AIndex :  Integer; var  ADesc :  PFMOD_DSPParameterDesc ) ;  abstract virtual;

Retrieve information about a specified parameter within the DSP unit.

public function GetDataParameterIndex  ( ADatatype :  Integer )  : Integer ;  abstract virtual;

Retrieve the index of the first data parameter of a particular data type.

public procedure ShowConfigDialog  ( AHWND :  Pointer; AShow :  LongBool ) ;  abstract virtual;

Display or hide a DSP unit configuration dialog box inside the target window.

Parameters

  • AHWND :  Pointer  -  Target HWND in windows to display configuration dialog. true = show dialog box inside target hwnd. false = remove dialog from target hwnd.
  • AShow :  LongBool  -  Target HWND in windows to display configuration dialog. true = show dialog box inside target hwnd. false = remove dialog from target hwnd.
public function GetInfo  ( )  : TGorillaFMODDSPInfo ;  abstract virtual;

Retrieves information about the current DSP unit, including name, version, default channels and width and height of configuration dialog box if it exists.

public procedure SetMeteringEnabled  ( AInputEnabled :  LongBool; AOutputEnabled :  LongBool ) ;  abstract virtual;

Enable metering for a DSP unit so that DSP::getMeteringInfo will return metering information, and so that FMOD Studio profiler tool can visualize the levels.

Parameters

  • AInputEnabled :  LongBool  -  Enable metering for the input signal (pre-processing). Specify true to turn on input level metering, false to turn it off. Enable metering for the output signal (post-processing). Specify true to turn on output level metering, false to turn it off.
  • AOutputEnabled :  LongBool  -  Enable metering for the input signal (pre-processing). Specify true to turn on input level metering, false to turn it off. Enable metering for the output signal (post-processing). Specify true to turn on output level metering, false to turn it off.
public procedure GetMeteringEnabled  ( var  AInputEnabled :  LongBool; var  AOutputEnabled :  LongBool ) ;  abstract virtual;

Retrieve the information about metering for a particular DSP to see if it is enabled or not.

Parameters

  • var  AInputEnabled :  LongBool  -  Address of a variable to receive the metering enabled state for the DSP, for the intput signal (pre-processing). true = on, false = off. Optional. Specify 0 or NULL to ignore. Address of a variable to receive the metering enabled state for the DSP, for the output signal (post-processing). true = on, false = off. Optional. Specify 0 or NULL to ignore.
  • var  AOutputEnabled :  LongBool  -  Address of a variable to receive the metering enabled state for the DSP, for the intput signal (pre-processing). true = on, false = off. Optional. Specify 0 or NULL to ignore. Address of a variable to receive the metering enabled state for the DSP, for the output signal (post-processing). true = on, false = off. Optional. Specify 0 or NULL to ignore.
public procedure GetMeteringInfo  ( var  AInputInfo :  FMOD_DSP_METERING_INFO; var  AOutputInfo :  FMOD_DSP_METERING_INFO ) ;  abstract virtual;

Retrieve the metering information for a particular DSP.

Parameters

  • var  AInputInfo :  FMOD_DSP_METERING_INFO  -  Address of a variable to receive metering information for the DSP, for the intput signal (pre-processing). true = on, false = off. Optional. Specify 0 or NULL to ignore. Address of a variable to receive metering information for the DSP, for the output signal (post-processing). true = on, false = off. Optional. Specify 0 or NULL to ignore.
  • var  AOutputInfo :  FMOD_DSP_METERING_INFO  -  Address of a variable to receive metering information for the DSP, for the intput signal (pre-processing). true = on, false = off. Optional. Specify 0 or NULL to ignore. Address of a variable to receive metering information for the DSP, for the output signal (post-processing). true = on, false = off. Optional. Specify 0 or NULL to ignore.

Properties

public NumInputs : Integer

Retrieves the number of inputs connected to the DSP unit.

read GetNumInputs
public NumOutputs : Integer

Retrieves the number of outputs connected to the DSP unit.

read GetNumOutputs
public Active : LongBool

Enables or disables a unit for being processed. true = unit is activated, false = unit is deactivated.

read GetActive
write SetActive
public Bypass : LongBool

Enables or disables the read callback of a DSP unit so that it does or doesn't process the data coming into it. A DSP unit that is disabled still processes its inputs, it will just be 'dry'.

read GetBypass
write SetBypass
public WetDryMix : TGorillaFMODWetDryMix

Allows the user to scale the affect of a DSP effect, through control of the 'wet' mix, which is the post-processed signal and the 'dry' which is the pre-processed signal.

read GetWetDryMix
write SetWetDryMix
public ChannelFormat : TGorillaFMODChannelFormat

Sets the signal format of a dsp unit so that the signal is processed on the speakers specified. Also defines the number of channels in the unit that a read callback will process, and the output signal of the unit.

read GetChannelFormat
write SetChannelFormat
public NumParameters : Integer

Retrieves the number of parameters a DSP unit has to control its behaviour.

read GetNumParameters
public _Type : FMOD_DSP_TYPE

Retrieves the pre-defined type of a FMOD registered DSP unit.

read GetType
public Idle : LongBool

Retrieves the idle state of a DSP. A DSP is idle when no signal is coming into it. This can be a useful method of determining if a DSP sub branch is finished processing, so it can be disconnected for example.

read GetIdle
public UserData : Pointer

A user value that the DSP object will store internally. Can be retrieved with DSP::getUserData.

read GetUserData
write SetUserData

IGorillaFMODDSPConnection

Default wrapper record structure for handling FMODDSPConnections.

Methods

public function GetInput  ( )  : IGorillaFMODDSP ;  abstract virtual;
public function GetOutput  ( )  : IGorillaFMODDSP ;  abstract virtual;
public function GetMix  ( )  : Single ;  abstract virtual;
public procedure SetMix  ( const  AValue :  Single ) ;  abstract virtual;
public function GetMixMatrix  ( )  : TGorillaFMODMixMatrix ;  abstract virtual;
public procedure SetMixMatrix  ( const  AValue :  TGorillaFMODMixMatrix ) ;  abstract virtual;
public function GetType  ( )  : FMOD_DSPCONNECTION_TYPE ;  abstract virtual;
public function GetUserData  ( )  : Pointer ;  abstract virtual;
public procedure SetUserData  ( const  AValue :  Pointer ) ;  abstract virtual;

Properties

public Input : IGorillaFMODDSP

Retrieves the DSP unit that is the input of this connection.

read GetInput
public Output : IGorillaFMODDSP

Retrieves the DSP unit that is the output of this connection.

read GetOutput
public Mix : Single

Sets the volume of the connection so that the input is scaled by this value before being passed to the output.

read GetMix
write SetMix
public MixMatrix : TGorillaFMODMixMatrix

Sets a NxN panning matrix on a DSP connection. Skipping/hop is supported, so memory for the matrix can be wider than the width of the inchannels parameter.

read GetMixMatrix
write SetMixMatrix
public _Type : FMOD_DSPCONNECTION_TYPE

Returns the type of the connection between 2 DSP units. This can be FMOD_DSPCONNECTION_TYPE_STANDARD, FMOD_DSPCONNECTION_TYPE_SIDECHAIN, FMOD_DSPCONNECTION_TYPE_SEND or FMOD_DSPCONNECTION_TYPE_SEND_SIDECHAIN.

read GetType
public UserData : Pointer

Sets a user value that the DSPConnection object will store internally. Can be retrieved with DSPConnection::getUserData.

read GetUserData
write SetUserData