mirror of
https://github.com/onyx-and-iris/vmrcli.git
synced 2025-01-18 08:41:08 +00:00
fixes compiler error 'Incompatible pointer types'
This commit is contained in:
parent
8aeb793a41
commit
fb54c4a492
@ -1,5 +1,5 @@
|
||||
/******************************************************************************/
|
||||
/* Voicemeeter Remote API. V.Burel©2015-2023 */
|
||||
/* Voicemeeter Remote API. V.Burel<EFBFBD>2015-2023 */
|
||||
/******************************************************************************/
|
||||
/* This Library allows communication with Voicemeeter applications */
|
||||
/* 4 Client Applications can be connected to remote Voicemeeter. */
|
||||
@ -19,25 +19,24 @@
|
||||
/* long = 32 bit integer */
|
||||
/******************************************************************************/
|
||||
|
||||
|
||||
#ifndef __VOICEMEETER_REMOTE_H__
|
||||
#define __VOICEMEETER_REMOTE_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
|
||||
#define VBVMR_RESULT_OK 0
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Login */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Login */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @name Communication Login / logout
|
||||
* @{ */
|
||||
/** @name Communication Login / logout
|
||||
* @{ */
|
||||
|
||||
/**
|
||||
@brief Open Communication Pipe With Voicemeeter (typically called on software startup).
|
||||
@ -47,15 +46,14 @@ extern "C" {
|
||||
-2: unexpected login (logout was expected before).
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_Login(void);
|
||||
long __stdcall VBVMR_Login(void);
|
||||
|
||||
/**
|
||||
@brief Close Communication Pipe With Voicemeeter (typically called on software end).
|
||||
@return : 0 if ok.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_Logout(void);
|
||||
|
||||
long __stdcall VBVMR_Logout(void);
|
||||
|
||||
/**
|
||||
@brief Run Voicemeeter Application (get installation directory and run Voicemeeter Application).
|
||||
@ -65,29 +63,18 @@ long __stdcall VBVMR_Logout(void);
|
||||
-2: unknown vType number
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_RunVoicemeeter(long vType);
|
||||
long __stdcall VBVMR_RunVoicemeeter(long vType);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @} */
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* General Information */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* General Information */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @name General Information
|
||||
* @{ */
|
||||
/** @name General Information
|
||||
* @{ */
|
||||
|
||||
/**
|
||||
@brief Get Voicemeeter Type
|
||||
@ -117,7 +104,7 @@ long __stdcall VBVMR_RunVoicemeeter(long vType);
|
||||
-2: no server.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_GetVoicemeeterType(long * pType);
|
||||
long __stdcall VBVMR_GetVoicemeeterType(long *pType);
|
||||
|
||||
/**
|
||||
@brief Get Voicemeeter Version
|
||||
@ -132,36 +119,18 @@ long __stdcall VBVMR_GetVoicemeeterType(long * pType);
|
||||
-2: no server.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_GetVoicemeeterVersion(long * pVersion);
|
||||
long __stdcall VBVMR_GetVoicemeeterVersion(long *pVersion);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @} */
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Get parameters */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Get parameters */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @name Getting Parameters
|
||||
* @{ */
|
||||
/** @name Getting Parameters
|
||||
* @{ */
|
||||
|
||||
/**
|
||||
@brief Check if parameters have changed.
|
||||
@ -174,7 +143,7 @@ long __stdcall VBVMR_GetVoicemeeterVersion(long * pVersion);
|
||||
-2: no server.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_IsParametersDirty(void);
|
||||
long __stdcall VBVMR_IsParametersDirty(void);
|
||||
|
||||
/**
|
||||
@brief get parameter value.
|
||||
@ -187,7 +156,7 @@ long __stdcall VBVMR_IsParametersDirty(void);
|
||||
-5: structure mismatch
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_GetParameterFloat(char * szParamName, float * pValue);
|
||||
long __stdcall VBVMR_GetParameterFloat(char *szParamName, float *pValue);
|
||||
|
||||
/**
|
||||
@brief get parameter value.
|
||||
@ -200,27 +169,19 @@ long __stdcall VBVMR_GetParameterFloat(char * szParamName, float * pValue);
|
||||
-5: structure mismatch
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_GetParameterStringA(char * szParamName, char * szString);
|
||||
long __stdcall VBVMR_GetParameterStringW(char * szParamName, unsigned short * wszString);
|
||||
long __stdcall VBVMR_GetParameterStringA(char *szParamName, char *szString);
|
||||
long __stdcall VBVMR_GetParameterStringW(char *szParamName, unsigned short *wszString);
|
||||
|
||||
/** @} */
|
||||
/** @} */
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Get levels */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Get levels */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @name Getting RT Data
|
||||
* @{ */
|
||||
/** @name Getting RT Data
|
||||
* @{ */
|
||||
|
||||
/**
|
||||
@brief Get Current levels.
|
||||
@ -281,8 +242,7 @@ long __stdcall VBVMR_GetParameterStringW(char * szParamName, unsigned short * ws
|
||||
-4: out of range
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_GetLevel(long nType, long nuChannel, float * pValue);
|
||||
|
||||
long __stdcall VBVMR_GetLevel(long nType, long nuChannel, float *pValue);
|
||||
|
||||
/**
|
||||
@brief Get MIDI message from M.I.D.I. input device used by Voicemeeter M.I.D.I. mapping.
|
||||
@ -301,9 +261,7 @@ long __stdcall VBVMR_GetLevel(long nType, long nuChannel, float * pValue);
|
||||
-6: no MIDI data
|
||||
*/
|
||||
|
||||
|
||||
long __stdcall VBVMR_GetMidiMessage(unsigned char *pMIDIBuffer, long nbByteMax);
|
||||
|
||||
long __stdcall VBVMR_GetMidiMessage(unsigned char *pMIDIBuffer, long nbByteMax);
|
||||
|
||||
/**
|
||||
@brief Send MIDI message to M.I.D.I. output device used by Voicemeeter M.I.D.I. mapping.
|
||||
@ -319,29 +277,18 @@ long __stdcall VBVMR_GetMidiMessage(unsigned char *pMIDIBuffer, long nbByteMax);
|
||||
-5: cannot send MIDI data
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_SendMidiMessage(unsigned char *pMIDIBuffer, long nbByte);
|
||||
|
||||
long __stdcall VBVMR_SendMidiMessage(unsigned char *pMIDIBuffer, long nbByte);
|
||||
/** @} */
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Set Parameters */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @} */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Set Parameters */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @name Setting Parameters
|
||||
* @{ */
|
||||
/** @name Setting Parameters
|
||||
* @{ */
|
||||
|
||||
/**
|
||||
@brief Set a single float 32 bits parameters .
|
||||
@ -359,9 +306,7 @@ long __stdcall VBVMR_SendMidiMessage(unsigned char *pMIDIBuffer, long nbByte);
|
||||
-3: unknown parameter
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_SetParameterFloat(char * szParamName, float Value);
|
||||
|
||||
|
||||
long __stdcall VBVMR_SetParameterFloat(char *szParamName, float Value);
|
||||
|
||||
/**
|
||||
@brief Set a single string parameters .
|
||||
@ -379,12 +324,8 @@ long __stdcall VBVMR_SetParameterFloat(char * szParamName, float Value);
|
||||
|
||||
*/
|
||||
|
||||
|
||||
long __stdcall VBVMR_SetParameterStringA(char * szParamName, char * szString);
|
||||
long __stdcall VBVMR_SetParameterStringW(char * szParamName, unsigned short * wszString);
|
||||
|
||||
|
||||
|
||||
long __stdcall VBVMR_SetParameterStringA(char *szParamName, char *szString);
|
||||
long __stdcall VBVMR_SetParameterStringW(char *szParamName, unsigned short *wszString);
|
||||
|
||||
/**
|
||||
@brief Set one or several parameters by a script ( < 48 kB ).
|
||||
@ -407,29 +348,17 @@ long __stdcall VBVMR_SetParameterStringW(char * szParamName, unsigned short * ws
|
||||
-4: unexpected error
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_SetParameters(char * szParamScript);
|
||||
long __stdcall VBVMR_SetParametersW(unsigned short * szParamScript);
|
||||
long __stdcall VBVMR_SetParameters(char *szParamScript);
|
||||
long __stdcall VBVMR_SetParametersW(unsigned short *szParamScript);
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @} */
|
||||
/******************************************************************************/
|
||||
/* DEVICES ENUMERATOR */
|
||||
/******************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* DEVICES ENUMERATOR */
|
||||
/******************************************************************************/
|
||||
|
||||
|
||||
/** @name Device Enumeration Functions
|
||||
* @{ */
|
||||
/** @name Device Enumeration Functions
|
||||
* @{ */
|
||||
|
||||
#define VBVMR_DEVTYPE_MME 1
|
||||
#define VBVMR_DEVTYPE_WDM 3
|
||||
@ -441,7 +370,7 @@ long __stdcall VBVMR_SetParametersW(unsigned short * szParamScript);
|
||||
@return : return number of device found.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_Output_GetDeviceNumber(void);
|
||||
long __stdcall VBVMR_Output_GetDeviceNumber(void);
|
||||
|
||||
/**
|
||||
@brief Return pointer on Output Device Descriptor according index
|
||||
@ -452,15 +381,15 @@ long __stdcall VBVMR_Output_GetDeviceNumber(void);
|
||||
@return : 0: OK (no error).
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_Output_GetDeviceDescA(long zindex, long * nType, char * szDeviceName, char * szHardwareId);
|
||||
long __stdcall VBVMR_Output_GetDeviceDescW(long zindex, long * nType, unsigned short * wszDeviceName, unsigned short * wszHardwareId);
|
||||
long __stdcall VBVMR_Output_GetDeviceDescA(long zindex, long *nType, char *szDeviceName, char *szHardwareId);
|
||||
long __stdcall VBVMR_Output_GetDeviceDescW(long zindex, long *nType, unsigned short *wszDeviceName, unsigned short *wszHardwareId);
|
||||
|
||||
/**
|
||||
@brief Get number of Audio Input Device available on the system
|
||||
@return : return number of device found.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_Input_GetDeviceNumber(void);
|
||||
long __stdcall VBVMR_Input_GetDeviceNumber(void);
|
||||
|
||||
/**
|
||||
@brief Return pointer on Input Device Descriptor according index
|
||||
@ -471,50 +400,40 @@ long __stdcall VBVMR_Input_GetDeviceNumber(void);
|
||||
@return : 0: OK (no error).
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_Input_GetDeviceDescA(long zindex, long * nType, char * szDeviceName, char * szHardwareId);
|
||||
long __stdcall VBVMR_Input_GetDeviceDescW(long zindex, long * nType, unsigned short * wszDeviceName, unsigned short * wszHardwareId);
|
||||
long __stdcall VBVMR_Input_GetDeviceDescA(long zindex, long *nType, char *szDeviceName, char *szHardwareId);
|
||||
long __stdcall VBVMR_Input_GetDeviceDescW(long zindex, long *nType, unsigned short *wszDeviceName, unsigned short *wszHardwareId);
|
||||
|
||||
/** @} */
|
||||
|
||||
/******************************************************************************/
|
||||
/* VB-AUDIO CALLBACK */
|
||||
/******************************************************************************/
|
||||
/* 4x Functions to process all voicemeeter audio input and output channels */
|
||||
/* */
|
||||
/* VBVMR_AudioCallbackRegister :to register your audio callback(s) */
|
||||
/* VBVMR_AudioCallbackStart :to start the audio stream */
|
||||
/* VBVMR_AudioCallbackStop :to stop the audio stream */
|
||||
/* VBVMR_AudioCallbackUnregister :to unregister / Release callback(s) */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @} */
|
||||
/** @name VB-Audio Callback Functions
|
||||
* @{ */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* VB-AUDIO CALLBACK */
|
||||
/******************************************************************************/
|
||||
/* 4x Functions to process all voicemeeter audio input and output channels */
|
||||
/* */
|
||||
/* VBVMR_AudioCallbackRegister :to register your audio callback(s) */
|
||||
/* VBVMR_AudioCallbackStart :to start the audio stream */
|
||||
/* VBVMR_AudioCallbackStop :to stop the audio stream */
|
||||
/* VBVMR_AudioCallbackUnregister :to unregister / Release callback(s) */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @name VB-Audio Callback Functions
|
||||
* @{ */
|
||||
|
||||
|
||||
typedef struct tagVBVMR_AUDIOINFO
|
||||
{
|
||||
typedef struct tagVBVMR_AUDIOINFO
|
||||
{
|
||||
long samplerate;
|
||||
long nbSamplePerFrame;
|
||||
} VBVMR_T_AUDIOINFO, *VBVMR_PT_AUDIOINFO, *VBVMR_LPT_AUDIOINFO;
|
||||
|
||||
|
||||
typedef struct tagVBVMR_AUDIOBUFFER
|
||||
{
|
||||
long audiobuffer_sr; //Sampling Rate
|
||||
long audiobuffer_nbs; //number of sample per frame
|
||||
long audiobuffer_nbi; //number of inputs
|
||||
long audiobuffer_nbo; //number of outputs
|
||||
float * audiobuffer_r[128]; //nbi input pointers containing frame of nbs sample (of 32bits float)
|
||||
float * audiobuffer_w[128]; //nbo output pointers containing frame of nbs sample (of 32bits float)
|
||||
} VBVMR_T_AUDIOBUFFER, *VBVMR_PT_AUDIOBUFFER, *VBVMR_LPT_AUDIOBUFFER;
|
||||
} VBVMR_T_AUDIOINFO, *VBVMR_PT_AUDIOINFO, *VBVMR_LPT_AUDIOINFO;
|
||||
|
||||
typedef struct tagVBVMR_AUDIOBUFFER
|
||||
{
|
||||
long audiobuffer_sr; // Sampling Rate
|
||||
long audiobuffer_nbs; // number of sample per frame
|
||||
long audiobuffer_nbi; // number of inputs
|
||||
long audiobuffer_nbo; // number of outputs
|
||||
float *audiobuffer_r[128]; // nbi input pointers containing frame of nbs sample (of 32bits float)
|
||||
float *audiobuffer_w[128]; // nbo output pointers containing frame of nbs sample (of 32bits float)
|
||||
} VBVMR_T_AUDIOBUFFER, *VBVMR_PT_AUDIOBUFFER, *VBVMR_LPT_AUDIOBUFFER;
|
||||
|
||||
/**
|
||||
@brief VB-AUDIO Callback is called for different task to Initialize, perform and end your process.
|
||||
@ -533,23 +452,21 @@ typedef struct tagVBVMR_AUDIOBUFFER
|
||||
@return : 0: always 0 (unused).
|
||||
*/
|
||||
|
||||
typedef long(__stdcall *T_VBVMR_VBAUDIOCALLBACK)(void *lpUser, long nCommand, void *lpData, long nnn);
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_VBAUDIOCALLBACK)(void * lpUser, long nCommand, void * lpData, long nnn);
|
||||
#define VBVMR_CBCOMMAND_STARTING 1 // command to initialize data according SR and buffer size
|
||||
// info = (VBVMR_LPT_AUDIOINFO)lpData
|
||||
|
||||
#define VBVMR_CBCOMMAND_ENDING 2 // command to release data
|
||||
#define VBVMR_CBCOMMAND_CHANGE 3 // If change in audio stream, you will have to restart audio
|
||||
|
||||
#define VBVMR_CBCOMMAND_STARTING 1 //command to initialize data according SR and buffer size
|
||||
//info = (VBVMR_LPT_AUDIOINFO)lpData
|
||||
#define VBVMR_CBCOMMAND_BUFFER_IN 10 // input insert
|
||||
#define VBVMR_CBCOMMAND_BUFFER_OUT 11 // bus output insert
|
||||
#define VBVMR_CBCOMMAND_BUFFER_MAIN 20 // all i/o
|
||||
// audiobuffer = (VBVMR_LPT_AUDIOBUFFER)lpData
|
||||
// nnn = synchro = 1 if synchro with Voicemeeter
|
||||
|
||||
#define VBVMR_CBCOMMAND_ENDING 2 //command to release data
|
||||
#define VBVMR_CBCOMMAND_CHANGE 3 //If change in audio stream, you will have to restart audio
|
||||
|
||||
#define VBVMR_CBCOMMAND_BUFFER_IN 10 //input insert
|
||||
#define VBVMR_CBCOMMAND_BUFFER_OUT 11 //bus output insert
|
||||
#define VBVMR_CBCOMMAND_BUFFER_MAIN 20 //all i/o
|
||||
//audiobuffer = (VBVMR_LPT_AUDIOBUFFER)lpData
|
||||
//nnn = synchro = 1 if synchro with Voicemeeter
|
||||
|
||||
/*
|
||||
/*
|
||||
-----------------------------------------------------
|
||||
AUDIO BUFFER for VBVMR_CBCOMMAND_BUFFER_IN
|
||||
-----------------------------------------------------
|
||||
@ -572,9 +489,9 @@ typedef long (__stdcall *T_VBVMR_VBAUDIOCALLBACK)(void * lpUser, long nCommand,
|
||||
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
|
||||
|
||||
|
||||
-----------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
AUDIO BUFFER for VBVMR_CBCOMMAND_BUFFER_OUT
|
||||
-----------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
VOICEMEETER
|
||||
|
||||
| Output A1 / A2 | Virtual Output |
|
||||
@ -603,9 +520,9 @@ typedef long (__stdcall *T_VBVMR_VBAUDIOCALLBACK)(void * lpUser, long nCommand,
|
||||
| 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
|
||||
|
||||
|
||||
-----------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
AUDIO BUFFER for VBVMR_CBCOMMAND_BUFFER_MAIN
|
||||
-----------------------------------------------------
|
||||
-----------------------------------------------------
|
||||
VOICEMEETER
|
||||
|
||||
| Strip 1 | Strip 2 | Virtual Input |
|
||||
@ -656,7 +573,7 @@ typedef long (__stdcall *T_VBVMR_VBAUDIOCALLBACK)(void * lpUser, long nCommand,
|
||||
| 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
|
||||
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
/**
|
||||
@brief register your audio callback function to receive real time audio buffer
|
||||
@ -678,11 +595,11 @@ typedef long (__stdcall *T_VBVMR_VBAUDIOCALLBACK)(void * lpUser, long nCommand,
|
||||
1: callback already registered (by another application).
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_AudioCallbackRegister(long mode, T_VBVMR_VBAUDIOCALLBACK pCallback, void * lpUser, char szClientName[64]);
|
||||
long __stdcall VBVMR_AudioCallbackRegister(long mode, T_VBVMR_VBAUDIOCALLBACK pCallback, void *lpUser, char szClientName[64]);
|
||||
|
||||
#define VBVMR_AUDIOCALLBACK_IN 0x00000001 //to process input insert
|
||||
#define VBVMR_AUDIOCALLBACK_OUT 0x00000002 //to process output bus insert
|
||||
#define VBVMR_AUDIOCALLBACK_MAIN 0x00000004 //to receive all i/o
|
||||
#define VBVMR_AUDIOCALLBACK_IN 0x00000001 // to process input insert
|
||||
#define VBVMR_AUDIOCALLBACK_OUT 0x00000002 // to process output bus insert
|
||||
#define VBVMR_AUDIOCALLBACK_MAIN 0x00000004 // to receive all i/o
|
||||
|
||||
/**
|
||||
@brief Start / Stop Audio processing
|
||||
@ -693,9 +610,8 @@ long __stdcall VBVMR_AudioCallbackRegister(long mode, T_VBVMR_VBAUDIOCALLBACK pC
|
||||
-2: no callback registred.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_AudioCallbackStart(void);
|
||||
long __stdcall VBVMR_AudioCallbackStop(void);
|
||||
|
||||
long __stdcall VBVMR_AudioCallbackStart(void);
|
||||
long __stdcall VBVMR_AudioCallbackStop(void);
|
||||
|
||||
/**
|
||||
@brief unregister your callback to release voicemeeter virtual driver
|
||||
@ -706,25 +622,18 @@ long __stdcall VBVMR_AudioCallbackStop(void);
|
||||
1: callback already unregistered.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_AudioCallbackUnregister(void);
|
||||
long __stdcall VBVMR_AudioCallbackUnregister(void);
|
||||
|
||||
/** @} */
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Macro Buttons */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @} */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* */
|
||||
/* Macro Buttons */
|
||||
/* */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @name Macro Buttons functions
|
||||
* @{ */
|
||||
/** @name Macro Buttons functions
|
||||
* @{ */
|
||||
|
||||
/**
|
||||
@brief Check if Macro Buttons states changed.
|
||||
@ -737,7 +646,7 @@ long __stdcall VBVMR_AudioCallbackUnregister(void);
|
||||
-2: no server.
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_MacroButton_IsDirty(void);
|
||||
long __stdcall VBVMR_MacroButton_IsDirty(void);
|
||||
|
||||
/**
|
||||
@brief get current status of a given button.
|
||||
@ -751,7 +660,7 @@ long __stdcall VBVMR_MacroButton_IsDirty(void);
|
||||
-5: structure mismatch
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_MacroButton_GetStatus(long nuLogicalButton, float * pValue, long bitmode);
|
||||
long __stdcall VBVMR_MacroButton_GetStatus(long nuLogicalButton, float *pValue, long bitmode);
|
||||
|
||||
/**
|
||||
@brief set current button value.
|
||||
@ -765,72 +674,59 @@ long __stdcall VBVMR_MacroButton_GetStatus(long nuLogicalButton, float * pValue,
|
||||
-5: structure mismatch
|
||||
*/
|
||||
|
||||
long __stdcall VBVMR_MacroButton_SetStatus(long nuLogicalButton, float fValue, long bitmode);
|
||||
long __stdcall VBVMR_MacroButton_SetStatus(long nuLogicalButton, float fValue, long bitmode);
|
||||
|
||||
#define VBVMR_MACROBUTTON_MODE_DEFAULT 0x00000000 //PUSH or RELEASE button
|
||||
#define VBVMR_MACROBUTTON_MODE_STATEONLY 0x00000002 //change Displayed State only
|
||||
#define VBVMR_MACROBUTTON_MODE_TRIGGER 0x00000003 //change Trigger State
|
||||
#define VBVMR_MACROBUTTON_MODE_COLOR 0x00000004 //change color
|
||||
#define VBVMR_MACROBUTTON_MODE_DEFAULT 0x00000000 // PUSH or RELEASE button
|
||||
#define VBVMR_MACROBUTTON_MODE_STATEONLY 0x00000002 // change Displayed State only
|
||||
#define VBVMR_MACROBUTTON_MODE_TRIGGER 0x00000003 // change Trigger State
|
||||
#define VBVMR_MACROBUTTON_MODE_COLOR 0x00000004 // change color
|
||||
|
||||
/** @} */
|
||||
|
||||
/******************************************************************************/
|
||||
/* 'C' STRUCTURED INTERFACE */
|
||||
/******************************************************************************/
|
||||
|
||||
/** @} */
|
||||
typedef long long(__stdcall *T_VBVMR_Login)(void);
|
||||
typedef long long(__stdcall *T_VBVMR_Logout)(void);
|
||||
typedef long long(__stdcall *T_VBVMR_RunVoicemeeter)(long vType);
|
||||
|
||||
typedef long long(__stdcall *T_VBVMR_GetVoicemeeterType)(long *pType);
|
||||
typedef long long(__stdcall *T_VBVMR_GetVoicemeeterVersion)(long *pVersion);
|
||||
|
||||
typedef long long(__stdcall *T_VBVMR_IsParametersDirty)(void);
|
||||
typedef long long(__stdcall *T_VBVMR_GetParameterFloat)(char *szParamName, float *pValue);
|
||||
typedef long long(__stdcall *T_VBVMR_GetParameterStringA)(char *szParamName, char *szString);
|
||||
typedef long long(__stdcall *T_VBVMR_GetParameterStringW)(char *szParamName, unsigned short *wszString);
|
||||
|
||||
typedef long long(__stdcall *T_VBVMR_GetLevel)(long nType, long nuChannel, float *pValue);
|
||||
typedef long long(__stdcall *T_VBVMR_GetMidiMessage)(unsigned char *pMIDIBuffer, long nbByteMax);
|
||||
typedef long long(__stdcall *T_VBVMR_SendMidiMessage)(unsigned char *pMIDIBuffer, long nbByteMax);
|
||||
|
||||
typedef long long(__stdcall *T_VBVMR_SetParameterFloat)(char *szParamName, float Value);
|
||||
typedef long long(__stdcall *T_VBVMR_SetParameters)(char *szParamScript);
|
||||
typedef long long(__stdcall *T_VBVMR_SetParametersW)(unsigned short *szParamScript);
|
||||
typedef long long(__stdcall *T_VBVMR_SetParameterStringA)(char *szParamName, char *szString);
|
||||
typedef long long(__stdcall *T_VBVMR_SetParameterStringW)(char *szParamName, unsigned short *wszString);
|
||||
|
||||
typedef long long(__stdcall *T_VBVMR_Output_GetDeviceNumber)(void);
|
||||
typedef long long(__stdcall *T_VBVMR_Output_GetDeviceDescA)(long zindex, long *nType, char *szDeviceName, char *szHardwareId);
|
||||
typedef long long(__stdcall *T_VBVMR_Output_GetDeviceDescW)(long zindex, long *nType, unsigned short *wszDeviceName, unsigned short *wszHardwareId);
|
||||
typedef long long(__stdcall *T_VBVMR_Input_GetDeviceNumber)(void);
|
||||
typedef long long(__stdcall *T_VBVMR_Input_GetDeviceDescA)(long zindex, long *nType, char *szDeviceName, char *szHardwareId);
|
||||
typedef long long(__stdcall *T_VBVMR_Input_GetDeviceDescW)(long zindex, long *nType, unsigned short *wszDeviceName, unsigned short *wszHardwareId);
|
||||
|
||||
typedef long long(__stdcall *T_VBVMR_AudioCallbackRegister)(long mode, T_VBVMR_VBAUDIOCALLBACK pCallback, void *lpUser, char szClientName[64]);
|
||||
typedef long long(__stdcall *T_VBVMR_AudioCallbackStart)(void);
|
||||
typedef long long(__stdcall *T_VBVMR_AudioCallbackStop)(void);
|
||||
typedef long long(__stdcall *T_VBVMR_AudioCallbackUnregister)(void);
|
||||
|
||||
typedef long long(__stdcall *T_VBVMR_MacroButton_IsDirty)(void);
|
||||
typedef long long(__stdcall *T_VBVMR_MacroButton_GetStatus)(long nuLogicalButton, float *pValue, long bitmode);
|
||||
typedef long long(__stdcall *T_VBVMR_MacroButton_SetStatus)(long nuLogicalButton, float fValue, long bitmode);
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* 'C' STRUCTURED INTERFACE */
|
||||
/******************************************************************************/
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_Login)(void);
|
||||
typedef long (__stdcall *T_VBVMR_Logout)(void);
|
||||
typedef long (__stdcall *T_VBVMR_RunVoicemeeter)(long vType);
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_GetVoicemeeterType)(long * pType);
|
||||
typedef long (__stdcall *T_VBVMR_GetVoicemeeterVersion)(long * pVersion);
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_IsParametersDirty)(void);
|
||||
typedef long (__stdcall *T_VBVMR_GetParameterFloat)(char * szParamName, float * pValue);
|
||||
typedef long (__stdcall *T_VBVMR_GetParameterStringA)(char * szParamName, char * szString);
|
||||
typedef long (__stdcall *T_VBVMR_GetParameterStringW)(char * szParamName, unsigned short * wszString);
|
||||
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_GetLevel)(long nType, long nuChannel, float * pValue);
|
||||
typedef long (__stdcall *T_VBVMR_GetMidiMessage)(unsigned char *pMIDIBuffer, long nbByteMax);
|
||||
typedef long (__stdcall *T_VBVMR_SendMidiMessage)(unsigned char *pMIDIBuffer, long nbByteMax);
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_SetParameterFloat)(char * szParamName, float Value);
|
||||
typedef long (__stdcall *T_VBVMR_SetParameters)(char * szParamScript);
|
||||
typedef long (__stdcall *T_VBVMR_SetParametersW)(unsigned short * szParamScript);
|
||||
typedef long (__stdcall *T_VBVMR_SetParameterStringA)(char * szParamName, char * szString);
|
||||
typedef long (__stdcall *T_VBVMR_SetParameterStringW)(char * szParamName, unsigned short * wszString);
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_Output_GetDeviceNumber)(void);
|
||||
typedef long (__stdcall *T_VBVMR_Output_GetDeviceDescA)(long zindex, long * nType, char * szDeviceName, char * szHardwareId);
|
||||
typedef long (__stdcall *T_VBVMR_Output_GetDeviceDescW)(long zindex, long * nType, unsigned short * wszDeviceName, unsigned short * wszHardwareId);
|
||||
typedef long (__stdcall *T_VBVMR_Input_GetDeviceNumber)(void);
|
||||
typedef long (__stdcall *T_VBVMR_Input_GetDeviceDescA)(long zindex, long * nType, char * szDeviceName, char * szHardwareId);
|
||||
typedef long (__stdcall *T_VBVMR_Input_GetDeviceDescW)(long zindex, long * nType, unsigned short * wszDeviceName, unsigned short * wszHardwareId);
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_AudioCallbackRegister)(long mode, T_VBVMR_VBAUDIOCALLBACK pCallback, void * lpUser, char szClientName[64]);
|
||||
typedef long (__stdcall *T_VBVMR_AudioCallbackStart)(void);
|
||||
typedef long (__stdcall *T_VBVMR_AudioCallbackStop)(void);
|
||||
typedef long (__stdcall *T_VBVMR_AudioCallbackUnregister)(void);
|
||||
|
||||
typedef long (__stdcall *T_VBVMR_MacroButton_IsDirty)(void);
|
||||
typedef long (__stdcall *T_VBVMR_MacroButton_GetStatus)(long nuLogicalButton, float * pValue, long bitmode);
|
||||
typedef long (__stdcall *T_VBVMR_MacroButton_SetStatus)(long nuLogicalButton, float fValue, long bitmode);
|
||||
|
||||
|
||||
|
||||
typedef struct tagVBVMR_INTERFACE
|
||||
{
|
||||
typedef struct tagVBVMR_INTERFACE
|
||||
{
|
||||
T_VBVMR_Login VBVMR_Login;
|
||||
T_VBVMR_Logout VBVMR_Logout;
|
||||
T_VBVMR_RunVoicemeeter VBVMR_RunVoicemeeter;
|
||||
@ -867,34 +763,27 @@ typedef struct tagVBVMR_INTERFACE
|
||||
T_VBVMR_MacroButton_GetStatus VBVMR_MacroButton_GetStatus;
|
||||
T_VBVMR_MacroButton_SetStatus VBVMR_MacroButton_SetStatus;
|
||||
|
||||
|
||||
} T_VBVMR_INTERFACE, *PT_VBVMR_INTERFACE, *LPT_VBVMR_INTERFACE;
|
||||
} T_VBVMR_INTERFACE, *PT_VBVMR_INTERFACE, *LPT_VBVMR_INTERFACE;
|
||||
|
||||
#ifdef VBUSE_LOCALLIB
|
||||
// internal used (not public)
|
||||
void __stdcall VBVMR_SetHinstance(HINSTANCE hinst);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* VBAN RT PACKET */
|
||||
/******************************************************************************/
|
||||
/******************************************************************************/
|
||||
/* VBAN RT PACKET */
|
||||
/******************************************************************************/
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// short = 2 bytes
|
||||
// char = 1 byte
|
||||
// short = 2 bytes
|
||||
// char = 1 byte
|
||||
|
||||
// COMPATIBILITY: defined structure cannot be changed.
|
||||
// some field could be added at the end of the structure to keep the compatibility in the time.
|
||||
// COMPATIBILITY: defined structure cannot be changed.
|
||||
// some field could be added at the end of the structure to keep the compatibility in the time.
|
||||
|
||||
typedef struct tagVBAN_VMRT_PACKET //packedt ident: 0
|
||||
{
|
||||
typedef struct tagVBAN_VMRT_PACKET // packedt ident: 0
|
||||
{
|
||||
unsigned char voicemeeterType; // 1 = Voicemeeter, 2= Voicemeeter Banana, 3 Potato
|
||||
unsigned char reserved; // unused
|
||||
unsigned short buffersize; // main stream buffer size
|
||||
@ -917,9 +806,9 @@ typedef struct tagVBAN_VMRT_PACKET //packedt ident: 0
|
||||
short busGaindB100[8]; // Bus Gain in dB * 100
|
||||
char stripLabelUTF8c60[8][60]; // Strip Label
|
||||
char busLabelUTF8c60[8][60]; // Bus Label
|
||||
} T_VBAN_VMRT_PACKET, *PT_VBAN_VMRT_PACKET, *LPT_VBAN_VMRT_PACKET;
|
||||
} T_VBAN_VMRT_PACKET, *PT_VBAN_VMRT_PACKET, *LPT_VBAN_VMRT_PACKET;
|
||||
|
||||
#define expected_size_T_VBAN_VMRT_PACKET 1384 //1436 max
|
||||
#define expected_size_T_VBAN_VMRT_PACKET 1384 // 1436 max
|
||||
|
||||
#pragma pack()
|
||||
|
||||
@ -971,16 +860,15 @@ typedef struct tagVBAN_VMRT_PACKET //packedt ident: 0
|
||||
#define VMRTSTATE_MODE_SEL 0x10000000
|
||||
#define VMRTSTATE_MODE_MONITOR 0x20000000
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
// long = 4 bytes
|
||||
// short = 2 bytes
|
||||
// char = 1 byte
|
||||
// float = 4 bytes
|
||||
// long = 4 bytes
|
||||
// short = 2 bytes
|
||||
// char = 1 byte
|
||||
// float = 4 bytes
|
||||
|
||||
typedef struct tagVBAN_VMPARAM_STRIP
|
||||
{
|
||||
typedef struct tagVBAN_VMPARAM_STRIP
|
||||
{
|
||||
long mode;
|
||||
float dblevel; // x 100
|
||||
short Audibility; // x 100
|
||||
@ -992,7 +880,7 @@ typedef struct tagVBAN_VMPARAM_STRIP
|
||||
short EQgain2; // x 100
|
||||
short EQgain3; // x 100
|
||||
|
||||
//first channel parametric EQ
|
||||
// first channel parametric EQ
|
||||
char PEQ_eqOn[6]; // 0 or 1
|
||||
char PEQ_eqtype[6]; // see define below
|
||||
float PEQ_eqgain[6];
|
||||
@ -1036,7 +924,7 @@ typedef struct tagVBAN_VMPARAM_STRIP
|
||||
short Pitch_formant_med; // x 100
|
||||
short Pitch_formant_high; // x 100
|
||||
|
||||
} T_VBAN_VMPARAM_STRIP, *PT_VBAN_VMPARAM_STRIP, *LPT_VBAN_VMPARAM_STRIP;
|
||||
} T_VBAN_VMPARAM_STRIP, *PT_VBAN_VMPARAM_STRIP, *LPT_VBAN_VMPARAM_STRIP;
|
||||
|
||||
#define VMRT_EQTYPE_PEQ 0
|
||||
#define VMRT_EQTYPE_NOTCH 1
|
||||
@ -1046,12 +934,11 @@ typedef struct tagVBAN_VMPARAM_STRIP
|
||||
#define VMRT_EQTYPE_LOSHELF 5
|
||||
#define VMRT_EQTYPE_HISHELF 6
|
||||
|
||||
#define expected_size_T_VBAN_VMPARAM_STRIP (8 + (8 * sizeof(short)) + (2 * 6) + (3 * 6 * sizeof(float)) + ((11 + 9 + 6 + 7) * sizeof(short)))
|
||||
// 170
|
||||
|
||||
#define expected_size_T_VBAN_VMPARAM_STRIP (8+ (8 * sizeof(short)) + (2*6) + (3 * 6 * sizeof(float)) + ((11 + 9 + 6 + 7) * sizeof(short)))
|
||||
//170
|
||||
|
||||
typedef struct tagVBAN_VMPARAMSTRIP_PACKET //packedt ident: 1
|
||||
{
|
||||
typedef struct tagVBAN_VMPARAMSTRIP_PACKET // packedt ident: 1
|
||||
{
|
||||
unsigned char voicemeeterType; // 1 = Voicemeeter, 2= Voicemeeter Banana, 3 Potato
|
||||
unsigned char reserved; // unused
|
||||
unsigned short buffersize; // main stream buffer size
|
||||
@ -1059,35 +946,29 @@ typedef struct tagVBAN_VMPARAMSTRIP_PACKET //packedt ident: 1
|
||||
unsigned long optionBits; // unused
|
||||
unsigned long samplerate; // main stream samplerate
|
||||
T_VBAN_VMPARAM_STRIP Strips[8]; // all input strips
|
||||
} T_VBAN_VMPARAMSTRIP_PACKET, *PT_VBAN_VMPARAMSTRIP_PACKET, *LPT_VBAN_VMPARAMSTRIP_PACKET;
|
||||
} T_VBAN_VMPARAMSTRIP_PACKET, *PT_VBAN_VMPARAMSTRIP_PACKET, *LPT_VBAN_VMPARAMSTRIP_PACKET;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#define expected_size_T_VBAN_VMPARAMSTRIP_PACKET ((4 * 4) + (expected_size_T_VBAN_VMPARAM_STRIP * 8)) //1436 max
|
||||
//1376
|
||||
#define expected_size_T_VBAN_VMPARAMSTRIP_PACKET ((4 * 4) + (expected_size_T_VBAN_VMPARAM_STRIP * 8)) // 1436 max
|
||||
// 1376
|
||||
|
||||
/******************************************************************************/
|
||||
/* LOCAL FUNCTIONS */
|
||||
/******************************************************************************/
|
||||
|
||||
long VBVMR_LocalInit(void);
|
||||
long VBVMR_LocalEnd(void);
|
||||
void * VBVMR_GetRequestVB0STREAMPTR(void);
|
||||
|
||||
long VBVMR_SetParametersWEx(unsigned short * szParamScript, long fCopyToClient);
|
||||
|
||||
long VBVMR_LoginEx(long properties);
|
||||
|
||||
long VBVMR_MB_PushSettings(void * lpParam);
|
||||
/******************************************************************************/
|
||||
/* LOCAL FUNCTIONS */
|
||||
/******************************************************************************/
|
||||
|
||||
long VBVMR_LocalInit(void);
|
||||
long VBVMR_LocalEnd(void);
|
||||
void *VBVMR_GetRequestVB0STREAMPTR(void);
|
||||
|
||||
long VBVMR_SetParametersWEx(unsigned short *szParamScript, long fCopyToClient);
|
||||
|
||||
long VBVMR_LoginEx(long properties);
|
||||
|
||||
long VBVMR_MB_PushSettings(void *lpParam);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*__VOICEMEETER_REMOTE_H__*/
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user