UNPKG

wave-roll

Version:

JavaScript Library for Comparative MIDI Piano-Roll Visualization

56 lines 1.53 kB
/** * File Audio Controller * Handles per-file audio settings: mute, volume, pan for multi-file playback */ import { SamplerManager } from "../managers/sampler-manager"; import { WavPlayerManager } from "../managers/wav-player-manager"; export interface FileAudioControllerDeps { samplerManager: SamplerManager; wavPlayerManager: WavPlayerManager; midiManager?: any; onFileSettingsChange?: () => void; } export declare class FileAudioController { private deps; constructor(deps: FileAudioControllerDeps); /** * Set per-file pan */ setFilePan(fileId: string, pan: number): void; /** * Set per-file mute */ setFileMute(fileId: string, mute: boolean): void; /** * Set per-file MIDI volume */ setFileVolume(fileId: string, volume: number): void; /** * Set per-file WAV volume */ setWavVolume(fileId: string, volume: number, masterVolume: number, state: { isPlaying: boolean; currentTime: number; }): void; /** * Get file mute states */ getFileMuteStates(): Map<string, boolean>; /** * Get file volume states */ getFileVolumeStates(): Map<string, number>; /** * Check if all files are muted */ areAllFilesMuted(): boolean; /** * Check if all files have zero volume */ areAllFilesZeroVolume(): boolean; /** * Refresh external audio players */ refreshAudioPlayers(): void; } //# sourceMappingURL=file-audio-controller.d.ts.map