import {
usePlaybackShortcuts,
useKeyboardShortcuts,
usePlaylistControls,
} from '@waveform-playlist/browser';
function PlaylistWithAllShortcuts() {
const { zoomIn, zoomOut, setSelection } = usePlaylistControls();
const { duration } = usePlaylistData();
const { splitClipAtPlayhead } = useClipSplitting({ /* ... */ });
// Playback shortcuts (Space, Escape, 0)
usePlaybackShortcuts();
// Additional shortcuts
useKeyboardShortcuts({
shortcuts: [
// Zoom
{ key: '=', action: zoomIn, description: 'Zoom in' },
{ key: '-', action: zoomOut, description: 'Zoom out' },
// Editing
{ key: 's', action: splitClipAtPlayhead, description: 'Split clip' },
{ key: 'a', ctrlKey: true, action: () => setSelection(0, duration), description: 'Select all' },
// Navigation
{ key: 'Home', action: () => setCurrentTime(0), description: 'Go to start' },
{ key: 'End', action: () => setCurrentTime(duration), description: 'Go to end' },
{ key: 'ArrowLeft', action: () => skipBackward(1), description: 'Skip back 1s' },
{ key: 'ArrowRight', action: () => skipForward(1), description: 'Skip forward 1s' },
],
});
return <WaveformPlaylistProvider tracks={tracks}>...</WaveformPlaylistProvider>;
}