UNPKG

wave-roll

Version:

JavaScript Library for Comparative MIDI Piano-Roll Visualization

71 lines 2.23 kB
import { StateManager } from "@/core/state"; import { VisualizationEngine } from "@/core/visualization"; import { UIComponentDependencies } from "@/lib/components/ui"; import { MultiMidiManager } from "@/lib/core/midi/multi-midi-manager"; export declare class UIUpdater { private stateManager; private visualizationEngine; private midiManager; private config; private updateLoopId; private hasSeenNonZeroTime; private lastKnownDurationSec; constructor(stateManager: StateManager, visualizationEngine: VisualizationEngine, midiManager: MultiMidiManager, config: { updateInterval: number; }); /** * Compute total duration for UI (seekbar/time labels) in raw content seconds. * Takes the maximum of MIDI duration and registered WAV duration. * Tempo/playback rate does NOT scale this value to avoid seek mismatches. */ private computeEffectiveDuration; /** * Get UI dependencies object for UIComponents */ getUIDependencies(uiDeps: UIComponentDependencies | null): UIComponentDependencies; /** * Start the update loop for UI synchronization */ startUpdateLoop(uiDeps: UIComponentDependencies | null): void; /** * Stop update loop */ stopUpdateLoop(): void; /** * Update piano roll */ private updatePianoRoll; /** * Update seek bar */ updateSeekBar(uiDeps: UIComponentDependencies | null): void; /** * Update play button */ updatePlayButton(deps: UIComponentDependencies | null): void; /** * Update time display */ updateTimeDisplay(overrideTime?: number, timeDisplay?: HTMLElement): void; /** * Update mute state */ private updateMuteState; /** * Open settings modal */ private openSettingsModal; /** * Open evaluation results modal */ private openEvaluationResultsModal; /** * Update sidebar with current files */ updateSidebar(sidebarContainer: HTMLElement): void; /** * Update file toggle section */ updateFileToggleSection(fileToggleContainer: HTMLElement | null, deps: UIComponentDependencies): void; } //# sourceMappingURL=ui-updater.d.ts.map