@ -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__*/