Copyright © 2005-2019 MultiMedia Soft

CustomDSP.InternalSetFunction 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 methods related to the use of custom DSP effects refer to the CustomDSPs class.

Further information about the use of Custom DSP effects can be found inside the How to manage custom DSP effects tutorial.

 

 

Syntax

 

[Visual Basic]

Public Function InternalSetFunction (

nPlayerIndex as Int16,

nIdDsp as Int32,

function as DSPCallbackFunction

) as enumErrorCodes


 

[C#]

public enumErrorCodes InternalSetFunction (

Int16 nPlayerIndex,

Int32 nIdDsp,

DSPCallbackFunction function

);


 

[C++]

public: enumErrorCodes InternalSetFunction (

Int16 nPlayerIndex,

Int32 nIdDsp,

DSPCallbackFunction function

);


 

 

Parameter

Description

 

 

nPlayerIndex

Number representing the zero-based index of the involved player

nIdDsp

Unique identifier of the custom DSP

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

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 CustomDSP.UseFloatSamples 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.NOERROR (0)

The method call was successful.