Sebastian Krüger 10d2921147 fix: proper seeking behavior with optional auto-play
Complete rewrite of seeking logic to support both scrubbing and
click-to-play functionality with proper state management.

Changes:
1. Added autoPlay parameter to seek() methods across the stack
2. Waveform behavior:
   - Click and drag → scrubs WITHOUT auto-play during drag
   - Mouse up after drag → auto-plays from release position
   - This allows smooth scrubbing while dragging
3. Timeline slider behavior:
   - onChange → seeks WITHOUT auto-play (smooth dragging)
   - onMouseUp/onTouchEnd → auto-plays from final position
4. Transport button state now correctly syncs with playback state

Technical implementation:
- player.seek(time, autoPlay) - autoPlay defaults to false
- If autoPlay=true OR was already playing → continues playback
- If autoPlay=false AND wasn't playing → just seeks (isPaused=true)
- useAudioPlayer.seek() now reads actual player state after seeking

User experience:
✓ Click on waveform → music plays from that position
✓ Drag on waveform → scrubs smoothly, plays on release
✓ Drag timeline slider → scrubs smoothly, plays on release
✓ Transport buttons show correct state (Play/Pause)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 17:30:11 +01:00

Audio UI

A sophisticated browser-only audio editor built with Next.js 16, React 19, and Tailwind CSS 4.

Features (Planned)

  • 100% Client-Side: All audio processing happens in your browser
  • Multi-Track Editing: Professional multi-track audio editing
  • Advanced Effects: EQ, compression, reverb, delay, and more
  • Automation: Automate volume, pan, and effect parameters
  • Recording: Record audio directly from your microphone
  • Analysis Tools: Frequency analyzer, spectrogram, and loudness metering
  • Export Formats: WAV, MP3, OGG, FLAC
  • Project Management: Save and load complete projects
  • Privacy-First: No uploads, all data stays local in your browser

Tech Stack

  • Next.js 16 with React 19
  • TypeScript 5
  • Tailwind CSS 4 with OKLCH colors
  • Web Audio API for audio processing
  • Canvas API for waveform visualization
  • IndexedDB for project storage

Getting Started

This project is currently in the planning phase. See PLAN.md for the complete implementation plan.

Development (Coming Soon)

# Install dependencies
pnpm install

# Run development server
pnpm dev

# Build for production
pnpm build

Inspiration

Inspired by AudioMass and professional DAWs like Ableton Live, Logic Pro, and FL Studio.

License

TBD

Contributing

This is a personal project, but suggestions and ideas are welcome!

Description
No description provided
Readme 2.4 MiB
Languages
TypeScript 98.8%
CSS 1.1%
Dockerfile 0.1%