catalog.py -> scan.py; remove manifest.json from staticFiles in script.js
Hunter
Monday, April 6th, 2026 at 4:36 PM
124
125 # Load tracks.json
126 if not TRACKS_JSON.exists():
- print("Error: tracks.json not found. Run catalog.py first.")
127 + print("Error: tracks.json not found. Run scan.py first.")
128 return
129
130 with open(TRACKS_JSON, 'r', encoding='utf-8') as f:
1 # /mix
2
-add your audio files here, then run `catalog.py` to create `tracks.json`.
3 +add your audio files here, then run `scan.py` to create `tracks.json`.
4
5 supported formats: `.mp3`, `.m4a`, `.ogg`, `.flac`, `.wav`
6
40 - add your audio files to the `/mix` directory, or use:
41 - `./rip.py` to rip tracks from a physical CD
42 - `./buy.py` to search for tracks to purchase (opens in iTunes on MacOS, <a href="https://song.link/i/1651294855">song.link</a> otherwise)
- - run `./catalog.py` to parse `/mix` and populate `tracks.json`, which defines the tracks available to the player. after running `./catalog.py` once, you can manually edit `tracks.json` to refine your mix.
43 + - run `./scan.py` to populate `tracks.json`, which defines the tracks available to the player. after running `./scan.py` once, you can manually edit `tracks.json` to refine your mix.
44 - optionally, add an `album_art.jpg` to `/mix` to set the cover art for your mix.
45 - supported audio formats: `.mp3`, `.m4a`, `.ogg`, `.flac`, `.wav`
46
49 const staticFiles = [
50 './',
51 'index.html',
- 'manifest.json',
52 'resources/styles.css',
53 'resources/script.js',
54 'mix/tracks.json',
363 if success_count > 0:
364 print(f"\nTracks saved to: {MIX_DIR}")
365 print("\nNext steps:")
- print(" 1. Run catalog.py to generate tracks.json with metadata")
366 + print(" 1. Run scan.py to generate tracks.json with metadata")
367 print(" 2. Run host.py to test your mixtape locally")
368
369 # Eject the CD