Most stations back up their music and assume that is the job done. It is not. The music is replaceable — you have the files, or you can re-rip them. Your configuration is the part that took months.
Where everything lives
All of it sits under your local application data folder:
playhistory.db— play history plus rotation clocks, slots, repeat rule sets, audio categories, library track categories and AI usage logs.lastplaylist.json— the current playlist, restored at startup.jingles.json— jingle button assignments and labels.clockwheel.json— clock wheel slots.loudness-cache.json— cached loudness measurements.
The one that hurts
The database. Its name undersells it badly — it is not just statistics. Lose it and you lose every rotation clock, every category assignment and every rule set you have built.
Rebuilding a categorised library and a working set of clocks is weeks of work. Copying a file is seconds.
The one that saves the most time
The loudness cache. It is keyed by path, file size and last-write time, so as long as your music stays in the same location the measurements remain valid on a new machine.
Restore it and you skip re-analysing the entire library. Lose it and everything still works — it just costs you hours of background CPU to get back.
The licence is different
Licences are tied to a hardware ID, so a licence file does not transfer to new hardware. Moving machines means requesting a licence against the new hardware ID. Back up the file anyway, but plan for a reissue.
A workable routine
- Weekly copy of the application data folder to a second drive or network location.
- Keep a few generations rather than overwriting, so a corrupted copy does not overwrite your only good one.
- Test a restore once, on a spare machine.
The untested backup is the one that fails. Restore it once so you know what the procedure actually involves before you need it under pressure.
Why WAL helps here
The database runs in write-ahead logging mode, which is chosen for exactly the failure mode studios have: sudden power loss. It means an interrupted write leaves a recoverable log rather than a corrupted page.