Sebastian Krüger 2c1e1591f6 fix: prevent playhead marker from continuing after pause
Fixed race condition in updatePlaybackPosition where animation frames could
continue scheduling even after pause() cancelled them. Added checks to only
schedule next animation frame if animationFrameRef.current is not null,
ensuring the animation loop stops immediately when pause is called.

This fixes the issue where the playhead marker would keep moving after hitting
spacebar to pause, even though no audio was playing.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 12:51:06 +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%