The prior audio-tags commit put real FLAC + metadata into export/audio_exporter.rs — which turned out to be dead code (declared, never called; whole file was EngineController::start_export_audio → daw-backend's export_audio, which still routed FLAC to the erroring hound stub — hence "not implemented in daw-backend". Move the work to where export actually happens: - daw-backend/src/audio/export.rs: real ffmpeg FLAC (16-bit S16 / 24-bit S32, skipping the trailing empty flush packet the FLAC muxer rejects); apply_metadata on MP3/AAC/FLAC output; RIFF LIST/INFO chunk appended to WAV. New metadata field on the backend ExportSettings, threaded from the UI in run_audio_export. Tests assert real fLaC magic + round-tripped tags, and a valid WAV INFO chunk. - Delete the dead export/audio_exporter.rs (removes the duplicate FLAC impl). Smart tag defaults (filled only when empty, never clobbering edits): - Year → current civil year, computed from the system clock with i64 math (no date crate; correct past 2038/2106 — tests cover post-i32/u32 timestamps). - Artist → last-used value, else the OS username ($USER/%USERNAME%). - Album → last-used value. Last-used Artist/Album persist in AppConfig and prefill next export. |
||
|---|---|---|
| .. | ||
| examples | ||
| src | ||
| tests | ||
| C2.mp3 | ||
| Cargo.lock | ||
| Cargo.toml | ||
| darude-sandstorm.mid | ||
| daw_architecture_doc.md | ||
| test.wav | ||
| ttls.mid | ||