renamed scan.py -> build.py
Hunter
Monday, February 16th, 2026 at 11:32 AM
114
115 # Load tracks.json
116 if not TRACKS_JSON.exists():
- print("Error: tracks.json not found. Run scan.py first.")
117 + print("Error: tracks.json not found. Run build.py first.")
118 return
119
120 with open(TRACKS_JSON, 'r', encoding='utf-8') as f:
1 # /mix
2
-add your audio files here, then run `scan.py` to create `tracks.json`.
3 +add your audio files here, then run `build.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 songs to purchase (opens in iTunes on MacOS, <a href="https://song.link/i/1651294855">song.link</a> otherwise)
- - run `./scan.py` to parse `/mix` and populate `tracks.json`, which defines the songs available to the player. after running `./scan.py` once, you can manually edit `tracks.json` to refine your mix.
43 + - run `./build.py` to parse `/mix` and populate `tracks.json`, which defines the songs available to the player. after running `./build.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
363 if success_count > 0:
364 print(f"\nTracks saved to: {MIX_DIR}")
365 print("\nNext steps:")
- print(" 1. Run scan.py to generate tracks.json with metadata")
366 + print(" 1. Run build.py to generate tracks.json with metadata")
367 print(" 2. Run host.py to test your mixtape locally")
368
369 # Eject the CD