Copyright © 2011-2019 MultiMedia Soft

Effects.CustomDspInternalSetFunction method

Previous pageReturn to chapter overviewNext page

Remarks

 

Sets the the callback function of the internal custom DSP. The callback of an internal custom DSP is nothing more than a simple function that will receive original WAV PCM sound data to be modified on the fly.

 

For further details about managing a custom DSP effect refer to the How to manage custom DSP effects section.

For further details about methods related to the use of special effects refer to the EffectsMan class.

 

 

Syntax

 

[Visual Basic]

Public Function CustomDspInternalSetFunction (

nIdDsp as Int32,

function as DSPCallbackFunction

) as enumErrorCodes


 

[C#]

public enumErrorCodes CustomDspInternalSetFunction (

Int32 nIdDsp,

DSPCallbackFunction function

);


 

[C++]

public: enumErrorCodes CustomDspInternalSetFunction (

Int32 nIdDsp,

DSPCallbackFunction function

);


 

 

Parameter

Description

 

 

nIdDsp

Unique identifier of the custom DSP as returned by the Effects.CustomDspInternalLoad method

function

Pointer to the callback function containing the code that will effectively modify original WAV PCM data. Remember that callback functions must be as fast as possible in order to avoid slowing down overall performances.

A callback function is defined like this:

 

[Visual Basic ]

 

Private Sub MyCustomCallback (

ByVal bufferSamples As IntPtr,

ByVal bufferSamplesLength As Int32,

ByVal nUserData As Int32

)

 

[C#]

 

private void MyCustomCallback (

IntPtr bufferSamples,

Int32 bufferSamplesLength,

Int32 nUserData

);

 

[C++]

 

void ReverbCallback(

IntPtr bufferSamples,

Int32 bufferSamplesLength,

Int32 nUserData

);

 

where

bufferSamples

Pointer to the buffer containing WAV PCM samples to be processed by the DSP in one of the following formats:

8-bit samples are unsigned

16-bit samples are signed

32-bit floating-point samples can range from -1 to +1: note that they are not clipped so they could be outside the mentioned range.

 

You can instruct the DSP using 32-bit floating-point samples only through the Effects.CustomDspUseFloatSamples method.

bufferSamplesLength

The length in bytes of the buffer above

nUserData

User specific data

 

 

 

 

Return value

 

Value

Meaning

 

 

Negative value

An error occurred (see the LastError property for further error details)

enumErrorCodes.ERR_NOERROR (0)

The method call was successful.