wave-roll
Version:
JavaScript Library for Comparative MIDI Piano-Roll Visualization
56 lines • 1.53 kB
TypeScript
/**
* 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