1767 lines
89 KiB
C
Executable File
1767 lines
89 KiB
C
Executable File
/* Copyright (c) 2006 NVIDIA Corporation. All rights reserved.
|
|
*
|
|
* NVIDIA Corporation and its licensors retain all intellectual property
|
|
* and proprietary rights in and to this software, related documentation
|
|
* and any modifications thereto. Any use, reproduction, disclosure or
|
|
* distribution of this software and related documentation without an
|
|
* express license agreement from NVIDIA Corporation is strictly prohibited.
|
|
*/
|
|
|
|
/** @file GFMmProc.h
|
|
GFSDK Multimedia Processor API header file.
|
|
*/
|
|
|
|
#ifndef __GFMmProc_H__
|
|
#define __GFMmProc_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif /* __cplusplus */
|
|
|
|
/** @addtogroup groupMmProc MmProcAPI Multimedia Processor API
|
|
*/
|
|
/*@{*/
|
|
|
|
// Typesafe functions for opening and closing this component
|
|
GF_RETTYPE GFMmProcOpen(GFRmHandle hRm, GFMmProcHandle *phMmProc,
|
|
GF_STATE_TYPE state, GFRmChHandle hCh);
|
|
void GFMmProcClose(GFRmHandle hRm, GFMmProcHandle *phMmProc);
|
|
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
//
|
|
// Packages
|
|
//
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
|
|
//
|
|
// These defines are used to import or remove functionality within the audio
|
|
// engine.
|
|
//
|
|
//#define GFMMPROC_BASIC_AUDIO
|
|
|
|
//
|
|
// Adds audio controls to the package beyond basic playback.
|
|
//
|
|
//#define GFMMPROC_BASIC_AUDIO
|
|
|
|
//
|
|
// Adds advanced multimedia processing and functionality.
|
|
//
|
|
// NOTE: Currently the advanced feature set requires the basic level of audio
|
|
// support. This requirement may not be present in future revisions.
|
|
//
|
|
//#define GFMMPROC_BASIC_AUDIO
|
|
//#define GFMMPROC_ADVANCED
|
|
|
|
//
|
|
// Adds 3D audio controls (requires GFMMPROC_ADVANCED).
|
|
//
|
|
//#define GFMMPROC_BASIC_AUDIO
|
|
//#define GFMMPROC_ADVANCED
|
|
//#define GFMMPROC_ADVANCED_3D_AUDIO_CONTROLS
|
|
|
|
//
|
|
// Adds advanced controls (requires GFMMPROC_ADVANCED).
|
|
//
|
|
//#define GFMMPROC_BASIC_AUDIO
|
|
//#define GFMMPROC_ADVANCED
|
|
//#define GFMMPROC_ADVANCED_CONTROLS
|
|
|
|
//
|
|
// Adds global effect audio controls (requires GFMMPROC_ADVANCED_CONTROLS).
|
|
//
|
|
//#define GFMMPROC_BASIC_AUDIO
|
|
//#define GFMMPROC_ADVANCED
|
|
//#define GFMMPROC_ADVANCED_CONTROLS
|
|
//#define GFMMPROC_ADVANCED_AUDIO_EFFECT_CONTROLS
|
|
|
|
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
//
|
|
// Defines
|
|
//
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
|
|
#if defined GFMMPROC_BASIC_AUDIO || defined GFMMPROC_ADVANCED
|
|
#define GFMMPROC_TIME_UNITS_PER_SECOND 1000000
|
|
#endif
|
|
|
|
typedef GF_HANDLE GFMMPROC_OBJECT;
|
|
|
|
|
|
//*****************************************************************************
|
|
// Object
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_OBJECT_TABLE
|
|
{
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
} GFMMPROC_OBJECT_TABLE;
|
|
|
|
#define GFMMPROC_OBJECT_DEFAULT_STR "Object"
|
|
#define GFMMPROC_OBJECT_MANAGER_STR "Manager"
|
|
#define GFMMPROC_OBJECT_GLOBAL_MANAGER_STR "GlobalManager"
|
|
#define GFMMPROC_OBJECT_PLAYER_STR "Player"
|
|
#define GFMMPROC_OBJECT_SOUND_SOURCE_3D_STR "SoundSource3D"
|
|
#define GFMMPROC_OBJECT_SPECTATOR_STR "Spectator"
|
|
#define GFMMPROC_OBJECT_MODULE_STR "Module"
|
|
#define GFMMPROC_OBJECT_MEDIA_PROCESSOR_STR "MediaProcessor"
|
|
#define GFMMPROC_OBJECT_CODEC_STR "Codec"
|
|
|
|
#define GFMMPROC_CONTROL_DEFAULT_STR "Control"
|
|
#define GFMMPROC_CONTROL_MIDI_STR "MIDI"
|
|
#define GFMMPROC_CONTROL_PITCH_STR "Pitch"
|
|
#define GFMMPROC_CONTROL_RATE_STR "Rate"
|
|
#define GFMMPROC_CONTROL_RECORD_STR "Record"
|
|
#define GFMMPROC_CONTROL_STOP_TIME_STR "StopTime"
|
|
#define GFMMPROC_CONTROL_TEMPO_STR "Tempo"
|
|
#define GFMMPROC_CONTROL_TONE_STR "Tone"
|
|
#define GFMMPROC_CONTROL_VOLUME_STR "Volume"
|
|
|
|
#define GFMMPROC_CONTROL_AUDIO_FORMAT_STR "AudioFormat"
|
|
#define GFMMPROC_CONTROL_EFFECT_STR "Effect"
|
|
#define GFMMPROC_CONTROL_EFFECT_ORDER_STR "EffectOrder"
|
|
#define GFMMPROC_CONTROL_FORMAT_STR "Format"
|
|
#define GFMMPROC_CONTROL_MIDI_CHANNEL_STR "MIDIChannel"
|
|
#define GFMMPROC_CONTROL_PAN_STR "Pan"
|
|
#define GFMMPROC_CONTROL_PRIORITY_STR "Priority"
|
|
|
|
#define GFMMPROC_CONTROL_COMMIT_STR "Commit"
|
|
#define GFMMPROC_CONTROL_ORIENTATION_STR "Orientation"
|
|
#define GFMMPROC_CONTROL_DIRECTIVITY_STR "Directivity"
|
|
#define GFMMPROC_CONTROL_DISTANCE_ATTENUATION_STR "DistanceAttenuation"
|
|
#define GFMMPROC_CONTROL_DOPPLER_STR "Doppler"
|
|
#define GFMMPROC_CONTROL_LOCATION_STR "Location"
|
|
#define GFMMPROC_CONTROL_MACROSCOPIC_STR "Macroscopic"
|
|
#define GFMMPROC_CONTROL_OBSTRUCTION_STR "Obstruction"
|
|
#define GFMMPROC_CONTROL_3DCOEFFICIENTS_STR "3DCoefficients"
|
|
|
|
#define GFMMPROC_CONTROL_EFFECT_AUDIO_VIRTUALIZER_STR "AudioVirtualizer"
|
|
#define GFMMPROC_CONTROL_EFFECT_ACOUSTIC_ECHO_CANCELLATION_STR "AcousticEchoCancellation"
|
|
#define GFMMPROC_CONTROL_EFFECT_SBC_STR "SBC"
|
|
#define GFMMPROC_CONTROL_EFFECT_SBR_STR "SBR"
|
|
#define GFMMPROC_CONTROL_EFFECT_DRC_STR "DRC"
|
|
#define GFMMPROC_CONTROL_EFFECT_CHORUS_STR "Chorus"
|
|
#define GFMMPROC_CONTROL_EFFECT_EQUALIZER_STR "Equalizer"
|
|
#define GFMMPROC_CONTROL_EFFECT_REVERB_STR "Reverb"
|
|
#define GFMMPROC_CONTROL_REVERB_SOURCE_STR "ReverbSource"
|
|
|
|
|
|
#define GFMmProcObjectIsInstance(handle, objectType) \
|
|
((GFMMPROC_OBJECT_TABLE*)handle)->MmProcObjectIsInstance(handle, objectType)
|
|
|
|
GF_HANDLE GFMmProcObjectAlloc(GFMmProcHandle component, const char* objectType);
|
|
void GFMmProcObjectFree(GF_HANDLE handle);
|
|
|
|
#if defined GFMMPROC_BASIC_AUDIO || defined GFMMPROC_ADVANCED
|
|
|
|
typedef GF_HANDLE GFMMPROC_STREAM;
|
|
|
|
//*****************************************************************************
|
|
// Stream
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_STREAM_TABLE
|
|
{
|
|
void (*MmProcStreamClose)(GFMMPROC_STREAM handle);
|
|
NvS32 (*MmProcStreamGetBuffer)(GFMMPROC_STREAM handle, NvU32 tag, void** descriptor, void** buffer);
|
|
void (*MmProcStreamReleaseBuffer)(GFMMPROC_STREAM handle, NvU32 tag, NvU32 status, NvU32 size);
|
|
void (*MmProcStreamReset)(GFMMPROC_STREAM handle);
|
|
|
|
} GFMMPROC_STREAM_TABLE;
|
|
|
|
#define GFMMPROC_STREAM_END_OF_MEDIA 0x00000001
|
|
|
|
#define GFMmProcStreamClose(handle) \
|
|
((GFMMPROC_STREAM_TABLE*)handle)->MmProcStreamClose(handle)
|
|
#define GFMmProcStreamGetBuffer(handle, tag, descriptor, buffer) \
|
|
((GFMMPROC_STREAM_TABLE*)handle)->MmProcStreamGetBuffer(handle, tag, descriptor, buffer)
|
|
#define GFMmProcStreamReleaseBuffer(handle, tag, status, size) \
|
|
((GFMMPROC_STREAM_TABLE*)handle)->MmProcStreamReleaseBuffer(handle, tag, status, size)
|
|
#define GFMmProcStreamReset(handle) \
|
|
((GFMMPROC_STREAM_TABLE*)handle)->MmProcStreamReset(handle)
|
|
|
|
#endif // #if defined GFMMPROC_BASIC_AUDIO || defined GFMMPROC_ADVANCED
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
//
|
|
//
|
|
// GFMMPROC_BASIC_AUDIO
|
|
//
|
|
//
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
|
|
#if defined GFMMPROC_BASIC_AUDIO
|
|
|
|
typedef GFMMPROC_OBJECT GFMMPROC_CONTROL;
|
|
typedef GF_HANDLE GFMMPROC_CONTROLLABLE;
|
|
typedef GFMMPROC_OBJECT GFMMPROC_MANAGER;
|
|
typedef GFMMPROC_CONTROLLABLE GFMMPROC_PLAYER;
|
|
typedef GF_HANDLE GFMMPROC_PLAYER_LISTENER;
|
|
typedef GF_HANDLE GFMMPROC_TIME_BASE;
|
|
typedef enum {
|
|
GFMMPROC_CODEC_TYPE_UNSPECIFIED = 0,
|
|
GFMMPROC_CODEC_TYPE_I2S,
|
|
GFMMPROC_CODEC_TYPE_AC97
|
|
} GFMMPROC_CODEC_TYPE;
|
|
|
|
//*****************************************************************************
|
|
// Control
|
|
//*****************************************************************************
|
|
//
|
|
typedef GFMMPROC_OBJECT_TABLE GFMMPROC_CONTROL_TABLE;
|
|
|
|
|
|
//*****************************************************************************
|
|
// Controllable
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROLLABLE_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
GFMMPROC_CONTROL (*MmProcControllableGetControl)(GFMMPROC_CONTROLLABLE handle, char* controlType);
|
|
GFMMPROC_CONTROL* (*MmProcControllableGetControls)(GFMMPROC_CONTROLLABLE handle);
|
|
|
|
} GFMMPROC_CONTROLLABLE_TABLE;
|
|
|
|
#define GFMmProcControllableGetControl(handle, controlType) \
|
|
((GFMMPROC_CONTROLLABLE_TABLE*)handle)->MmProcControllableGetControl(handle, controlType)
|
|
#define GFMmProcControllableGetControls(handle) \
|
|
((GFMMPROC_CONTROLLABLE_TABLE*)handle)->MmProcControllableGetControls(handle)
|
|
|
|
|
|
//*****************************************************************************
|
|
// Manager
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_MANAGER_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
GFMMPROC_PLAYER (*MmProcManagerCreatePlayer)(GFMMPROC_MANAGER handle, char* locator);
|
|
// GFMMPROC_PLAYER (*MmProcManagerCreatePlayerForDataSource)(GFMMPROC_MANAGER handle, DataSource source);
|
|
GFMMPROC_PLAYER (*MmProcManagerCreatePlayerForStream)(GFMMPROC_MANAGER handle, GFMMPROC_STREAM stream, char* contentType);
|
|
char* (*MmProcManagerGetSupportedContentTypes)(GFMMPROC_MANAGER handle, char* protocol);
|
|
char* (*MmProcManagerGetSupportedProtocols)(GFMMPROC_MANAGER handle, char* contentType);
|
|
GFMMPROC_TIME_BASE (*MmProcManagerGetSystemTimeBase)(GFMMPROC_MANAGER handle);
|
|
void (*MmProcManagerPlayTone)(GFMMPROC_MANAGER handle, NvU32 note, NvU32 duration, NvU32 volume);
|
|
void (*MmProcManagerProcess)(GFMMPROC_MANAGER handle);
|
|
GFMMPROC_CODEC_TYPE (*MmProcManagerGetCodecType)(GFMMPROC_MANAGER handle);
|
|
void (*MmProcManagerCodecWrite)(GFMMPROC_MANAGER handle, NvU32 offset, NvU32 value);
|
|
NvU32 (*MmProcManagerCodecRead)(GFMMPROC_MANAGER handle, NvU32 offset);
|
|
|
|
} GFMMPROC_MANAGER_TABLE;
|
|
|
|
#define GFMMPROC_MANAGER_MIDI_DEVICE_LOCATOR "device://midi"
|
|
#define GFMMPROC_MANAGER_TONE_DEVICE_LOCATOR "device://tone"
|
|
|
|
#define GFMmProcManagerCreatePlayer(handle, locator) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerCreatePlayer(handle, locator)
|
|
//#define GFMmProcManagerCreatePlayerForDataSource(handle, source) Add multiline delineator here
|
|
// ((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerCreatePlayerForDataSource(handle, source)
|
|
#define GFMmProcManagerCreatePlayerForStream(handle, stream, contentType) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerCreatePlayerForStream(handle, stream, contentType)
|
|
#define GFMmProcManagerGetSupportedContentTypes(handle, protocol) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerGetSupportedContentTypes(handle, protocol)
|
|
#define GFMmProcManagerGetSupportedProtocols(handle, contentType) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerGetSupportedProtocols(handle, contentType)
|
|
#define GFMmProcManagerGetSystemTimeBase(handle) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerGetSystemTimeBase(handle)
|
|
#define GFMmProcManagerPlayTone(handle, note, duration, volume) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerPlayTone(handle, note, duration, volume)
|
|
#define GFMmProcManagerProcess(handle) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerProcess(handle)
|
|
#define MmProcManagerGetCodecType(handle) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerGetCodecType(handle)
|
|
#define MmProcManagerCodecWrite(handle, offset, value) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerCodecWrite(handle, offset, value)
|
|
#define MmProcManagerCodecRead(handle, offset) \
|
|
((GFMMPROC_MANAGER_TABLE*)handle)->MmProcManagerCodecRead(handle, offset)
|
|
|
|
|
|
//*****************************************************************************
|
|
// Player
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_PLAYER_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
//
|
|
// Controllable Methods
|
|
//
|
|
GFMMPROC_CONTROL (*MmProcControllableGetControl)(GFMMPROC_CONTROLLABLE handle, char* controlType);
|
|
GFMMPROC_CONTROL* (*MmProcControllableGetControls)(GFMMPROC_CONTROLLABLE handle);
|
|
|
|
void (*MmProcPlayerAddPlayerListener)(GFMMPROC_PLAYER handle, GFMMPROC_PLAYER_LISTENER playerListener);
|
|
void (*MmProcPlayerClose)(GFMMPROC_PLAYER handle);
|
|
void (*MmProcPlayerDeallocate)(GFMMPROC_PLAYER handle);
|
|
char* (*MmProcPlayerGetContentType)(GFMMPROC_PLAYER handle);
|
|
NvS64 (*MmProcPlayerGetDuration)(GFMMPROC_PLAYER handle);
|
|
NvS64 (*MmProcPlayerGetMediaTime)(GFMMPROC_PLAYER handle);
|
|
NvU32 (*MmProcPlayerGetState)(GFMMPROC_PLAYER handle);
|
|
GFMMPROC_TIME_BASE (*MmProcPlayerGetTimeBase)(GFMMPROC_PLAYER handle);
|
|
NvU32 (*MmProcPlayerPrefetch)(GFMMPROC_PLAYER handle);
|
|
void (*MmProcPlayerPull)(GFMMPROC_PLAYER handle, NvS32 allow);
|
|
void (*MmProcPlayerRealize)(GFMMPROC_PLAYER handle);
|
|
void (*MmProcPlayerRemovePlayerListener)(GFMMPROC_PLAYER handle, GFMMPROC_PLAYER_LISTENER playerListener);
|
|
void (*MmProcPlayerSetLoopCount)(GFMMPROC_PLAYER handle, NvS32 count);
|
|
NvS64 (*MmProcPlayerSetMediaTime)(GFMMPROC_PLAYER handle, NvS64 now);
|
|
void (*MmProcPlayerSetTimeBase)(GFMMPROC_PLAYER handle, GFMMPROC_TIME_BASE master);
|
|
void (*MmProcPlayerStart)(GFMMPROC_PLAYER handle);
|
|
void (*MmProcPlayerStop)(GFMMPROC_PLAYER handle);
|
|
|
|
} GFMMPROC_PLAYER_TABLE;
|
|
|
|
#define GFMMPROC_PLAYER_UNREALIZED 100
|
|
#define GFMMPROC_PLAYER_REALIZED 200
|
|
#define GFMMPROC_PLAYER_PREFETCHED 300
|
|
#define GFMMPROC_PLAYER_STARTED 400
|
|
#define GFMMPROC_PLAYER_CLOSED 0
|
|
#define GFMMPROC_PLAYER_TIME_UNKNOWN -1
|
|
|
|
#define GFMmProcPlayerAddPlayerListener(handle, playerListener) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerAddPlayerListener(handle, playerListener)
|
|
#define GFMmProcPlayerClose(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerClose(handle)
|
|
#define GFMmProcPlayerDeallocate(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerDeallocate(handle)
|
|
#define GFMmProcPlayerGetContentType(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerGetContentType(handle)
|
|
#define GFMmProcPlayerGetDuration(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerGetDuration(handle)
|
|
#define GFMmProcPlayerGetMediaTime(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerGetMediaTime(handle)
|
|
#define GFMmProcPlayerGetState(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerGetState(handle)
|
|
#define GFMmProcPlayerGetTimeBase(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerGetTimeBase(handle)
|
|
#define GFMmProcPlayerPrefetch(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerPrefetch(handle)
|
|
#define GFMmProcPlayerPull(handle, allow) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerPull(handle, allow)
|
|
#define GFMmProcPlayerRealize(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerRealize(handle)
|
|
#define GFMmProcPlayerRemovePlayerListener(handle, playerListener) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerRemovePlayerListener(handle, playerListener)
|
|
#define GFMmProcPlayerSetLoopCount(handle, count) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerSetLoopCount(handle, count)
|
|
#define GFMmProcPlayerSetMediaTime(handle, now) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerSetMediaTime(handle, now)
|
|
#define GFMmProcPlayerSetTimeBase(handle, master) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerSetMediaTime(handle, master)
|
|
#define GFMmProcPlayerStart(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerStart(handle)
|
|
#define GFMmProcPlayerStop(handle) \
|
|
((GFMMPROC_PLAYER_TABLE*)handle)->MmProcPlayerStop(handle)
|
|
|
|
|
|
//*****************************************************************************
|
|
// PlayerListener
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_PLAYER_LISTENER_TABLE
|
|
{
|
|
void (*MmProcPlayerListenerPlayerUpdate)(GFMMPROC_PLAYER_LISTENER handle, GFMMPROC_PLAYER player, const char* event, void* eventData);
|
|
|
|
} GFMMPROC_PLAYER_LISTENER_TABLE;
|
|
|
|
#define GFMMPROC_PLAYER_LISTENER_BUFFERING_STARTED "bufferingStarted"
|
|
#define GFMMPROC_PLAYER_LISTENER_BUFFERING_STOPPED "bufferingStopped"
|
|
#define GFMMPROC_PLAYER_LISTENER_CLOSED "closed"
|
|
#define GFMMPROC_PLAYER_LISTENER_END_OF_MEDIA "endOfMedia"
|
|
#define GFMMPROC_PLAYER_LISTENER_DEVICE_AVAILABLE "deviceAvailable"
|
|
#define GFMMPROC_PLAYER_LISTENER_DEVICE_UNAVAILABLE "deviceUnavailable"
|
|
#define GFMMPROC_PLAYER_LISTENER_DURATION_UPDATED "durationUpdated"
|
|
#define GFMMPROC_PLAYER_LISTENER_ERROR "error"
|
|
#define GFMMPROC_PLAYER_LISTENER_FORMAT_CHANGED "formatChanged"
|
|
#define GFMMPROC_PLAYER_LISTENER_RECORD_ERROR "recordError"
|
|
#define GFMMPROC_PLAYER_LISTENER_RECORD_STARTED "recordStarted"
|
|
#define GFMMPROC_PLAYER_LISTENER_RECORD_STOPPED "recordStopped"
|
|
#define GFMMPROC_PLAYER_LISTENER_STARTED "started"
|
|
#define GFMMPROC_PLAYER_LISTENER_STOPPED "stopped"
|
|
#define GFMMPROC_PLAYER_LISTENER_STOPPED_AT_TIME "stoppedAtTime"
|
|
#define GFMMPROC_PLAYER_LISTENER_VOLUME_CHANGED "volumeChanged"
|
|
|
|
#define GFMmProcPlayerListenerPlayerUpdate(handle, player, event, eventData) \
|
|
((GFMMPROC_PLAYER_LISTENER_TABLE*)handle)->MmProcPlayerListenerPlayerUpdate(handle, player, event, eventData)
|
|
|
|
|
|
//*****************************************************************************
|
|
// TimeBase
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_TIME_BASE_TABLE
|
|
{
|
|
NvU32 (*MmProcTimeBaseGetTime)(GFMMPROC_TIME_BASE handle);
|
|
|
|
} GFMMPROC_TIME_BASE_TABLE;
|
|
|
|
#define GFMmProcTimeBaseGetTime(handle) \
|
|
((GFMMPROC_TIME_BASE_TABLE*)handle)->MmProcTimeBaseGetTime(handle)
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
//
|
|
//
|
|
// GFMMPROC_BASIC_AUDIO_CONTROLS
|
|
//
|
|
//
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
|
|
#if defined GFMMPROC_BASIC_AUDIO_CONTROLS
|
|
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_MIDI;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_PITCH;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_RATE;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_RECORD;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_STOP_TIME;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_TEMPO;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_TONE;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_VOLUME;
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
// MIDIControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_MIDI_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32* (*MmProcControlMidiGetBankList)(GFMMPROC_CONTROL_MIDI hande, NvS32 custom);
|
|
NvS8 (*MmProcControlMidiGetChannelVolume)(GFMMPROC_CONTROL_MIDI hande, NvU8 channel);
|
|
char* (*MmProcControlMidiGetKeyName)(GFMMPROC_CONTROL_MIDI hande, NvS32 bank, NvS32 program, NvS32 key);
|
|
NvS32* (*MmProcControlMidiGetProgram)(GFMMPROC_CONTROL_MIDI hande, NvU8 channel);
|
|
NvS32* (*MmProcControlMidiGetProgramList)(GFMMPROC_CONTROL_MIDI hande, NvS32 bank);
|
|
char* (*MmProcControlMidiGetProgramName)(GFMMPROC_CONTROL_MIDI hande, NvS32 bank, NvS32 program);
|
|
NvS32 (*MmProcControlMidiIsBankQuerySupported)(GFMMPROC_CONTROL_MIDI hande);
|
|
NvS32 (*MmProcControlMidiLongMidiEvent)(GFMMPROC_CONTROL_MIDI hande, NvS8* data, NvS32 offset, NvS32 length);
|
|
void (*MmProcControlMidiShortMidiEvent)(GFMMPROC_CONTROL_MIDI hande, NvS32 type, NvS32 data1, NvS32 data2);
|
|
|
|
} GFMMPROC_CONTROL_MIDI_TABLE;
|
|
|
|
#define GFMMPROC_CONTROL_MIDI_CONTROL_CHANGE 176
|
|
#define GFMMPROC_CONTROL_MIDI_NOTE_ON 144
|
|
|
|
#define GFMmProcControlMidiGetBankList(handle, custom) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->MmProcControlMidiGetBankList(handle, custom)
|
|
#define GFMmProcControlMidiGetChannelVolume(handle, channel) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->MmProcControlMidiGetChannelVolume(handle, channel)
|
|
#define GFMmProcControlMidiGetKeyName(handle, bank, program, key) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->MmProcControlMidiGetKeyName(handle, bank, program, key)
|
|
#define GFMmProcControlMidiGetProgram(handle, channel) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->MmProcControlMidiGetProgram(handle, channel)
|
|
#define GFMmProcControlMidiGetProgramList(handle, bank) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->MmProcControlMidiGetProgramList(handle, bank)
|
|
#define GFMmProcControlMidiGetProgramName(handle, bank, program) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->MmProcControlMidiGetProgramName(handle, bank, program)
|
|
#define GFMmProcControlMidiIsBankQuerySupported(handle) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->MmProcControlMidiIsBankQuerySupported(handle)
|
|
#define GFMmProcControlMidiLongMidiEvent(handle) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->MmProcControlMidiLongMidiEvent(handle, data, offset, length)
|
|
#define GFMmProcControlMidiShortMidiEvent(handle, type, data1, data2) \
|
|
((GFMMPROC_CONTROL_MIDI_TABLE*)handle)->(handle, type, data1, data2)
|
|
|
|
|
|
//*****************************************************************************
|
|
// PitchControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_PITCH_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlPitchGetMaxPitch)(GFMMPROC_CONTROL_PITCH handle);
|
|
NvS32 (*MmProcControlPitchGetMinPitch)(GFMMPROC_CONTROL_PITCH handle);
|
|
NvS32 (*MmProcControlPitchGetPitch)(GFMMPROC_CONTROL_PITCH handle);
|
|
NvS32 (*MmProcControlPitchSetPitch)(GFMMPROC_CONTROL_PITCH handle, NvS32 millisemitones);
|
|
|
|
} GFMMPROC_CONTROL_PITCH_TABLE;
|
|
|
|
#define GFMmProcControlPitchGetMaxPitch(handle) \
|
|
((GFMMPROC_CONTROL_PITCH_TABLE*)handle)->MmProcControlPitchGetMaxPitch(handle)
|
|
#define GFMmProcControlPitchGetMinPitch(handle) \
|
|
((GFMMPROC_CONTROL_PITCH_TABLE*)handle)->MmProcControlPitchGetMinPitch(handle)
|
|
#define GFMmProcControlPitchGetPitch(handle) \
|
|
((GFMMPROC_CONTROL_PITCH_TABLE*)handle)->MmProcControlPitchGetPitch(handle)
|
|
#define GFMmProcControlPitchSetPitch(handle, millisemitones) \
|
|
((GFMMPROC_CONTROL_PITCH_TABLE*)handle)->MmProcControlPitchSetPitch(handle, millisemitones)
|
|
|
|
|
|
//*****************************************************************************
|
|
// RateControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_RATE_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlRateGetMaxRate)(GFMMPROC_CONTROL_RATE handle);
|
|
NvS32 (*MmProcControlRateGetMinRate)(GFMMPROC_CONTROL_RATE handle);
|
|
NvS32 (*MmProcControlRateGetRate)(GFMMPROC_CONTROL_RATE handle);
|
|
NvS32 (*MmProcControlRateSetRate)(GFMMPROC_CONTROL_RATE handle, NvS32 millirate);
|
|
|
|
} GFMMPROC_CONTROL_RATE_TABLE;
|
|
|
|
#define GFMmProcControlRateGetMaxRate(handle) \
|
|
((GFMMPROC_CONTROL_RATE_TABLE*)handle)->MmProcControlRateGetMaxRate(handle)
|
|
#define GFMmProcControlRateGetMinRate(handle) \
|
|
((GFMMPROC_CONTROL_RATE_TABLE*)handle)->MmProcControlRateGetMinRate(handle)
|
|
#define GFMmProcControlRateGetRate(handle) \
|
|
((GFMMPROC_CONTROL_RATE_TABLE*)handle)->MmProcControlRateGetRate(handle)
|
|
#define GFMmProcControlRateSetRate(handle, millirate) \
|
|
((GFMMPROC_CONTROL_RATE_TABLE*)handle)->MmProcControlRateSetRate(handle, millirate)
|
|
|
|
|
|
//*****************************************************************************
|
|
// RecordControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_RECORD_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
void (*MmProcControlRecordCommit)(GFMMPROC_CONTROL_RECORD handle);
|
|
char* (*MmProcControlRecordGetContentType)(GFMMPROC_CONTROL_RECORD handle);
|
|
void (*MmProcControlRecordSetRecordLocation)(GFMMPROC_CONTROL_RECORD handle, char* locator);
|
|
void (*MmProcControlRecordSetRecordStream)(GFMMPROC_CONTROL_RECORD handle, GFMMPROC_STREAM stream, char* contentType);
|
|
NvS32 (*MmProcControlRecordSetRecordSizeLimit)(GFMMPROC_CONTROL_RECORD handle, NvS32 size);
|
|
void (*MmProcControlRecordStartRecord)(GFMMPROC_CONTROL_RECORD handle);
|
|
void (*MmProcControlRecordStopRecord)(GFMMPROC_CONTROL_RECORD handle);
|
|
void (*MmProcControlRecordReset)(GFMMPROC_CONTROL_RECORD handle);
|
|
|
|
} GFMMPROC_CONTROL_RECORD_TABLE;
|
|
|
|
#define GFMmProcControlRecordCommit(handle) \
|
|
((GFMMPROC_CONTROL_RECORD_TABLE*)handle)->MmProcControlRecordCommit(handle)
|
|
#define GFMmProcControlRecordGetContentType(handle) \
|
|
((GFMMPROC_CONTROL_RECORD_TABLE*)handle)->MmProcControlRecordGetContentType(handle)
|
|
#define GFMmProcControlRecordSetRecordLocation(handle, locator) \
|
|
((GFMMPROC_CONTROL_RECORD_TABLE*)handle)->MmProcControlRecordSetRecordLocation(handle, locator)
|
|
#define GFMmProcControlRecordSetRecordStream(handle, stream, contentType) \
|
|
((GFMMPROC_CONTROL_RECORD_TABLE*)handle)->MmProcControlRecordSetRecordStream(handle, stream, contentType)
|
|
#define GFMmProcControlRecordSetRecordSizeLimit(handle, size) \
|
|
((GFMMPROC_CONTROL_RECORD_TABLE*)handle)->MmProcControlRecordSetRecordSizeLimit(handle, size)
|
|
#define GFMmProcControlRecordStartRecord(handle) \
|
|
((GFMMPROC_CONTROL_RECORD_TABLE*)handle)->MmProcControlRecordStartRecord(handle)
|
|
#define GFMmProcControlRecordStopRecord(handle) \
|
|
((GFMMPROC_CONTROL_RECORD_TABLE*)handle)->MmProcControlRecordStopRecord(handle)
|
|
#define GFMmProcControlRecordReset(handle) \
|
|
((GFMMPROC_CONTROL_RECORD_TABLE*)handle)->MmProcControlRecordReset(handle)
|
|
|
|
|
|
//*****************************************************************************
|
|
// StopTimeControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_STOP_TIME_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS64 (*MmProcControlStopTimeGetStopTime)(GFMMPROC_CONTROL_STOP_TIME handle);
|
|
void (*MmProcControlStopTimeSetStopTime)(GFMMPROC_CONTROL_STOP_TIME handle, NvS64 stopTime);
|
|
|
|
} GFMMPROC_CONTROL_STOP_TIME_TABLE;
|
|
|
|
#define GFMMPROC_CONTROL_STOP_TIME_RESET -1
|
|
|
|
#define GFMmProcControlStopTimeGetStopTime(handle) \
|
|
(GFMMPROC_CONTROL_STOP_TIME_TABLE*)handle)->MmProcControlStopTimeGetStopTime(handle)
|
|
#define GFMmProcControlStopTimeSetStopTime(handle, stopTime) \
|
|
((GFMMPROC_CONTROL_STOP_TIME_TABLE*)handle)->MmProcControlStopTimeSetStopTime(handle, stopTime)
|
|
|
|
|
|
//*****************************************************************************
|
|
// TempoControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_TEMPO_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
//
|
|
// Rate Methods
|
|
//
|
|
NvS32 (*MmProcControlRateGetMaxRate)(GFMMPROC_CONTROL_RATE handle);
|
|
NvS32 (*MmProcControlRateGetMinRate)(GFMMPROC_CONTROL_RATE handle);
|
|
NvS32 (*MmProcControlRateGetRate)(GFMMPROC_CONTROL_RATE handle);
|
|
NvS32 (*MmProcControlRateSetRate)(GFMMPROC_CONTROL_RATE handle, NvS32 millirate);
|
|
|
|
NvS32 (*MmProcControlTempoGetTempo)(GFMMPROC_CONTROL_TEMPO handle);
|
|
NvS32 (*MmProcControlTempoSetTempo)(GFMMPROC_CONTROL_TEMPO handle, NvS32 millitempo);
|
|
|
|
} GFMMPROC_CONTROL_TEMPO_TABLE;
|
|
|
|
#define GFMmProcControlTempoGetTempo(handle) \
|
|
((GFMMPROC_CONTROL_TEMPO_TABLE*)handle)->MmProcControlTempoGetTempo(handle)
|
|
#define GFMmProcControlTempoSetTempo(handle) \
|
|
((GFMMPROC_CONTROL_TEMPO_TABLE*)handle)->MmProcControlTempoSetTempo(handle, millitempo)
|
|
|
|
|
|
//*****************************************************************************
|
|
// ToneControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_TONE_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
void (*MmProcControlToneSetSequence)(GFMMPROC_CONTROL_TONE handle, NvS8* sequence);
|
|
|
|
} GFMMPROC_CONTROL_TONE_TABLE;
|
|
|
|
#define GFMMPROC_CONTROL_TONE_VERSION -2
|
|
#define GFMMPROC_CONTROL_TONE_TEMPO -3
|
|
#define GFMMPROC_CONTROL_TONE_RESOLUTION -4
|
|
#define GFMMPROC_CONTROL_TONE_BLOCK_START -5
|
|
#define GFMMPROC_CONTROL_TONE_BLOCK_END -6
|
|
#define GFMMPROC_CONTROL_TONE_PLAY_BLOCK -7
|
|
#define GFMMPROC_CONTROL_TONE_SET_VOLUME -8
|
|
#define GFMMPROC_CONTROL_TONE_REPEAT -9
|
|
#define GFMMPROC_CONTROL_TONE_C4 60
|
|
#define GFMMPROC_CONTROL_TONE_SILENCE -1
|
|
|
|
#define GFMmProcControlToneSetSequence(handle, sequence) \
|
|
((GFMMPROC_CONTROL_TONE_TABLE*)handle)->MmProcControlToneSetSequence(handle, sequence)
|
|
|
|
|
|
//*****************************************************************************
|
|
// VolumeControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_VOLUME_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlVolumeGetLevel)(GFMMPROC_CONTROL_VOLUME handle);
|
|
NvS32 (*MmProcControlVolumeIsMuted)(GFMMPROC_CONTROL_VOLUME handle);
|
|
NvS32 (*MmProcControlVolumeSetLevel)(GFMMPROC_CONTROL_VOLUME handle, NvS32 level);
|
|
void (*MmProcControlVolumeSetMute)(GFMMPROC_CONTROL_VOLUME handle, NvS32 mute);
|
|
|
|
} GFMMPROC_CONTROL_VOLUME_TABLE;
|
|
|
|
#define GFMmProcControlVolumeGetLevel(handle) \
|
|
((GFMMPROC_CONTROL_VOLUME_TABLE*)handle)->MmProcControlVolumeGetLevel(handle)
|
|
#define GFMmProcControlVolumeIsMuted(handle) \
|
|
((GFMMPROC_CONTROL_VOLUME_TABLE*)handle)->MmProcControlVolumeIsMuted(handle)
|
|
#define GFMmProcControlVolumeSetLevel(handle, level) \
|
|
((GFMMPROC_CONTROL_VOLUME_TABLE*)handle)->MmProcControlVolumeSetLevel(handle, level)
|
|
#define GFMmProcControlVolumeSetMute(handle, mute) \
|
|
((GFMMPROC_CONTROL_VOLUME_TABLE*)handle)->MmProcControlVolumeSetMute(handle, mute)
|
|
|
|
|
|
#endif // GFMMPROC_BASIC_AUDIO_CONTROLS
|
|
|
|
#endif // GFMMPROC_BASIC_AUDIO
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
//
|
|
//
|
|
// GFMMPROC_ADVANCED
|
|
//
|
|
//
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
|
|
#if defined GFMMPROC_ADVANCED
|
|
|
|
typedef GF_HANDLE GFMMPROC_MODULE;
|
|
typedef GFMMPROC_MODULE GFMMPROC_EFFECT_MODULE;
|
|
typedef GFMMPROC_MANAGER GFMMPROC_GLOBAL_MANAGER;
|
|
typedef GFMMPROC_CONTROLLABLE GFMMPROC_MEDIA_PROCESSOR;
|
|
typedef GF_HANDLE GFMMPROC_MEDIA_PROCESSOR_LISTENER;
|
|
typedef GFMMPROC_CONTROLLABLE GFMMPROC_SPECTATOR;
|
|
typedef GFMMPROC_MODULE GFMMPROC_SOUND_SOURCE_3D;
|
|
|
|
|
|
//*****************************************************************************
|
|
// Module
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_MODULE_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
//
|
|
// Controllable Methods
|
|
//
|
|
GFMMPROC_CONTROL (*MmProcControllableGetControl)(GFMMPROC_CONTROLLABLE handle, char* controlType);
|
|
GFMMPROC_CONTROL* (*MmProcControllableGetControls)(GFMMPROC_CONTROLLABLE handle);
|
|
|
|
void (*MmProcModuleAddMIDIChannel)(GFMMPROC_MODULE handle, GFMMPROC_PLAYER player, NvS32 channel);
|
|
void (*MmProcModuleAddPlayer)(GFMMPROC_MODULE handle, GFMMPROC_PLAYER player);
|
|
void (*MmProcModuleRemoveMIDIChannel)(GFMMPROC_MODULE handle, GFMMPROC_PLAYER player, NvS32 channel);
|
|
void (*MmProcModuleRemovePlayer)(GFMMPROC_MODULE handle, GFMMPROC_PLAYER player);
|
|
|
|
} GFMMPROC_MODULE_TABLE;
|
|
|
|
#define GFMmProcModuleAddMIDIChannel(handle, player, channel) \
|
|
((GFMMPROC_MODULE_TABLE*)handle)->MmProcModuleAddMIDIChannel(handle, player, channel)
|
|
#define GFMmProcModuleAddPlayer(handle, player) \
|
|
((GFMMPROC_MODULE_TABLE*)handle)->MmProcModuleAddPlayer(handle, player)
|
|
#define GFMmProcModuleGetControl(handle, controlType) \
|
|
((GFMMPROC_MODULE_TABLE*)handle)->MmProcModuleGetControl(handle, controlType)
|
|
#define GFMmProcModuleGetControls(handle) \
|
|
((GFMMPROC_MODULE_TABLE*)handle)->MmProcModuleGetControls(handle)
|
|
#define GFMmProcModuleRemoveMIDIChannel(handle, player, channel) \
|
|
((GFMMPROC_MODULE_TABLE*)handle)->MmProcModuleRemoveMIDIChannel(handle, player, channel)
|
|
#define GFMmProcModuleRemovePlayer(handle, player) \
|
|
((GFMMPROC_MODULE_TABLE*)handle)->MmProcModuleRemovePlayer(handle, player)
|
|
|
|
|
|
//*****************************************************************************
|
|
// EffectModule
|
|
//*****************************************************************************
|
|
//
|
|
typedef GFMMPROC_MODULE_TABLE GFMMPROC_EFFECT_MODULE_TABLE;
|
|
|
|
|
|
//*****************************************************************************
|
|
// GlobalManager
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_GLOBAL_MANAGER_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
//
|
|
// Manager Methods
|
|
//
|
|
GFMMPROC_PLAYER (*MmProcManagerCreatePlayer)(GFMMPROC_MANAGER handle, char* locator);
|
|
// GFMMPROC_PLAYER (*MmProcManagerCreatePlayerForDataSource)(GFMMPROC_MANAGER handle, DataSource source);
|
|
GFMMPROC_PLAYER (*MmProcManagerCreatePlayerForStream)(GFMMPROC_MANAGER handle, GFMMPROC_STREAM stream, char* type);
|
|
char* (*MmProcManagerGetSupportedContentTypes)(GFMMPROC_MANAGER handle, char* protocol);
|
|
char* (*MmProcManagerGetSupportedProtocols)(GFMMPROC_MANAGER handle, char* contentType);
|
|
GFMMPROC_TIME_BASE (*MmProcManagerGetSystemTimeBase)(GFMMPROC_MANAGER handle);
|
|
void (*MmProcManagerPlayTone)(GFMMPROC_MANAGER handle, NvU32 note, NvU32 duration, NvU32 volume);
|
|
void (*MmProcManagerProcess)(GFMMPROC_MANAGER handle);
|
|
GFMMPROC_CODEC_TYPE (*MmProcManagerGetCodecType)(GFMMPROC_MANAGER handle);
|
|
void (*MmProcManagerCodecWrite)(GFMMPROC_MANAGER handle, NvU32 offset, NvU32 value);
|
|
NvU32 (*MmProcManagerCodecRead)(GFMMPROC_MANAGER handle, NvU32 offset);
|
|
|
|
GFMMPROC_EFFECT_MODULE (*MmProcGlobalManagerCreateEffectModule)(GFMMPROC_GLOBAL_MANAGER handle);
|
|
GFMMPROC_MEDIA_PROCESSOR (*MmProcGlobalManagerCreateMediaProcessor)(GFMMPROC_GLOBAL_MANAGER handle);
|
|
GFMMPROC_SOUND_SOURCE_3D (*MmProcGlobalManagerCreateSoundSource3D)(GFMMPROC_GLOBAL_MANAGER handle);
|
|
GFMMPROC_CONTROL (*MmProcGlobalManagerGetControl)(GFMMPROC_GLOBAL_MANAGER handle, char* controlType);
|
|
GFMMPROC_CONTROL* (*MmProcGlobalManagerGetControls)(GFMMPROC_GLOBAL_MANAGER handle);
|
|
GFMMPROC_SPECTATOR (*MmProcGlobalManagerGetSpectator)(GFMMPROC_GLOBAL_MANAGER handle);
|
|
char* (*MmProcGlobalManagerGetSupportedMediaProcessorInputTypes)(GFMMPROC_GLOBAL_MANAGER handle);
|
|
NvS32 (*MmProcGlobalManagerGetUnitsPerMeter)(GFMMPROC_GLOBAL_MANAGER handle);
|
|
void (*MmProcGlobalManagerSetUnitsPerMeter)(GFMMPROC_GLOBAL_MANAGER handle, NvS32 newScalingFactor);
|
|
|
|
} GFMMPROC_GLOBAL_MANAGER_TABLE;
|
|
|
|
#define GFMmProcGlobalManagerCreateEffectModule(handle) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerCreateEffectModule(handle)
|
|
#define GFMmProcGlobalManagerCreateMediaProcessor(handle) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerCreateMediaProcessor(handle)
|
|
#define GFMmProcGlobalManagerCreateSoundSource3D(handle) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerCreateSoundSource3D(handle)
|
|
#define GFMmProcGlobalManagerGetControl(handle, controlType) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerGetControl(handle, controlType)
|
|
#define GFMmProcGlobalManagerGetControls(handle) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerGetControls(handle)
|
|
#define GFMmProcGlobalManagerGetSpectator(handle) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerGetSpectator(handle)
|
|
#define GFMmProcGlobalManagerGetSupportedMediaProcessorInputTypes(handle) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerGetSupportedMediaProcessorInputTypes(handle)
|
|
#define GFMmProcGlobalManagerGetUnitsPerMeter(handle) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerGetUnitsPerMeter(handle)
|
|
#define GFMmProcGlobalManagerSetUnitsPerMeter(handle, newScalingFactor) \
|
|
((GFMMPROC_GLOBAL_MANAGER_TABLE*)handle)->MmProcGlobalManagerSetUnitsPerMeter(handle, newScalingFactor)
|
|
|
|
|
|
//*****************************************************************************
|
|
// MediaProcessor
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_MEDIA_PROCESSOR_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
//
|
|
// Controllable Methods
|
|
//
|
|
GFMMPROC_CONTROL (*MmProcControllableGetControl)(GFMMPROC_CONTROLLABLE handle, char* controlType);
|
|
GFMMPROC_CONTROL* (*MmProcControllableGetControls)(GFMMPROC_CONTROLLABLE handle);
|
|
|
|
void (*MmProcMediaProcessorAbort)(GFMMPROC_MEDIA_PROCESSOR handle);
|
|
void (*MmProcMediaProcessorAddMediaProcessorListener)(GFMMPROC_MEDIA_PROCESSOR handle,
|
|
GFMMPROC_MEDIA_PROCESSOR_LISTENER mediaProcessorListener);
|
|
void (*MmProcMediaProcessorComplete)(GFMMPROC_MEDIA_PROCESSOR handle);
|
|
NvS32 (*MmProcMediaProcessorGetProgress)(GFMMPROC_MEDIA_PROCESSOR handle);
|
|
void (*MmProcMediaProcessorRemoveMediaProcessorListener)(GFMMPROC_MEDIA_PROCESSOR handle,
|
|
GFMMPROC_MEDIA_PROCESSOR_LISTENER mediaProcessorListener);
|
|
void (*MmProcMediaProcessorStart)(GFMMPROC_MEDIA_PROCESSOR handle);
|
|
void (*MmProcMediaProcessorStop)(GFMMPROC_MEDIA_PROCESSOR handle);
|
|
GFMMPROC_PLAYER (*MmProcMediaProcessorSetInput)(GFMMPROC_MEDIA_PROCESSOR handle, GFMMPROC_STREAM input, char* contentType, NvS32 length);
|
|
GFMMPROC_PLAYER (*MmProcMediaProcessorSetOutput)(GFMMPROC_MEDIA_PROCESSOR handle, GFMMPROC_STREAM output, char* contentType);
|
|
|
|
} GFMMPROC_MEDIA_PROCESSOR_TABLE;
|
|
|
|
#define GFMMPROC_MEDIA_PROCESSOR_UNKNOWN -1
|
|
|
|
#define GFMmProcMediaProcessorAbort(handle) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorAbort(handle)
|
|
#define GFMmProcMediaProcessorAddMediaProcessorListener(handle, mediaProcessorListener) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorAddMediaProcessorListener(handle, mediaProcessorListener)
|
|
#define GFMmProcMediaProcessorComplete(handle) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorComplete(handle)
|
|
#define GFMmProcMediaProcessorGetProgress(handle) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorGetProgress(handle)
|
|
#define GFMmProcMediaProcessorRemoveMediaProcessorListener(handle, mediaProcessorListener) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorRemoveMediaProcessorListener(handle, mediaProcessorListener)
|
|
#define GFMmProcMediaProcessorStart(handle) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorStart(handle)
|
|
#define GFMmProcMediaProcessorStop(handle) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorStop(handle)
|
|
#define GFMmProcMediaProcessorSetInput(handle, input, contentType, length) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorSetInput(handle, input, contentType, length)
|
|
#define GFMmProcMediaProcessorSetOutput(handle, output, contentType) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_TABLE*)handle)->MmProcMediaProcessorSetOutput(handle, output, contentType)
|
|
|
|
|
|
//*****************************************************************************
|
|
// MediaProcessorListener
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_MEDIA_PROCESSOR_LISTENER_TABLE
|
|
{
|
|
void (*MmProcMediaProcessorListenerMediaProcessorUpdate)(GFMMPROC_MEDIA_PROCESSOR_LISTENER handle,
|
|
GFMMPROC_MEDIA_PROCESSOR processor, char* event,
|
|
void* eventData);
|
|
|
|
} GFMMPROC_MEDIA_PROCESSOR_LISTENER_TABLE;
|
|
|
|
#define GFMMPROC_MEDIA_PROCESSOR_LISTENER_PROCESSING_COMPLETED "processingCompleted"
|
|
#define GFMMPROC_MEDIA_PROCESSOR_LISTENER_PROCESSING_ERROR "processingError"
|
|
|
|
#define GFMmProcMediaProcessorListenerMediaProcessorUpdate(handle, processor, event, eventData) \
|
|
((GFMMPROC_MEDIA_PROCESSOR_LISTENER_TABLE*)handle)->MmProcMediaProcessorListenerMediaProcessorUpdate(handle, processor, event, eventData)
|
|
|
|
|
|
//*****************************************************************************
|
|
// Spectator
|
|
//*****************************************************************************
|
|
//
|
|
typedef GFMMPROC_CONTROLLABLE_TABLE GFMMPROC_SPECTATOR_TABLE;
|
|
|
|
|
|
//*****************************************************************************
|
|
// SoundSource3D
|
|
//*****************************************************************************
|
|
//
|
|
typedef GFMMPROC_MODULE_TABLE GFMMPROC_SOUND_SOURCE_3D_TABLE;
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
//
|
|
//
|
|
// GFMMPROC_ADVANCED_3D_AUDIO_CONTROLS
|
|
//
|
|
//
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
|
|
#if defined GFMMPROC_ADVANCED_3D_AUDIO_CONTROLS
|
|
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_COMMIT;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_ORIENTATION;
|
|
typedef GFMMPROC_CONTROL_ORIENTATION GFMMPROC_CONTROL_DIRECTIVITY;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_DISTANCE_ATTENUATION;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_DOPPLER;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_LOCATION;
|
|
typedef GFMMPROC_CONTROL_ORIENTATION GFMMPROC_CONTROL_MACROSCOPIC;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_OBSTRUCTION;
|
|
|
|
#include "GFAudio.h"
|
|
|
|
//*****************************************************************************
|
|
// CommitControl
|
|
//*****************************************************************************
|
|
typedef struct _GFMMPROC_CONTROL_COMMIT_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
void (*MmProcControlCommitCommit)(GFMMPROC_CONTROL_COMMIT handle);
|
|
NvS32 (*MmProcControlCommitIsDeferred)(GFMMPROC_CONTROL_COMMIT handle);
|
|
void (*MmProcControlCommitSetDeferred)(GFMMPROC_CONTROL_COMMIT handle, NvS32 deferred);
|
|
|
|
} GFMMPROC_CONTROL_COMMIT_TABLE;
|
|
|
|
#define GFMmProcControlCommitCommit(handle) \
|
|
((GFMMPROC_CONTROL_COMMIT_TABLE*)handle)->MmProcControlCommitCommit(handle)
|
|
#define GFMmProcControlCommitIsDeferred(handle) \
|
|
((GFMMPROC_CONTROL_COMMIT_TABLE*)handle)->MmProcControlCommitIsDeferred(handle)
|
|
#define GFMmProcControlCommitSetDeferred(handle, deferred) \
|
|
((GFMMPROC_CONTROL_COMMIT_TABLE*)handle)->MmProcControlCommitSetDeferred(handle, deferred)
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
// OrientationControl
|
|
//*****************************************************************************
|
|
typedef struct _GFMMPROC_CONTROL_ORIENTATION_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
void (*MmProcControlOrientationGetOrientation)(GFMMPROC_CONTROL_ORIENTATION handle,
|
|
NvVectorS32* frontVector, NvVectorS32* aboveVector);
|
|
void (*MmProcControlOrientationSetOrientation)(GFMMPROC_CONTROL_ORIENTATION handle,
|
|
NvVectorS32 frontVector, NvVectorS32 aboveVector);
|
|
|
|
} GFMMPROC_CONTROL_ORIENTATION_TABLE;
|
|
|
|
#define GFMmProcControlOrientationGetOrientation(handle, frontVector, aboveVector) \
|
|
((GFMMPROC_CONTROL_ORIENTATION_TABLE*)handle)->MmProcControlOrientationGetOrientation(handle, frontVector, aboveVector)
|
|
#define GFMmProcControlOrientationSetOrientation(handle, frontVector, aboveVector) \
|
|
((GFMMPROC_CONTROL_ORIENTATION_TABLE*)handle)->MmProcControlOrientationSetOrientation(handle, frontVector, aboveVector)
|
|
|
|
|
|
//*****************************************************************************
|
|
// DirectivityControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_DIRECTIVITY_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
//
|
|
// Orientation Methods
|
|
//
|
|
void (*MmProcControlOrientationGetOrientation)(GFMMPROC_CONTROL_ORIENTATION handle,
|
|
NvVectorS32* frontVector, NvVectorS32* aboveVector);
|
|
void (*MmProcControlOrientationSetOrientation)(GFMMPROC_CONTROL_ORIENTATION handle,
|
|
NvVectorS32 frontVector, NvVectorS32 aboveVector);
|
|
|
|
void (*MmProcControlDirectivityGetParameters)(GFMMPROC_CONTROL_DIRECTIVITY handle, NvVectorS32* vector);
|
|
void (*MmProcControlDirectivitySetParameters)(GFMMPROC_CONTROL_DIRECTIVITY handle,
|
|
NvS32 minAngle, NvS32 maxAngle, NvS32 rearLevel);
|
|
|
|
} GFMMPROC_CONTROL_DIRECTIVITY_TABLE;
|
|
|
|
#define GFMmProcControlDirectivityGetParameters(handle, vector) \
|
|
((GFMMPROC_CONTROL_DIRECTIVITY_TABLE*)handle)->MmProcControlDirectivityGetParameters(handle, vector)
|
|
#define GFMmProcControlDirectivitySetParameters(handle, minAngle, maxAngle, rearLevel) \
|
|
((GFMMPROC_CONTROL_DIRECTIVITY_TABLE*)handle)->MmProcControlDirectivitySetParameters(handle, minAngle, maxAngle, rearLevel)
|
|
|
|
|
|
//*****************************************************************************
|
|
// DistanceAttenuationControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_DISTANCE_ATTENUATION_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlDistanceAttenuationGetMaxDistance)(GFMMPROC_CONTROL_DISTANCE_ATTENUATION handle);
|
|
NvS32 (*MmProcControlDistanceAttenuationGetMinDistance)(GFMMPROC_CONTROL_DISTANCE_ATTENUATION handle);
|
|
NvS32 (*MmProcControlDistanceAttenuationGetMuteAfterMax)(GFMMPROC_CONTROL_DISTANCE_ATTENUATION handle);
|
|
NvS32 (*MmProcControlDistanceAttenuationGetRolloffFactor)(GFMMPROC_CONTROL_DISTANCE_ATTENUATION handle);
|
|
void (*MmProcControlDistanceAttenuationSetParameters)(GFMMPROC_CONTROL_DISTANCE_ATTENUATION handle,
|
|
NvS32 minDistance, NvS32 maxDistance,
|
|
NvS32 muteAfterMax, NvS32 rolloffFactor);
|
|
|
|
} GFMMPROC_CONTROL_DISTANCE_ATTENUATION_TABLE;
|
|
|
|
#define GFMmProcControlDistanceAttenuationGetMaxDistance(handle) \
|
|
((GFMMPROC_CONTROL_DISTANCE_ATTENUATION_TABLE*)handle)->MmProcControlDistanceAttenuationGetMaxDistance(handle)
|
|
#define GFMmProcControlDistanceAttenuationGetMinDistance(handle) \
|
|
((GFMMPROC_CONTROL_DISTANCE_ATTENUATION_TABLE*)handle)->MmProcControlDistanceAttenuationGetMinDistance(handle)
|
|
#define GFMmProcControlDistanceAttenuationGetMuteAfterMax(handle) \
|
|
((GFMMPROC_CONTROL_DISTANCE_ATTENUATION_TABLE*)handle)->MmProcControlDistanceAttenuationGetMuteAfterMax(handle)
|
|
#define GFMmProcControlDistanceAttenuationGetRolloffFactor(handle) \
|
|
((GFMMPROC_CONTROL_DISTANCE_ATTENUATION_TABLE*)handle)->MmProcControlDistanceAttenuationGetRolloffFactor(handle)
|
|
#define GFMmProcControlDistanceAttenuationSetParameters(handle, minDistance, maxDistance, muteAfterMax, rolloffFactor) \
|
|
((GFMMPROC_CONTROL_DISTANCE_ATTENUATION_TABLE*)handle)->MmProcControlDistanceAttenuationSetParameters(handle, minDistance, maxDistance, muteAfterMax, rolloffFactor)
|
|
|
|
|
|
//*****************************************************************************
|
|
// DopplerControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_DOPPLER_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
void (*MmProcControlDopplerGetVelocityCartesian)(GFMMPROC_CONTROL_DOPPLER handle, NvVectorS32* vector);
|
|
NvS32 (*MmProcControlDopplerIsEnabled)(GFMMPROC_CONTROL_DOPPLER handle);
|
|
void (*MmProcControlDopplerSetEnabled)(GFMMPROC_CONTROL_DOPPLER handle, NvS32 dopplerEnabled);
|
|
void (*MmProcControlDopplerSetVelocityCartesian)(GFMMPROC_CONTROL_DOPPLER handle, NvVectorS32 vector);
|
|
void (*MmProcControlDopplerSetVelocitySpherical)(GFMMPROC_CONTROL_DOPPLER handle,
|
|
NvS32 azimuth, NvS32 elevation, NvS32 radius);
|
|
|
|
} GFMMPROC_CONTROL_DOPPLER_TABLE;
|
|
|
|
#define GFMmProcControlDopplerGetVelocityCartesian(handle, vector) \
|
|
((GFMMPROC_CONTROL_DOPPLER_TABLE*)handle)->MmProcControlDopplerGetVelocityCartesian(handle, vector)
|
|
#define GFMmProcControlDopplerIsEnabled(handle) \
|
|
((GFMMPROC_CONTROL_DOPPLER_TABLE*)handle)->MmProcControlDopplerIsEnabled(handle)
|
|
#define GFMmProcControlDopplerSetEnabled(handle, dopplerEnabled) \
|
|
((GFMMPROC_CONTROL_DOPPLER_TABLE*)handle)->MmProcControlDopplerSetEnabled(handle, dopplerEnabled)
|
|
#define GFMmProcControlDopplerSetVelocityCartesian(handle, vector) \
|
|
((GFMMPROC_CONTROL_DOPPLER_TABLE*)handle)->MmProcControlDopplerSetVelocityCartesian(handle, vector)
|
|
#define GFMmProcControlDopplerSetVelocitySpherical(handle, azimuth, elevation, radius) \
|
|
((GFMMPROC_CONTROL_DOPPLER_TABLE*)handle)->MmProcControlDopplerSetVelocitySpherical(handle, azimuth, elevation, radius)
|
|
|
|
|
|
//*****************************************************************************
|
|
// LocationControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_LOCATION_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
void (*MmProcControlLocationGetCartesian)(GFMMPROC_CONTROL_LOCATION handle, NvVectorS32* vector);
|
|
void (*MmProcControlLocationSetCartesian)(GFMMPROC_CONTROL_LOCATION handle, NvVectorS32 vector);
|
|
void (*MmProcControlLocationSetSpherical)(GFMMPROC_CONTROL_LOCATION handle, NvS32 azimuth, NvS32 elevation, NvS32 radius);
|
|
void (*MmProcControlLocationSetCoefficients)(GFMMPROC_CONTROL_LOCATION handle,GFMMPROC_SOUND_SOURCE_3D SS3D,GFMMPROC_SPECTATOR spec, NvS32 CurrVec[],NvS32 TargVec[]);
|
|
void (*MmProcControlLocationGetCoefficients)(GFMMPROC_CONTROL_LOCATION handle, void* Coeff);
|
|
|
|
} GFMMPROC_CONTROL_LOCATION_TABLE;
|
|
|
|
#define GFMmProcControlLocationGetCartesian(handle, vector) \
|
|
((GFMMPROC_CONTROL_LOCATION_TABLE*)handle)->MmProcControlLocationGetCartesian(handle, vector)
|
|
#define GFMmProcControlLocationSetCartesian(handle, vector) \
|
|
((GFMMPROC_CONTROL_LOCATION_TABLE*)handle)->MmProcControlLocationSetCartesian(handle, vector)
|
|
#define GFMmProcControlLocationSetSpherical(handle, azimuth, elevation, radius) \
|
|
((GFMMPROC_CONTROL_LOCATION_TABLE*)handle)->MmProcControlLocationSetSpherical(handle, azimuth, elevation, radius)
|
|
#define GFMmProcControlLocationSetCoefficients(handle, SS3D,spec, CurrVec,TargVec) \
|
|
((GFMMPROC_CONTROL_LOCATION_TABLE*)handle)->MmProcControlLocationSetCoefficients(handle, SS3D,spec, CurrVec,TargVec)
|
|
#define GFMmProcControlLocationGetCoefficients(handle,pCoeff)\
|
|
((GFMMPROC_CONTROL_LOCATION_TABLE*)handle)->MmProcControlLocationGetCoefficients(handle,pCoeff)
|
|
|
|
//*****************************************************************************
|
|
// MacroscopicControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_MACROSCOPIC_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
//
|
|
// Orientation Methods
|
|
//
|
|
void (*MmProcControlOrientationGetOrientation)(GFMMPROC_CONTROL_ORIENTATION handle,
|
|
NvVectorS32* frontVector, NvVectorS32* aboveVector);
|
|
void (*MmProcControlOrientationSetOrientation)(GFMMPROC_CONTROL_ORIENTATION handle,
|
|
NvVectorS32 frontVector, NvVectorS32 aboveVector);
|
|
|
|
void (*MmProcControlMacroscopicGetSize)(GFMMPROC_CONTROL_MACROSCOPIC handle, NvVectorS32* vector);
|
|
void (*MmProcControlMacroscopicSetSize)(GFMMPROC_CONTROL_MACROSCOPIC handle, NvVectorS32 vector);
|
|
|
|
} GFMMPROC_CONTROL_MACROSCOPIC_TABLE;
|
|
|
|
#define GFMmProcControlMacroscopicGetSize(handle, vector) \
|
|
((GFMMPROC_CONTROL_MACROSCOPIC_TABLE*)handle)->MmProcControlMacroscopicGetSize(handle, vector)
|
|
#define GFMmProcControlMacroscopicSetSize(handle, vector) \
|
|
((GFMMPROC_CONTROL_MACROSCOPIC_TABLE*)handle)->MmProcControlMacroscopicSetSize(handle, vector)
|
|
|
|
|
|
//*****************************************************************************
|
|
// ObstructionControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_OBSTRUCTION_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlObstructionGetHFLevel)(GFMMPROC_CONTROL_OBSTRUCTION handle);
|
|
NvS32 (*MmProcControlObstructionGetLevel)(GFMMPROC_CONTROL_OBSTRUCTION handle);
|
|
void (*MmProcControlObstructionSetHFLevel)(GFMMPROC_CONTROL_OBSTRUCTION handle, NvS32 HFLevel);
|
|
void (*MmProcControlObstructionSetLevel)(GFMMPROC_CONTROL_OBSTRUCTION handle, NvS32 level);
|
|
|
|
} GFMMPROC_CONTROL_OBSTRUCTION_TABLE;
|
|
|
|
#define GFMmProcControlObstructionGetHFLevel(handle) \
|
|
((GFMMPROC_CONTROL_OBSTRUCTION_TABLE*)handle)->MmProcControlObstructionGetHFLevel(handle)
|
|
#define GFMmProcControlObstructionGetLevel(handle) \
|
|
((GFMMPROC_CONTROL_OBSTRUCTION_TABLE*)handle)->MmProcControlObstructionGetLevel(handle)
|
|
#define GFMmProcControlObstructionSetHFLevel(handle, HFLevel) \
|
|
((GFMMPROC_CONTROL_OBSTRUCTION_TABLE*)handle)->MmProcControlObstructionSetHFLevel(handle, HFLevel)
|
|
#define GFMmProcControlObstructionSetLevel(handle, level) \
|
|
((GFMMPROC_CONTROL_OBSTRUCTION_TABLE*)handle)->MmProcControlObstructionSetLevel(handle, level)
|
|
|
|
|
|
#endif // GFMMPROC_ADVANCED_3D_AUDIO_CONTROLS
|
|
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
//
|
|
//
|
|
// GFMMPROC_ADVANCED_CONTROLS
|
|
//
|
|
//
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
|
|
#if defined GFMMPROC_ADVANCED_CONTROLS
|
|
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_AUDIO_FORMAT;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_EFFECT;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_EFFECT_ORDER;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_FORMAT;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_MIDI_CHANNEL;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_PAN;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_PRIORITY;
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
// FormatControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_FORMAT_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlFormatGetEstimatedBitRate)(GFMMPROC_CONTROL_FORMAT handle);
|
|
char* (*MmProcControlFormatGetFormat)(GFMMPROC_CONTROL_FORMAT handle);
|
|
NvS32 (*MmProcControlFormatGetIntParameterValue)(GFMMPROC_CONTROL_FORMAT handle, char* parameter);
|
|
NvS32 (*MmProcControlFormatGetMetadataOverride)(GFMMPROC_CONTROL_FORMAT handle);
|
|
NvS32 (*MmProcControlFormatGetMetadataSupportMode)(GFMMPROC_CONTROL_FORMAT handle);
|
|
char* (*MmProcControlFormatGetStrParameterValue)(GFMMPROC_CONTROL_FORMAT handle, char* parameter);
|
|
char* (*MmProcControlFormatGetSupportedFormats)(GFMMPROC_CONTROL_FORMAT handle);
|
|
NvS32* (*MmProcControlFormatGetSupportedIntParameterRange)(GFMMPROC_CONTROL_FORMAT handle, char* parameter);
|
|
char* (*MmProcControlFormatGetSupportedIntParameters)(GFMMPROC_CONTROL_FORMAT handle);
|
|
char* (*MmProcControlFormatGetSupportedMetadataKeys)(GFMMPROC_CONTROL_FORMAT handle);
|
|
char* (*MmProcControlFormatGetSupportedStrParameters)(GFMMPROC_CONTROL_FORMAT handle);
|
|
char* (*MmProcControlFormatGetSupportedStrParameterValues)(GFMMPROC_CONTROL_FORMAT handle, char* parameter);
|
|
void (*MmProcControlFormatSetFormat)(GFMMPROC_CONTROL_FORMAT handle, char* format);
|
|
void (*MmProcControlFormatSetMetadata)(GFMMPROC_CONTROL_FORMAT handle, char* key, char* value);
|
|
void (*MmProcControlFormatSetMetadataOverride)(GFMMPROC_CONTROL_FORMAT handle, NvS32 override);
|
|
void (*MmProcControlFormatSetParameterStr)(GFMMPROC_CONTROL_FORMAT handle, char* parameter, char* value);
|
|
NvS32 (*MmProcControlFormatSetParameterInt)(GFMMPROC_CONTROL_FORMAT handle, char* parameter, NvS32 value);
|
|
|
|
} GFMMPROC_CONTROL_FORMAT_TABLE;
|
|
|
|
#define GFMMPROC_CONTROL_FORMAT_METADATA_NOT_SUPPORTED 0
|
|
#define GFMMPROC_CONTROL_FORMAT_METADATA_SUPPORTED_FIXED_KEYS 1
|
|
#define GFMMPROC_CONTROL_FORMAT_METADATA_SUPPORTED_FREE_KEYS 2
|
|
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_BITRATE "bitrate"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_BITRATE_TYPE "bitrate type"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_BITS_PER_SAMPLE "bits per sample"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_CHANNELS "channels"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_FRAMERATE "frame rate"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_QUALITY "quality"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_SAMPLERATE "sample rate"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_TRACK "track"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_TRACKS_AVAILABLE "tracks available"
|
|
#define GFMMPROC_CONTROL_FORMAT_PARAM_VERSION_TYPE "version type"
|
|
|
|
#define GFMMPROC_CONTROL_FORMAT_TRACK_ALL -1
|
|
#define GFMMPROC_CONTROL_FORMAT_TRACK_DEFAULT 0
|
|
#define GFMMPROC_CONTROL_FORMAT_TRACK_ONE 1
|
|
|
|
|
|
#define GFMmProcControlFormatGetEstimatedBitRate(handle) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetEstimatedBitRate(handle)
|
|
#define GFMmProcControlFormatGetFormat(handle) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetFormat(handle)
|
|
#define GFMmProcControlFormatGetIntParameterValue(handle, parameter) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetIntParameterValue(handle, parameter)
|
|
#define GFMmProcControlFormatGetMetadataOverride(handle) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetMetadataOverride(handle)
|
|
#define GFMmProcControlFormatGetMetadataSupportMode(handle) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetMetadataSupportMode(handle)
|
|
#define GFMmProcControlFormatGetStrParameterValue(handle, parameter) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetStrParameterValue(handle, parameter)
|
|
#define GFMmProcControlFormatGetSupportedFormats(handle) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetSupportedFormats(handle)
|
|
#define GFMmProcControlFormatGetSupportedIntParameterRange(handle, parameter) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetSupportedIntParameterRange(handle, parameter)
|
|
#define GFMmProcControlFormatGetSupportedIntParameters(handle) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetSupportedIntParameters(handle)
|
|
#define GFMmProcControlFormatGetSupportedMetadataKeys(handle) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetSupportedMetadataKeys(handle)
|
|
#define GFMmProcControlFormatGetSupportedStrParameters(handle) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetSupportedStrParameters(handle)
|
|
#define GFMmProcControlFormatGetSupportedStrParameterValues(handle, parameter) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatGetSupportedStrParameterValues(handle, parameter)
|
|
#define GFMmProcControlFormatSetFormat(handle, format) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatSetFormat(handle, format)
|
|
#define GFMmProcControlFormatSetMetadata(handle, key, value) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatSetMetadata(handle, key, value)
|
|
#define GFMmProcControlFormatSetMetadataOverride(handle, override) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatSetMetadataOverride(handle, override)
|
|
#define GFMmProcControlFormatSetParameterStr(handle, parameter, value) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatSetParameterStr(handle, parameter, value)
|
|
#define GFMmProcControlFormatSetParameterInt(handle, parameter, value) \
|
|
((GFMMPROC_CONTROL_FORMAT_TABLE*)handle)->MmProcControlFormatSetParameterInt(handle, parameter, value)
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
// AudioFormatControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef GFMMPROC_CONTROL_FORMAT_TABLE GFMMPROC_CONTROL_AUDIO_FORMAT_TABLE;
|
|
|
|
|
|
//*****************************************************************************
|
|
// EffectControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_EFFECT_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
char* (*MmProcControlEffectGetPreset)(GFMMPROC_CONTROL_EFFECT handle);
|
|
char** (*MmProcControlEffectGetPresetNames)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectGetScope)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnabled)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnforced)(GFMMPROC_CONTROL_EFFECT handle);
|
|
void (*MmProcControlEffectSetEnabled)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enable);
|
|
void (*MmProcControlEffectSetEnforced)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enforced);
|
|
void (*MmProcControlEffectSetPreset)(GFMMPROC_CONTROL_EFFECT handle, char* preset);
|
|
void (*MmProcControlEffectSetScope)(GFMMPROC_CONTROL_EFFECT handle, NvS32 scope);
|
|
|
|
} GFMMPROC_CONTROL_EFFECT_TABLE;
|
|
|
|
#define GFMMPROC_CONTROL_EFFECT_SCOPE_LIVE_ONLY 1
|
|
#define GFMMPROC_CONTROL_EFFECT_SCOPE_RECORD_ONLY 2
|
|
#define GFMMPROC_CONTROL_EFFECT_SCOPE_LIVE_AND_RECORD 3
|
|
|
|
#define GFMmProcControlEffectGetPreset(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectGetPreset(handle)
|
|
#define GFMmProcControlEffectGetPresetNames(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectGetPresetNames(handle)
|
|
#define GFMmProcControlEffectGetScope(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectGetScope(handle)
|
|
#define GFMmProcControlEffectIsEnabled(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectIsEnabled(handle)
|
|
#define GFMmProcControlEffectIsEnforced(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectIsEnforced(handle)
|
|
#define GFMmProcControlEffectSetEnabled(handle, enable) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectSetEnabled(handle, enable)
|
|
#define GFMmProcControlEffectSetEnforced(handle, enforced) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectSetEnforced(handle, enforced)
|
|
#define GFMmProcControlEffectSetPreset(handle, preset) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectSetPreset(handle, preset)
|
|
#define GFMmProcControlEffectSetScope(handle, scope) \
|
|
((GFMMPROC_CONTROL_EFFECT_TABLE*)handle)->MmProcControlEffectSetScope(handle, scope)
|
|
|
|
|
|
//*****************************************************************************
|
|
// EffectOrderControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_EFFECT_ORDER_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlEffectOrderGetEffectOrder)(GFMMPROC_CONTROL_EFFECT_ORDER handle, GFMMPROC_CONTROL_EFFECT effect);
|
|
GFMMPROC_CONTROL_EFFECT (*MmProcControlEffectOrderGetEffectOrders)(GFMMPROC_CONTROL_EFFECT_ORDER handle);
|
|
NvS32 (*MmProcControlEffectOrderSetEffectOrder)(GFMMPROC_CONTROL_EFFECT_ORDER handle, GFMMPROC_CONTROL_EFFECT effect, NvS32 order);
|
|
|
|
} GFMMPROC_CONTROL_EFFECT_ORDER_TABLE;
|
|
|
|
#define GFMmProcControlEffectOrderGetEffectOrder(handle, effect) \
|
|
((GFMMPROC_CONTROL_EFFECT_ORDER_TABLE*)handle)->(handle, effect)
|
|
#define GFMmProcControlEffectOrderGetEffectOrders(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_ORDER_TABLE*)handle)->MmProcControlEffectOrderGetEffectOrders(handle)
|
|
#define GFMmProcControlEffectOrderSetEffectOrder(handle, effect, order) \
|
|
((GFMMPROC_CONTROL_EFFECT_ORDER_TABLE*)handle)->MmProcControlEffectOrderSetEffectOrder(handle, effect, order)
|
|
|
|
|
|
//*****************************************************************************
|
|
// MIDIChannelControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_MIDI_CHANNEL_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
GFMMPROC_CONTROL (*MmProcControlMidiChannelGetChannelControl)(GFMMPROC_CONTROL_MIDI_CHANNEL handle, char* controlType, NvS32 channel);
|
|
GFMMPROC_CONTROL* (*MmProcControlMidiChannelGetChannelControls)(GFMMPROC_CONTROL_MIDI_CHANNEL handle, NvS32 channel);
|
|
|
|
} GFMMPROC_CONTROL_MIDI_CHANNEL_TABLE;
|
|
|
|
#define GFMmProcControlMidiChannelGetChannelControl(handle, controlType, channel) \
|
|
((GFMMPROC_CONTROL_MIDI_CHANNEL_TABLE*)handle)->MmProcControlMidiChannelGetChannelControl(handle, controlType, channel)
|
|
#define GFMmProcControlMidiChannelGetChannelControls(handle, channel) \
|
|
((GFMMPROC_CONTROL_MIDI_CHANNEL_TABLE*)handle)->MmProcControlMidiChannelGetChannelControls(handle, channel)
|
|
|
|
|
|
//*****************************************************************************
|
|
// PanControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_PAN_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlPanGetPan)(GFMMPROC_CONTROL_PAN handle);
|
|
NvS32 (*MmProcControlPanSetPan)(GFMMPROC_CONTROL_PAN handle, NvS32 pan);
|
|
|
|
} GFMMPROC_CONTROL_PAN_TABLE;
|
|
|
|
#define GFMmProcControlPanGetPan(handle) \
|
|
((GFMMPROC_CONTROL_PAN_TABLE*)handle)->MmProcControlPanGetPan(handle)
|
|
#define GFMmProcControlPanSetPan(handle, pan) \
|
|
((GFMMPROC_CONTROL_PAN_TABLE*)handle)->MmProcControlPanSetPan(handle, pan)
|
|
|
|
|
|
//*****************************************************************************
|
|
// PriorityControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_PRIORITY_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlPriorityGetPriority)(GFMMPROC_CONTROL_PRIORITY handle);
|
|
void (*MmProcControlPrioritySetPriority)(GFMMPROC_CONTROL_PRIORITY handle, NvS32 level);
|
|
|
|
} GFMMPROC_CONTROL_PRIORITY_TABLE;
|
|
|
|
#define GFMmProcControlPriorityGetPriority(handle) \
|
|
((GFMMPROC_CONTROL_PRIORITY_TABLE*)handle)->MmProcControlPriorityGetPriority(handle)
|
|
#define GFMmProcControlPrioritySetPriority(handle, level) \
|
|
((GFMMPROC_CONTROL_PRIORITY_TABLE*)handle)->MmProcControlPrioritySetPriority(handle, level)
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
//
|
|
//
|
|
// GFMMPROC_ADVANCED_AUDIO_EFFECT_CONTROLS
|
|
//
|
|
//
|
|
//*****************************************************************************
|
|
//*****************************************************************************
|
|
|
|
#if defined GFMMPROC_ADVANCED_AUDIO_EFFECT_CONTROLS
|
|
|
|
typedef GFMMPROC_CONTROL_EFFECT GFMMPROC_CONTROL_EFFECT_AUDIO_VIRTUALIZER;
|
|
typedef GFMMPROC_CONTROL_EFFECT GFMMPROC_CONTROL_EFFECT_ACOUSTIC_ECHO_CANCELLATION;
|
|
typedef GFMMPROC_CONTROL_EFFECT GFMMPROC_CONTROL_EFFECT_CHORUS;
|
|
typedef GFMMPROC_CONTROL_EFFECT GFMMPROC_CONTROL_EFFECT_EQUALIZER;
|
|
typedef GFMMPROC_CONTROL_EFFECT GFMMPROC_CONTROL_EFFECT_REVERB;
|
|
typedef GFMMPROC_CONTROL_EFFECT GFMMPROC_CONTROL_EFFECT_DRC;
|
|
typedef GFMMPROC_CONTROL GFMMPROC_CONTROL_REVERB_SOURCE;
|
|
|
|
//*****************************************************************************
|
|
// AudioVirtualizerControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_EFFECT_AUDIO_VIRTUALIZER_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
char* (*MmProcControlEffectGetPreset)(GFMMPROC_CONTROL_EFFECT handle);
|
|
char** (*MmProcControlEffectGetPresetNames)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectGetScope)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnabled)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnforced)(GFMMPROC_CONTROL_EFFECT handle);
|
|
void (*MmProcControlEffectSetEnabled)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enable);
|
|
void (*MmProcControlEffectSetEnforced)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enforced);
|
|
void (*MmProcControlEffectSetPreset)(GFMMPROC_CONTROL_EFFECT handle, char* preset);
|
|
void (*MmProcControlEffectSetScope)(GFMMPROC_CONTROL_EFFECT handle, NvS32 scope);
|
|
|
|
NvS32 (*MmProcControlEffectAudioVirtualizerGetSpread)(GFMMPROC_CONTROL_EFFECT_AUDIO_VIRTUALIZER handle);
|
|
void (*MmProcControlEffectAudioVirtualizerSetSpread)(GFMMPROC_CONTROL_EFFECT_AUDIO_VIRTUALIZER handle, NvS32 width);
|
|
|
|
} GFMMPROC_CONTROL_EFFECT_AUDIO_VIRTUALIZER_TABLE;
|
|
|
|
#define GFMmProcControlEffectAudioVirtualizerGetSpread(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_AUDIO_VIRTUALIZER_TABLE*)handle)->MmProcControlEffectAudioVirtualizerGetSpread(handle)
|
|
#define GFMmProcControlEffectAudioVirtualizerSetSpread(handle, width) \
|
|
((GFMMPROC_CONTROL_EFFECT_AUDIO_VIRTUALIZER_TABLE*)handle)->MmProcControlEffectAudioVirtualizerSetSpread(handle, width)
|
|
|
|
|
|
//*****************************************************************************
|
|
// AcousticEchoCancellationControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef GFMMPROC_CONTROL_EFFECT_TABLE GFMMPROC_CONTROL_EFFECT_ACOUSTIC_ECHO_CANCELLATION_TABLE;
|
|
|
|
//*****************************************************************************
|
|
// SBCControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef GFMMPROC_CONTROL_EFFECT_TABLE GFMMPROC_CONTROL_EFFECT_SBC_TABLE;
|
|
|
|
//*****************************************************************************
|
|
// SBRControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef GFMMPROC_CONTROL_EFFECT_TABLE GFMMPROC_CONTROL_EFFECT_SBR_TABLE;
|
|
|
|
|
|
//*****************************************************************************
|
|
// ChorusControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
char* (*MmProcControlEffectGetPreset)(GFMMPROC_CONTROL_EFFECT handle);
|
|
char** (*MmProcControlEffectGetPresetNames)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectGetScope)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnabled)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnforced)(GFMMPROC_CONTROL_EFFECT handle);
|
|
void (*MmProcControlEffectSetEnabled)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enable);
|
|
void (*MmProcControlEffectSetEnforced)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enforced);
|
|
void (*MmProcControlEffectSetPreset)(GFMMPROC_CONTROL_EFFECT handle, char* preset);
|
|
void (*MmProcControlEffectSetScope)(GFMMPROC_CONTROL_EFFECT handle, NvS32 scope);
|
|
|
|
NvS32 (*MmProcControlEffectChorusGetAverageDelay)(GFMMPROC_CONTROL_EFFECT_CHORUS handle);
|
|
NvS32 (*MmProcControlEffectChorusGetMaxAverageDelay)(GFMMPROC_CONTROL_EFFECT_CHORUS handle);
|
|
NvS32 (*MmProcControlEffectChorusGetMaxModulationDepth)(GFMMPROC_CONTROL_EFFECT_CHORUS handle);
|
|
NvS32 (*MmProcControlEffectChorusGetMaxModulationRate)(GFMMPROC_CONTROL_EFFECT_CHORUS handle);
|
|
NvS32 (*MmProcControlEffectChorusGetMinModulationRate)(GFMMPROC_CONTROL_EFFECT_CHORUS handle);
|
|
NvS32 (*MmProcControlEffectChorusGetModulationDepth)(GFMMPROC_CONTROL_EFFECT_CHORUS handle);
|
|
NvS32 (*MmProcControlEffectChorusGetModulationRate)(GFMMPROC_CONTROL_EFFECT_CHORUS handle);
|
|
NvS32 (*MmProcControlEffectChorusGetWetLevel)(GFMMPROC_CONTROL_EFFECT_CHORUS handle);
|
|
void (*MmProcControlEffectChorusSetAverageDelay)(GFMMPROC_CONTROL_EFFECT_CHORUS handle, NvS32 delay);
|
|
void (*MmProcControlEffectChorusSetModulationDepth)(GFMMPROC_CONTROL_EFFECT_CHORUS handle, NvS32 depth);
|
|
void (*MmProcControlEffectChorusSetModulationRate)(GFMMPROC_CONTROL_EFFECT_CHORUS handle, NvS32 rate);
|
|
NvS32 (*MmProcControlEffectChorusSetWetLevel)(GFMMPROC_CONTROL_EFFECT_CHORUS handle, NvS32 level);
|
|
|
|
} GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE;
|
|
|
|
#define GFMmProcControlEffectChorusGetAverageDelay(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusGetAverageDelay(handle)
|
|
#define GFMmProcControlEffectChorusGetMaxAverageDelay(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusGetMaxAverageDelay(handle)
|
|
#define GFMmProcControlEffectChorusGetMaxModulationDepth(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusGetMaxModulationDepth(handle)
|
|
#define GFMmProcControlEffectChorusGetMaxModulationRate(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusGetMaxModulationRate(handle)
|
|
#define GFMmProcControlEffectChorusGetMinModulationRate(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusGetMinModulationRate(handle)
|
|
#define GFMmProcControlEffectChorusGetModulationDepth(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusGetModulationDepth(handle)
|
|
#define GFMmProcControlEffectChorusGetModulationRate(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusGetModulationRate(handle)
|
|
#define GFMmProcControlEffectChorusGetWetLevel(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusGetWetLevel(handle)
|
|
#define GFMmProcControlEffectChorusSetAverageDelay(handle, delay) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusSetAverageDelay(handle, delay)
|
|
#define GFMmProcControlEffectChorusSetModulationDepth(handle, depth) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusSetModulationDepth(handle, depth)
|
|
#define GFMmProcControlEffectChorusSetModulationRate(handle, rate) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusSetModulationRate(handle, rate)
|
|
#define GFMmProcControlEffectChorusSetWetLevel(handle, level) \
|
|
((GFMMPROC_CONTROL_EFFECT_CHORUS_TABLE*)handle)->MmProcControlEffectChorusSetWetLevel(handle, level)
|
|
|
|
|
|
//*****************************************************************************
|
|
// EqualizerControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
char* (*MmProcControlEffectGetPreset)(GFMMPROC_CONTROL_EFFECT handle);
|
|
char** (*MmProcControlEffectGetPresetNames)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectGetScope)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnabled)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnforced)(GFMMPROC_CONTROL_EFFECT handle);
|
|
void (*MmProcControlEffectSetEnabled)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enable);
|
|
void (*MmProcControlEffectSetEnforced)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enforced);
|
|
void (*MmProcControlEffectSetPreset)(GFMMPROC_CONTROL_EFFECT handle, char* preset);
|
|
void (*MmProcControlEffectSetScope)(GFMMPROC_CONTROL_EFFECT handle, NvS32 scope);
|
|
|
|
NvS32 (*MmProcControlEffectEqualizerGetBand)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle, NvS32 frequency);
|
|
NvS32 (*MmProcControlEffectEqualizerGetBandLevel)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle, NvS32 band);
|
|
NvS32 (*MmProcControlEffectEqualizerGetBass)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle);
|
|
NvS32 (*MmProcControlEffectEqualizerGetCenterFreq)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle, NvS32 band);
|
|
NvS32 (*MmProcControlEffectEqualizerGetMaxBandLevel)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle);
|
|
NvS32 (*MmProcControlEffectEqualizerGetMinBandLevel)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle);
|
|
NvS32 (*MmProcControlEffectEqualizerGetNumberOfBands)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle);
|
|
NvS32 (*MmProcControlEffectEqualizerGetTreble)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle);
|
|
void (*MmProcControlEffectEqualizerSetBandLevel)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle, NvS32 level, NvS32 band);
|
|
NvS32 (*MmProcControlEffectEqualizerSetBass)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle, NvS32 level);
|
|
NvS32 (*MmProcControlEffectEqualizerSetTreble)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle, NvS32 level);
|
|
NvS32 (*MmProcControlEffectEqualizerSetBandX)(GFMMPROC_CONTROL_EFFECT_EQUALIZER handle, NvS32 *levelptr);
|
|
|
|
} GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE;
|
|
|
|
#define GFMMPROC_CONTROL_EFFECT_EQUALIZER_UNDEFINED -1004
|
|
|
|
#define GFMmProcControlEffectEqualizerGetBand(handle, frequency) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->(handle, frequency)
|
|
#define GFMmProcControlEffectEqualizerGetBandLevel(handle, band) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerGetBandLevel(handle, band)
|
|
#define GFMmProcControlEffectEqualizerGetBass(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerGetBass(handle)
|
|
#define GFMmProcControlEffectEqualizerGetCenterFreq(handle, band) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerGetCenterFreq(handle, band)
|
|
#define GFMmProcControlEffectEqualizerGetMaxBandLevel(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerGetMaxBandLevel(handle)
|
|
#define GFMmProcControlEffectEqualizerGetMinBandLevel(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerGetMinBandLevel(handle)
|
|
#define GFMmProcControlEffectEqualizerGetNumberOfBands(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerGetNumberOfBands(handle)
|
|
#define GFMmProcControlEffectEqualizerGetTreble(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerGetTreble(handle)
|
|
#define GFMmProcControlEffectEqualizerSetBandLevel(handle, level, band) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerSetBandLevel(handle, level, band)
|
|
#define GFMmProcControlEffectEqualizerSetBass(handle, level) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerSetBass(handle, level)
|
|
#define GFMmProcControlEffectEqualizerSetTreble(handle, level) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerSetTreble(handle, level)
|
|
#define GFMmProcControlEffectEqualizerSetBandX(handle, levelptr) \
|
|
((GFMMPROC_CONTROL_EFFECT_EQUALIZER_TABLE*)handle)->MmProcControlEffectEqualizerSetBandX(handle, levelptr)
|
|
|
|
|
|
//*****************************************************************************
|
|
// Dynamic Range Control (DRC)
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_EFFECT_DRC_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
|
|
char* (*MmProcControlEffectGetPreset)(GFMMPROC_CONTROL_EFFECT handle);
|
|
char** (*MmProcControlEffectGetPresetNames)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectGetScope)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnabled)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnforced)(GFMMPROC_CONTROL_EFFECT handle);
|
|
void (*MmProcControlEffectSetEnabled)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enable);
|
|
void (*MmProcControlEffectSetEnforced)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enforced);
|
|
void (*MmProcControlEffectSetPreset)(GFMMPROC_CONTROL_EFFECT handle, char* preset);
|
|
void (*MmProcControlEffectSetScope)(GFMMPROC_CONTROL_EFFECT handle, NvS32 scope);
|
|
|
|
NvS32 (*MmProcControlEffectDRCGetDRCEnable)(GFMMPROC_CONTROL_EFFECT_DRC handle);
|
|
void (*MmProcControlEffectDRCSetDRCEnable)(GFMMPROC_CONTROL_EFFECT_DRC handle, NvS32 Param);
|
|
NvS32 (*MmProcControlEffectDRCGetNoiseGateTh)(GFMMPROC_CONTROL_EFFECT_DRC handle);
|
|
void (*MmProcControlEffectDRCSetNoiseGateTh)(GFMMPROC_CONTROL_EFFECT_DRC handle, NvS32 Param);
|
|
NvS32 (*MmProcControlEffectDRCGetLowerCompTh)(GFMMPROC_CONTROL_EFFECT_DRC handle);
|
|
void (*MmProcControlEffectDRCSetLowerCompTh)(GFMMPROC_CONTROL_EFFECT_DRC handle, NvS32 Param);
|
|
NvS32 (*MmProcControlEffectDRCGetUpperCompTh)(GFMMPROC_CONTROL_EFFECT_DRC handle);
|
|
void (*MmProcControlEffectDRCSetUpperCompTh)(GFMMPROC_CONTROL_EFFECT_DRC handle, NvS32 Param);
|
|
NvS32 (*MmProcControlEffectDRCGetClipTh)(GFMMPROC_CONTROL_EFFECT_DRC handle);
|
|
void (*MmProcControlEffectDRCSetClipTh)(GFMMPROC_CONTROL_EFFECT_DRC handle, NvS32 Param);
|
|
} GFMMPROC_CONTROL_EFFECT_DRC_TABLE;
|
|
|
|
#define GFMmProcControlEffectDRCGetDRCEnable(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCGetDRCEnable(handle)
|
|
#define GFMmProcControlEffectDRCSetDRCEnable(handle, Param) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCSetDRCEnable(handle, Param)
|
|
#define GFMmProcControlEffectDRCGetNoiseGateTh(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCGetNoiseGateTh(handle)
|
|
#define GFMmProcControlEffectDRCSetNoiseGateTh(handle, Param) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCSetNoiseGateTh(handle, Param)
|
|
#define GFMmProcControlEffectDRCGetLowerCompTh(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCGetLowerCompTh(handle)
|
|
#define GFMmProcControlEffectDRCSetLowerCompTh(handle, Param) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCSetLowerCompTh(handle, Param)
|
|
#define GFMmProcControlEffectDRCGetUpperCompTh(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCGetUpperCompTh(handle)
|
|
#define GFMmProcControlEffectDRCSetUpperCompTh(handle, Param) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCSetUpperCompTh(handle, Param)
|
|
#define GFMmProcControlEffectDRCGetClipTh(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCGetClipTh(handle)
|
|
#define GFMmProcControlEffectDRCSetClipTh(handle, Param) \
|
|
((GFMMPROC_CONTROL_EFFECT_DRC_TABLE*)handle)->MmProcControlEffectDRCSetClipTh(handle, Param)
|
|
|
|
|
|
|
|
|
|
//*****************************************************************************
|
|
// ReverbControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_EFFECT_REVERB_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
char* (*MmProcControlEffectGetPreset)(GFMMPROC_CONTROL_EFFECT handle);
|
|
char** (*MmProcControlEffectGetPresetNames)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectGetScope)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnabled)(GFMMPROC_CONTROL_EFFECT handle);
|
|
NvS32 (*MmProcControlEffectIsEnforced)(GFMMPROC_CONTROL_EFFECT handle);
|
|
void (*MmProcControlEffectSetEnabled)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enable);
|
|
void (*MmProcControlEffectSetEnforced)(GFMMPROC_CONTROL_EFFECT handle, NvS32 enforced);
|
|
void (*MmProcControlEffectSetPreset)(GFMMPROC_CONTROL_EFFECT handle, char* preset);
|
|
void (*MmProcControlEffectSetScope)(GFMMPROC_CONTROL_EFFECT handle, NvS32 scope);
|
|
|
|
NvS32 (*MmProcControlEffectReverbGetReverbLevel)(GFMMPROC_CONTROL_EFFECT_REVERB handle);
|
|
NvS32 (*MmProcControlEffectReverbGetReverbTime)(GFMMPROC_CONTROL_EFFECT_REVERB handle);
|
|
NvS32 (*MmProcControlEffectReverbSetReverbLevel)(GFMMPROC_CONTROL_EFFECT_REVERB handle, NvS32 level);
|
|
void (*MmProcControlEffectReverbSetReverbTime)(GFMMPROC_CONTROL_EFFECT_REVERB handle, NvS32 time);
|
|
|
|
} GFMMPROC_CONTROL_EFFECT_REVERB_TABLE;
|
|
|
|
#define GFMmProcControlEffectReverbGetReverbLevel(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_REVERB_TABLE*)handle)->MmProcControlEffectReverbGetReverbLevel(handle)
|
|
#define GFMmProcControlEffectReverbGetReverbTime(handle) \
|
|
((GFMMPROC_CONTROL_EFFECT_REVERB_TABLE*)handle)->MmProcControlEffectReverbGetReverbTime(handle)
|
|
#define GFMmProcControlEffectReverbSetReverbLevel(handle, level) \
|
|
((GFMMPROC_CONTROL_EFFECT_REVERB_TABLE*)handle)->MmProcControlEffectReverbSetReverbLevel(handle, level)
|
|
#define GFMmProcControlEffectReverbSetReverbTime(handle, time) \
|
|
((GFMMPROC_CONTROL_EFFECT_REVERB_TABLE*)handle)->MmProcControlEffectReverbSetReverbTime(handle, time)
|
|
|
|
|
|
//*****************************************************************************
|
|
// ReverbSourceControl
|
|
//*****************************************************************************
|
|
//
|
|
typedef struct _GFMMPROC_CONTROL_REVERB_SOURCE_TABLE
|
|
{
|
|
//
|
|
// Object Methods
|
|
//
|
|
NvS32 (*MmProcObjectIsInstance)(GF_HANDLE handle, const char* objectType);
|
|
|
|
NvS32 (*MmProcControlReverbSourceGetRoomLevel)(GFMMPROC_CONTROL_REVERB_SOURCE handle);
|
|
void (*MmProcControlReverbSourceSetRoomLevel)(GFMMPROC_CONTROL_REVERB_SOURCE handle, NvS32 level);
|
|
|
|
} GFMMPROC_CONTROL_REVERB_SOURCE_TABLE;
|
|
|
|
#define GFMMPROC_CONTROL_REVERB_SOURCE_DISCONNECT -2147483648
|
|
|
|
#define GFMmProcControlReverbSourceGetRoomLevel(handle) \
|
|
((GFMMPROC_CONTROL_REVERB_SOURCE_TABLE*)handle)->MmProcControlReverbSourceGetRoomLevel(handle)
|
|
#define GFMmProcControlReverbSourceSetRoomLevel(handle, level) \
|
|
((GFMMPROC_CONTROL_REVERB_SOURCE_TABLE*)handle)->MmProcControlReverbSourceSetRoomLevel(handle, level)
|
|
|
|
|
|
|
|
#endif // GFMMPROC_ADVANCED_AUDIO_EFFECT_CONTROLS
|
|
|
|
#endif // GFMMPROC_ADVANCED_CONTROLS
|
|
|
|
#endif // GFMMPROC_ADVANCED
|
|
|
|
/*@}*/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|