UNPKG

wave-roll

Version:

JavaScript Library for Comparative MIDI Piano-Roll Visualization

56 lines 1.69 kB
/** * Audio Settings Controller * Handles volume, pan, tempo, and playback rate adjustments */ import { AudioPlayerState, OperationState } from "../player-types"; import { SamplerManager } from "../managers/sampler-manager"; import { WavPlayerManager } from "../managers/wav-player-manager"; import { TransportSyncManager } from "../managers/transport-sync-manager"; import { LoopManager } from "../managers/loop-manager"; export interface AudioSettingsControllerDeps { state: AudioPlayerState; operationState: OperationState; samplerManager: SamplerManager; wavPlayerManager: WavPlayerManager; transportSyncManager: TransportSyncManager; loopManager: LoopManager; originalTempo: number; options: { volume?: number; repeat?: boolean; }; pianoRoll: { setTime(time: number): void; }; onVolumeChange?: () => void; onVisualUpdate?: (params: { currentTime: number; duration: number; isPlaying: boolean; }) => void; } export declare class AudioSettingsController { private deps; constructor(deps: AudioSettingsControllerDeps); /** * Set playback volume */ setVolume(volume: number): void; /** * Set stereo pan */ setPan(pan: number): void; /** * Set playback tempo */ setTempo(bpm: number): void; /** * Set playback rate as percentage (10-200, 100 = normal speed) */ setPlaybackRate(rate: number): void; /** * Set custom A-B loop points */ setLoopPoints(start: number | null, end: number | null, preservePosition?: boolean): void; } //# sourceMappingURL=audio-settings-controller.d.ts.map