UNPKG

@tmigone/pulseaudio

Version:

A TypeScript based client library for PulseAudio.

55 lines (54 loc) 2.05 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { AuthInfo, ClientInfo, Module, ServerInfo, Sink, SinkInput, Source, SourceOutput, SubscribeInfo, VolumeInfo } from './types/pulseaudio'; export interface TCPSocket { type: 'tcp'; port: number; host: string; } export interface UnixSocket { type: 'unix'; path: string; } export default class PulseAudio extends EventEmitter { address: TCPSocket | UnixSocket; cookie: Buffer; connected: boolean; protocol: number; private socket; private chunks; private requests; private lastRequestId; constructor(address: string, cookie?: string); connect(): Promise<AuthInfo>; disconnect(): void; setClientName(clientName?: string): Promise<ClientInfo>; private authenticate; subscribe(): Promise<SubscribeInfo>; getServerInfo(): Promise<ServerInfo>; getSink(sink: number | string): Promise<Sink>; getSinkList(): Promise<Sink[]>; setSinkVolume(sink: number | string, volume: number): Promise<VolumeInfo>; getSinkInputList(): Promise<Sink[]>; getSinkInput(sinkInput: number | string): Promise<SinkInput>; moveSinkInput(sinkInput: number, sink: number): Promise<any>; getSource(source: number | string): Promise<Source>; getSourceList(): Promise<Source[]>; setSourceVolume(source: number | string, volume: number): Promise<Source>; getSourceOutput(sourceOutput: number | string): Promise<SourceOutput>; getSourceOutputList(): Promise<SourceOutput[]>; moveSourceOutput(sourceOutput: number, source: number): Promise<SourceOutput>; getModule(module: number): Promise<Module>; getModuleList(): Promise<Module[]>; loadModule(name: string, argument: string): Promise<Module>; unloadModule(module: number): Promise<Module>; private onReadable; private requestId; private sendRequest; private resolveRequest; private rejectRequest; private parseReply; private parseEvent; private parseAddress; private parseCookie; }