UNPKG

ts-easy-voicemeeter-remote

Version:
98 lines (97 loc) 4.74 kB
/// <reference types="node" /> import ref from 'ref-napi'; import { IoChannels, StripParamName, BusParamName, DeviceInfo, VoiceMeeterInfo } from './voiceMeeterUtils'; interface VoiceMeeterLibrary { VBVMR_Login(): string | number; VBVMR_Logout(): string | number; VBVMR_RunVoicemeeter(voiceMeeterType: number): string | number; VBVMR_GetVoicemeeterType(typePtr: ref.Pointer<string | number>): string | number; VBVMR_GetVoicemeeterVersion(typePtr: ref.Pointer<string | number>): string | number; VBVMR_IsParametersDirty(): string | number; VBVMR_GetParameterFloat(hardwareIdPtr: Buffer, namePtr: ref.Pointer<number>): string | number; VBVMR_GetParameterStringA(hardwareIdPtr: Buffer, namePtr: Buffer): string | number; VBVMR_SetParameters(script: Buffer): string | number; VBVMR_Output_GetDeviceNumber(): string | number; VBVMR_Output_GetDeviceDescA(deviceId: string | number, typePtr: ref.Pointer<string | number>, namePtr: Buffer, hardwareIdPtr: Buffer): string | number; VBVMR_Input_GetDeviceNumber(): string | number; VBVMR_Input_GetDeviceDescA(deviceId: string | number, typePtr: ref.Pointer<string | number>, namePtr: Buffer, hardwareIdPtr: Buffer): string | number; VBVMR_GetLevel(type: string | number, channel: string | number, value: ref.Pointer<number>): string | number; VBVMR_GetMidiMessage(buffer: Buffer, size: string | number): string | number; VBVMR_MacroButton_IsDirty(): string | number; VBVMR_MacroButton_GetStatus(nuLogicalButton: number, pValue: ref.Pointer<number>, bitmode: number): string | number; VBVMR_MacroButton_SetStatus(nuLogicalButton: number, fValue: number, bitmode: number): string | number; } export declare enum VoiceMeeterType { unknown = 0, voiceMeeter = 1, voiceMeeterBanana = 2, voiceMeeterPotato = 3 } export declare enum InterfaceType { strip = "strip", bus = "bus" } export interface InParam { type: InterfaceType; id: number; getVals: StripParamName[] | BusParamName[]; } export declare type OutParam = { [index in StripParamName | BusParamName]?: any; } & { type: InterfaceType; id: number; }; export interface OutParamData { strips: OutParam[]; buses: OutParam[]; } export declare class VoiceMeeter { isConnected: boolean; isInitialized: boolean; isLoggedIn: boolean; outputDevices: DeviceInfo[]; inputDevices: DeviceInfo[]; private channels; private type; private version; private voiceMeeterConfig; private _libVoiceMeeter; get libVoiceMeeter(): VoiceMeeterLibrary; set libVoiceMeeter(value: VoiceMeeterLibrary); init(): Promise<void>; runVoiceMeeter(voiceMeeterType: VoiceMeeterType): void; isParametersDirty(): boolean; static getStringParameter(voiceMeeter: VoiceMeeter, parameterName: string): string; static getParameter(voiceMeeter: VoiceMeeter, parameterName: string): number; private _getVoiceMeeterType; private _getVoiceMeeterVersion; login(): void; /** Test if we have an active connection to a running instance of VoiceMeeter */ testConnection(): boolean; logout(): void; updateDeviceList(): void; sendRawParameterScript(scriptString: string): string | number; private _setParameter; setStripParameter(name: StripParamName, id: number, value: boolean | number | string): string | number; setBusParameter(name: BusParamName, id: number, value: boolean | number | string): string | number; getLevel(type: number, channel: number | undefined): number; getMidi(): number[][]; getLevelByID(m: number, index: number): IoChannels | undefined; private _getGetParamType; getAllParameters(): Promise<OutParamData>; getMultiParameter(param: InParam[]): Promise<OutParamData>; getVoiceMeeterInfo(): VoiceMeeterInfo; isMacroButtonDirty(): string | number; getMacroButtonStatus(index: number): number; /** * * @param index The logical ID of the macro button * @param value Button state 0 or 1 * @returns 0 = success */ setMacroButtonStatus(index: number, value: number): number; toggleMacroButtonStatus(index: number): number; } export { VoiceMeeterConnectionError, VoiceMeeterDirtyError, VoiceMeeterError, VoiceMeeterGetParametersError, VoiceMeeterGetVersionError, VoiceMeeterInitializationError, VoiceMeeterLevelError, VoiceMeeterLoginError, VoiceMeeterMacroButtonError, VoiceMeeterMidiError, VoiceMeeterRunError } from './errors'; export { VoiceMeeterInfo, StripParamName, BusParamName, VoiceMeeterGroup, IoChannels, VoiceMeeterIO, VoiceMeeterGroupTypes } from './voiceMeeterUtils';