'use client'; import * as React from 'react'; import { TrackList } from '@/components/tracks/TrackList'; import { useMultiTrack } from '@/lib/hooks/useMultiTrack'; import { useMultiTrackPlayer } from '@/lib/hooks/useMultiTrackPlayer'; import { Button } from '@/components/ui/Button'; import { Play, Pause, Square, SkipBack } from 'lucide-react'; import { formatDuration } from '@/lib/audio/decoder'; export default function MultiTrackDemoPage() { const { tracks, addTrack, addTrackFromBuffer, removeTrack, updateTrack, clearTracks, } = useMultiTrack(); const { isPlaying, currentTime, duration, play, pause, stop, seek, togglePlayPause, } = useMultiTrackPlayer(tracks); const [zoom, setZoom] = React.useState(1); return (
{/* Header */}

Multi-Track Demo

{/* Track List */}
addTrack()} onImportTrack={(buffer, name) => addTrackFromBuffer(buffer, name)} onRemoveTrack={removeTrack} onUpdateTrack={updateTrack} onSeek={seek} />
{/* Playback Controls */}
{formatDuration(currentTime)} / {formatDuration(duration)} {tracks.length} {tracks.length === 1 ? 'track' : 'tracks'}
); }