ive-connect
Version:
A universal haptic device control library for interactive experiences
40 lines (39 loc) • 1.6 kB
TypeScript
/**
* Buttplug API — high-level device management over Buttplug v4 protocol
*/
import { EventEmitter } from '../../core/events';
import { ButtplugConnectionState, ButtplugConnectionType, ButtplugDeviceInfo, DevicePreference } from './types';
export declare class ButtplugApi extends EventEmitter {
private ws;
private devices;
private devicePreferences;
private features;
isScanning: boolean;
private connectionState;
private connectedUrl?;
private clientName;
constructor(clientName?: string);
getConnectionState(): ButtplugConnectionState;
getConnectedUrl(): string | undefined;
getDevices(): ButtplugDeviceInfo[];
getIsScanning(): boolean;
getDevicePreferences(): Map<number, DevicePreference>;
setDevicePreference(index: number, pref: DevicePreference): void;
connect(type: ButtplugConnectionType, serverUrl?: string): Promise<boolean>;
disconnect(): Promise<boolean>;
startScanning(): Promise<boolean>;
stopScanning(): Promise<boolean>;
vibrateDevice(index: number, speed: number): Promise<boolean>;
linearDevice(index: number, position: number, duration: number): Promise<boolean>;
rotateDevice(index: number, speed: number, _clockwise: boolean): Promise<boolean>;
oscillateDevice(index: number, speed: number, _frequency: number): Promise<boolean>;
stopDevice(index: number): Promise<boolean>;
stopAllDevices(): Promise<boolean>;
private onMessage;
private addDevice;
private removeDevice;
private findFeature;
private outputCmd;
private cleanup;
private delay;
}