mirror of
				https://github.com/onyx-and-iris/vmrcli.git
				synced 2025-11-04 07:01:47 +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            */
 | 
					/* This Library allows communication with Voicemeeter applications            */
 | 
				
			||||||
/* 4 Client Applications can be connected to remote Voicemeeter.              */
 | 
					/* 4 Client Applications can be connected to remote Voicemeeter.              */
 | 
				
			||||||
@ -19,25 +19,24 @@
 | 
				
			|||||||
/* long = 32 bit integer                                                      */
 | 
					/* long = 32 bit integer                                                      */
 | 
				
			||||||
/******************************************************************************/
 | 
					/******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef __VOICEMEETER_REMOTE_H__
 | 
					#ifndef __VOICEMEETER_REMOTE_H__
 | 
				
			||||||
#define __VOICEMEETER_REMOTE_H__
 | 
					#define __VOICEMEETER_REMOTE_H__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
extern "C" {
 | 
					extern "C"
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#define VBVMR_RESULT_OK 0
 | 
					#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).
 | 
						@brief Open Communication Pipe With Voicemeeter (typically called on software startup).
 | 
				
			||||||
@ -47,15 +46,14 @@ extern "C" {
 | 
				
			|||||||
				-2: unexpected login (logout was expected before).
 | 
									-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).
 | 
						@brief Close Communication Pipe With Voicemeeter (typically called on software end).
 | 
				
			||||||
	@return : 0 if ok.
 | 
						@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).
 | 
						@brief Run Voicemeeter Application (get installation directory and run Voicemeeter Application).
 | 
				
			||||||
@ -65,29 +63,18 @@ long __stdcall VBVMR_Logout(void);
 | 
				
			|||||||
				-2: unknown vType number
 | 
									-2: unknown vType number
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_RunVoicemeeter(long vType);
 | 
						long __stdcall VBVMR_RunVoicemeeter(long vType);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/** @}  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @}  */
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/*                             General Information                            */
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/** @name General Information
 | 
				
			||||||
 | 
						 * @{ */
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/*                             General Information                            */
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** @name General Information 
 | 
					 | 
				
			||||||
* @{ */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief Get Voicemeeter Type
 | 
						@brief Get Voicemeeter Type
 | 
				
			||||||
@ -117,7 +104,7 @@ long __stdcall VBVMR_RunVoicemeeter(long vType);
 | 
				
			|||||||
				-2: no server.
 | 
									-2: no server.
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_GetVoicemeeterType(long * pType);
 | 
						long __stdcall VBVMR_GetVoicemeeterType(long *pType);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief Get Voicemeeter Version
 | 
						@brief Get Voicemeeter Version
 | 
				
			||||||
@ -132,36 +119,18 @@ long __stdcall VBVMR_GetVoicemeeterType(long * pType);
 | 
				
			|||||||
				-2: no server.
 | 
									-2: no server.
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_GetVoicemeeterVersion(long * pVersion);
 | 
						long __stdcall VBVMR_GetVoicemeeterVersion(long *pVersion);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/** @}  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @}  */
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/*                               Get parameters                               */
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/** @name Getting Parameters
 | 
				
			||||||
 | 
						 * @{ */
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/*                               Get parameters                               */
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** @name Getting Parameters
 | 
					 | 
				
			||||||
* @{ */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief  Check if parameters have changed.
 | 
						@brief  Check if parameters have changed.
 | 
				
			||||||
@ -174,7 +143,7 @@ long __stdcall VBVMR_GetVoicemeeterVersion(long * pVersion);
 | 
				
			|||||||
				-2: no server.
 | 
									-2: no server.
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_IsParametersDirty(void);
 | 
						long __stdcall VBVMR_IsParametersDirty(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief get parameter value.
 | 
						@brief get parameter value.
 | 
				
			||||||
@ -187,7 +156,7 @@ long __stdcall VBVMR_IsParametersDirty(void);
 | 
				
			|||||||
				-5: structure mismatch
 | 
									-5: structure mismatch
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_GetParameterFloat(char * szParamName, float * pValue);
 | 
						long __stdcall VBVMR_GetParameterFloat(char *szParamName, float *pValue);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief get parameter value.
 | 
						@brief get parameter value.
 | 
				
			||||||
@ -200,27 +169,19 @@ long __stdcall VBVMR_GetParameterFloat(char * szParamName, float * pValue);
 | 
				
			|||||||
				-5: structure mismatch
 | 
									-5: structure mismatch
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_GetParameterStringA(char * szParamName, char * szString);
 | 
						long __stdcall VBVMR_GetParameterStringA(char *szParamName, char *szString);
 | 
				
			||||||
long __stdcall VBVMR_GetParameterStringW(char * szParamName, unsigned short * wszString);
 | 
						long __stdcall VBVMR_GetParameterStringW(char *szParamName, unsigned short *wszString);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @}  */
 | 
						/** @}  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/*                                Get levels                                  */
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/** @name Getting RT Data
 | 
				
			||||||
 | 
						 * @{ */
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/*                                Get levels                                  */
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** @name Getting RT Data
 | 
					 | 
				
			||||||
* @{ */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief Get Current levels.
 | 
						@brief Get Current levels.
 | 
				
			||||||
@ -281,8 +242,7 @@ long __stdcall VBVMR_GetParameterStringW(char * szParamName, unsigned short * ws
 | 
				
			|||||||
				-4: out of range
 | 
									-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.
 | 
						@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
 | 
									-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.
 | 
						@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
 | 
									-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                               */
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @}  */
 | 
						/** @name Setting Parameters
 | 
				
			||||||
 | 
						 * @{ */
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/*                               Set Parameters                               */
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** @name Setting Parameters
 | 
					 | 
				
			||||||
* @{ */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief Set a single float 32 bits 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
 | 
									-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 .
 | 
						@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_SetParameterStringA(char * szParamName, char * szString);
 | 
						long __stdcall VBVMR_SetParameterStringW(char *szParamName, unsigned short *wszString);
 | 
				
			||||||
long __stdcall VBVMR_SetParameterStringW(char * szParamName, unsigned short * wszString);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief Set one or several parameters by a script ( < 48 kB ).
 | 
						@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
 | 
									-4: unexpected error
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_SetParameters(char * szParamScript);
 | 
						long __stdcall VBVMR_SetParameters(char *szParamScript);
 | 
				
			||||||
long __stdcall VBVMR_SetParametersW(unsigned short * szParamScript);
 | 
						long __stdcall VBVMR_SetParametersW(unsigned short *szParamScript);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/** @}  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @}  */
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
						/*                            DEVICES ENUMERATOR                              */
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/** @name Device Enumeration Functions
 | 
				
			||||||
 | 
						 * @{ */
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
/*                            DEVICES ENUMERATOR                              */
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** @name Device Enumeration Functions
 | 
					 | 
				
			||||||
* @{ */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define VBVMR_DEVTYPE_MME 1
 | 
					#define VBVMR_DEVTYPE_MME 1
 | 
				
			||||||
#define VBVMR_DEVTYPE_WDM 3
 | 
					#define VBVMR_DEVTYPE_WDM 3
 | 
				
			||||||
@ -441,7 +370,7 @@ long __stdcall VBVMR_SetParametersW(unsigned short * szParamScript);
 | 
				
			|||||||
	@return : return number of device found.
 | 
						@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
 | 
						@brief Return pointer on Output Device Descriptor according index
 | 
				
			||||||
@ -452,15 +381,15 @@ long __stdcall VBVMR_Output_GetDeviceNumber(void);
 | 
				
			|||||||
	@return :	 0: OK (no error).
 | 
						@return :	 0: OK (no error).
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_Output_GetDeviceDescA(long zindex, long * nType, char * szDeviceName, char * szHardwareId);
 | 
						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_GetDeviceDescW(long zindex, long *nType, unsigned short *wszDeviceName, unsigned short *wszHardwareId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief Get number of Audio Input Device available on the system
 | 
						@brief Get number of Audio Input Device available on the system
 | 
				
			||||||
	@return : return number of device found.
 | 
						@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
 | 
						@brief Return pointer on Input Device Descriptor according index
 | 
				
			||||||
@ -471,50 +400,40 @@ long __stdcall VBVMR_Input_GetDeviceNumber(void);
 | 
				
			|||||||
	@return :	 0: OK (no error).
 | 
						@return :	 0: OK (no error).
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_Input_GetDeviceDescA(long zindex, long * nType, char * szDeviceName, char * szHardwareId);
 | 
						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_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
 | 
				
			||||||
 | 
						 * @{ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						typedef struct tagVBVMR_AUDIOINFO
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
/*                             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
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
		long samplerate;
 | 
							long samplerate;
 | 
				
			||||||
		long nbSamplePerFrame;
 | 
							long nbSamplePerFrame;
 | 
				
			||||||
} VBVMR_T_AUDIOINFO, *VBVMR_PT_AUDIOINFO, *VBVMR_LPT_AUDIOINFO;
 | 
						} 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;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						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.
 | 
						@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).
 | 
						@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
 | 
					#define VBVMR_CBCOMMAND_BUFFER_IN 10   // input insert
 | 
				
			||||||
											//info = (VBVMR_LPT_AUDIOINFO)lpData 
 | 
					#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
 | 
							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 |
 | 
								 | 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
 | 
							 AUDIO BUFFER for VBVMR_CBCOMMAND_BUFFER_OUT
 | 
				
			||||||
-----------------------------------------------------
 | 
						-----------------------------------------------------
 | 
				
			||||||
			 VOICEMEETER
 | 
								 VOICEMEETER
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			 |             Output A1 / A2            |             Virtual Output            |
 | 
								 |             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 |
 | 
								 | 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
 | 
							  AUDIO BUFFER for VBVMR_CBCOMMAND_BUFFER_MAIN
 | 
				
			||||||
-----------------------------------------------------
 | 
						-----------------------------------------------------
 | 
				
			||||||
			 VOICEMEETER
 | 
								 VOICEMEETER
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			 | Strip 1 | Strip 2 |             Virtual Input             |
 | 
								 | 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 |
 | 
								 | 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
 | 
						@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).
 | 
									 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_IN 0x00000001	// to process input insert
 | 
				
			||||||
#define VBVMR_AUDIOCALLBACK_OUT		0x00000002  //to process output bus insert
 | 
					#define VBVMR_AUDIOCALLBACK_OUT 0x00000002	// to process output bus insert
 | 
				
			||||||
#define VBVMR_AUDIOCALLBACK_MAIN	0x00000004  //to receive all i/o
 | 
					#define VBVMR_AUDIOCALLBACK_MAIN 0x00000004 // to receive all i/o
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief	Start / Stop Audio processing
 | 
						@brief	Start / Stop Audio processing
 | 
				
			||||||
@ -693,9 +610,8 @@ long __stdcall VBVMR_AudioCallbackRegister(long mode, T_VBVMR_VBAUDIOCALLBACK pC
 | 
				
			|||||||
				-2: no callback registred.
 | 
									-2: no callback registred.
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_AudioCallbackStart(void);
 | 
						long __stdcall VBVMR_AudioCallbackStart(void);
 | 
				
			||||||
long __stdcall VBVMR_AudioCallbackStop(void);
 | 
						long __stdcall VBVMR_AudioCallbackStop(void);
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief unregister your callback to release voicemeeter virtual driver
 | 
						@brief unregister your callback to release voicemeeter virtual driver
 | 
				
			||||||
@ -706,25 +622,18 @@ long __stdcall VBVMR_AudioCallbackStop(void);
 | 
				
			|||||||
				 1: callback already unregistered.
 | 
									 1: callback already unregistered.
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_AudioCallbackUnregister(void);
 | 
						long __stdcall VBVMR_AudioCallbackUnregister(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/** @}  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/*                                Macro Buttons                               */
 | 
				
			||||||
 | 
						/*                                                                            */
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @}  */
 | 
						/** @name Macro Buttons functions
 | 
				
			||||||
 | 
						 * @{ */
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/*                                Macro Buttons                               */
 | 
					 | 
				
			||||||
/*                                                                            */
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** @name Macro Buttons functions
 | 
					 | 
				
			||||||
* @{ */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief  Check if Macro Buttons states changed.
 | 
						@brief  Check if Macro Buttons states changed.
 | 
				
			||||||
@ -737,7 +646,7 @@ long __stdcall VBVMR_AudioCallbackUnregister(void);
 | 
				
			|||||||
				-2: no server.
 | 
									-2: no server.
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
long __stdcall VBVMR_MacroButton_IsDirty(void);
 | 
						long __stdcall VBVMR_MacroButton_IsDirty(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	@brief get current status of a given button.
 | 
						@brief get current status of a given button.
 | 
				
			||||||
@ -751,7 +660,7 @@ long __stdcall VBVMR_MacroButton_IsDirty(void);
 | 
				
			|||||||
				-5: structure mismatch
 | 
									-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.
 | 
						@brief set current button value.
 | 
				
			||||||
@ -765,72 +674,59 @@ long __stdcall VBVMR_MacroButton_GetStatus(long nuLogicalButton, float * pValue,
 | 
				
			|||||||
				-5: structure mismatch
 | 
									-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_DEFAULT 0x00000000	// PUSH or RELEASE button
 | 
				
			||||||
#define VBVMR_MACROBUTTON_MODE_STATEONLY	0x00000002	//change Displayed State only
 | 
					#define VBVMR_MACROBUTTON_MODE_STATEONLY 0x00000002 // change Displayed State only
 | 
				
			||||||
#define VBVMR_MACROBUTTON_MODE_TRIGGER		0x00000003	//change Trigger State
 | 
					#define VBVMR_MACROBUTTON_MODE_TRIGGER 0x00000003	// change Trigger State
 | 
				
			||||||
#define VBVMR_MACROBUTTON_MODE_COLOR		0x00000004	//change color
 | 
					#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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						typedef struct tagVBVMR_INTERFACE
 | 
				
			||||||
/******************************************************************************/
 | 
						{
 | 
				
			||||||
/*                          '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
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
		T_VBVMR_Login VBVMR_Login;
 | 
							T_VBVMR_Login VBVMR_Login;
 | 
				
			||||||
		T_VBVMR_Logout VBVMR_Logout;
 | 
							T_VBVMR_Logout VBVMR_Logout;
 | 
				
			||||||
		T_VBVMR_RunVoicemeeter VBVMR_RunVoicemeeter;
 | 
							T_VBVMR_RunVoicemeeter VBVMR_RunVoicemeeter;
 | 
				
			||||||
@ -867,34 +763,27 @@ typedef struct tagVBVMR_INTERFACE
 | 
				
			|||||||
		T_VBVMR_MacroButton_GetStatus VBVMR_MacroButton_GetStatus;
 | 
							T_VBVMR_MacroButton_GetStatus VBVMR_MacroButton_GetStatus;
 | 
				
			||||||
		T_VBVMR_MacroButton_SetStatus VBVMR_MacroButton_SetStatus;
 | 
							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
 | 
					#ifdef VBUSE_LOCALLIB
 | 
				
			||||||
	// internal used (not public)
 | 
						// internal used (not public)
 | 
				
			||||||
	void __stdcall VBVMR_SetHinstance(HINSTANCE hinst);
 | 
						void __stdcall VBVMR_SetHinstance(HINSTANCE hinst);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
						/*                                VBAN RT PACKET                              */
 | 
				
			||||||
 | 
						/******************************************************************************/
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
/*                                VBAN RT PACKET                              */
 | 
					 | 
				
			||||||
/******************************************************************************/
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma pack(1)
 | 
					#pragma pack(1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// short = 2 bytes
 | 
						// short = 2 bytes
 | 
				
			||||||
// char = 1 byte
 | 
						// char = 1 byte
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// COMPATIBILITY: defined structure cannot be changed.
 | 
						// COMPATIBILITY: defined structure cannot be changed.
 | 
				
			||||||
// some field could be added at the end of the structure to keep the compatibility in the time.  
 | 
						// 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 voicemeeterType;	  // 1 = Voicemeeter, 2= Voicemeeter Banana, 3 Potato
 | 
				
			||||||
		unsigned char reserved;			  // unused
 | 
							unsigned char reserved;			  // unused
 | 
				
			||||||
		unsigned short buffersize;		  // main stream buffer size
 | 
							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
 | 
							short busGaindB100[8];		   // Bus Gain in dB * 100
 | 
				
			||||||
		char stripLabelUTF8c60[8][60]; // Strip Label
 | 
							char stripLabelUTF8c60[8][60]; // Strip Label
 | 
				
			||||||
		char busLabelUTF8c60[8][60];   // Bus 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()
 | 
					#pragma pack()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -971,16 +860,15 @@ typedef struct tagVBAN_VMRT_PACKET			//packedt ident: 0
 | 
				
			|||||||
#define VMRTSTATE_MODE_SEL 0x10000000
 | 
					#define VMRTSTATE_MODE_SEL 0x10000000
 | 
				
			||||||
#define VMRTSTATE_MODE_MONITOR 0x20000000
 | 
					#define VMRTSTATE_MODE_MONITOR 0x20000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#pragma pack(1)
 | 
					#pragma pack(1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// long = 4 bytes
 | 
						// long = 4 bytes
 | 
				
			||||||
// short = 2 bytes
 | 
						// short = 2 bytes
 | 
				
			||||||
// char = 1 byte
 | 
						// char = 1 byte
 | 
				
			||||||
// float = 4 bytes
 | 
						// float = 4 bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct tagVBAN_VMPARAM_STRIP
 | 
						typedef struct tagVBAN_VMPARAM_STRIP
 | 
				
			||||||
{
 | 
						{
 | 
				
			||||||
		long mode;
 | 
							long mode;
 | 
				
			||||||
		float dblevel;	  // x 100
 | 
							float dblevel;	  // x 100
 | 
				
			||||||
		short Audibility; // x 100
 | 
							short Audibility; // x 100
 | 
				
			||||||
@ -992,7 +880,7 @@ typedef struct tagVBAN_VMPARAM_STRIP
 | 
				
			|||||||
		short EQgain2;	  // x 100
 | 
							short EQgain2;	  // x 100
 | 
				
			||||||
		short EQgain3;	  // x 100
 | 
							short EQgain3;	  // x 100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//first channel parametric EQ 
 | 
							// first channel parametric EQ
 | 
				
			||||||
		char PEQ_eqOn[6];	// 0 or 1
 | 
							char PEQ_eqOn[6];	// 0 or 1
 | 
				
			||||||
		char PEQ_eqtype[6]; // see define below
 | 
							char PEQ_eqtype[6]; // see define below
 | 
				
			||||||
		float PEQ_eqgain[6];
 | 
							float PEQ_eqgain[6];
 | 
				
			||||||
@ -1036,7 +924,7 @@ typedef struct tagVBAN_VMPARAM_STRIP
 | 
				
			|||||||
		short Pitch_formant_med;  // x 100
 | 
							short Pitch_formant_med;  // x 100
 | 
				
			||||||
		short Pitch_formant_high; // 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_PEQ 0
 | 
				
			||||||
#define VMRT_EQTYPE_NOTCH 1
 | 
					#define VMRT_EQTYPE_NOTCH 1
 | 
				
			||||||
@ -1046,12 +934,11 @@ typedef struct tagVBAN_VMPARAM_STRIP
 | 
				
			|||||||
#define VMRT_EQTYPE_LOSHELF 5
 | 
					#define VMRT_EQTYPE_LOSHELF 5
 | 
				
			||||||
#define VMRT_EQTYPE_HISHELF 6
 | 
					#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)))
 | 
						typedef struct tagVBAN_VMPARAMSTRIP_PACKET // packedt ident: 1
 | 
				
			||||||
//170
 | 
						{
 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef struct tagVBAN_VMPARAMSTRIP_PACKET		//packedt ident: 1
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
		unsigned char voicemeeterType;	  // 1 = Voicemeeter, 2= Voicemeeter Banana, 3 Potato
 | 
							unsigned char voicemeeterType;	  // 1 = Voicemeeter, 2= Voicemeeter Banana, 3 Potato
 | 
				
			||||||
		unsigned char reserved;			  // unused
 | 
							unsigned char reserved;			  // unused
 | 
				
			||||||
		unsigned short buffersize;		  // main stream buffer size
 | 
							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 optionBits;		  // unused
 | 
				
			||||||
		unsigned long samplerate;		  // main stream samplerate
 | 
							unsigned long samplerate;		  // main stream samplerate
 | 
				
			||||||
		T_VBAN_VMPARAM_STRIP Strips[8];	  // all input strips
 | 
							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()
 | 
					#pragma pack()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define expected_size_T_VBAN_VMPARAMSTRIP_PACKET ((4 * 4) + (expected_size_T_VBAN_VMPARAM_STRIP * 8)) //1436 max
 | 
					#define expected_size_T_VBAN_VMPARAMSTRIP_PACKET ((4 * 4) + (expected_size_T_VBAN_VMPARAM_STRIP * 8)) // 1436 max
 | 
				
			||||||
//1376
 | 
						// 1376
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/******************************************************************************/
 | 
						/******************************************************************************/
 | 
				
			||||||
/*                               LOCAL FUNCTIONS                              */
 | 
						/*                               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);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						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
 | 
					#ifdef __cplusplus
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /*__VOICEMEETER_REMOTE_H__*/
 | 
					#endif /*__VOICEMEETER_REMOTE_H__*/
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user