mirror of
https://github.com/storytold/soundcraft.git
synced 2026-10-31 22:16:47 -06:00
Opening a session decoded every source entry on its own, so a 400 KB session listing one 11 MB WAV 2,000 times took 16 s and 22 GB, and 20,000 entries never finished. Import Session Data and clip group files did the same. All three now decode a file the first time it is named, by its canonical path, and share the decoded audio with later sources that name it; the pool's audio is never changed in place, so sharing it is safe. Saving keeps sources that play one file on that file, and an autosave or a copy writes shared audio once instead of once per source. That session now opens in 0.3 s at 110 MB, and a normal session bounces to the same bytes as before.