Lightningbeam/daw-backend
Skyler Lehmkuhl 3d7cff9ad0 Stream audio & video from .beam container; waveform LOD pyramid + persistence
Migrate the .beam container to SQLite and stream media from it instead of
decoding whole files into RAM on import/load.

Container & large files:
- SQLite .beam container (beam_archive) with in-place transactional saves and an
  incremental BlobReader; supports both packed (chunked blobs) and referenced
  (external path) media, with a user preference + first-import prompt for files
  over the large-media threshold.

Audio streaming:
- Stream packed compressed audio on load via an inversion-of-control blob factory
  (AudioBlobSourceFactory): daw-backend defines the trait, core implements it
  over BlobReader, so the audio engine stays container-agnostic.
- Bulk-activate disk streaming for all loaded clips after SetProject.
- Sample-accurate compressed seek (SeekMode::Accurate; Coarse mislands on VBR).

Video:
- Video frames decoded/streamed on demand; thumbnails generated asynchronously
  on a dedicated decoder so import/load never blocks the UI.
- The video's audio track is streamed on demand via an ffmpeg VideoAudioReader
  as a separate editable AudioClip (no /tmp WAV extraction).

Waveform overview:
- Streaming min/max LOD pyramid (waveform_pyramid), bounded memory, configurable
  floor B; serialized into the container and restored on load (or generated in
  the background from the packed blob when absent), so no re-decode on reload.
- GPU min/max upload path; integer-LOD textureLoad fixes zoom-dependent wobble.
2026-06-17 13:52:38 -04:00
..
examples midi import in daw backend 2025-10-18 21:46:40 -04:00
src Stream audio & video from .beam container; waveform LOD pyramid + persistence 2026-06-17 13:52:38 -04:00
tests Stream audio & video from .beam container; waveform LOD pyramid + persistence 2026-06-17 13:52:38 -04:00
C2.mp3 Work on daw backend 2025-10-18 18:09:07 -04:00
Cargo.lock Add automatable volume and pan control to default instruments 2026-03-23 23:27:05 -04:00
Cargo.toml Add automation inputs for audio graphs 2026-03-18 11:25:48 -04:00
darude-sandstorm.mid midi import in daw backend 2025-10-18 21:46:40 -04:00
daw_architecture_doc.md Work on daw backend 2025-10-18 18:09:07 -04:00
test.wav Work on daw backend 2025-10-18 18:09:07 -04:00
ttls.mid Add audio node graph editing 2025-10-25 03:29:54 -04:00