Commit message+-
update readme+1-1
update readme+2-2
update demo link+1-1
update default styling+149-17
only register service worker when launched as PWA+12-4
freeze cache after first install+24-70
make URLs absolute relative to service worker location+2-3
cache non-audio files in /mix (fonts, images, etc.)+10-4
marquee: use smoothstep for speed ramping+50-72
keep progress bar height fixed on vertical resize+2-0
reorder: capture playlist width before mutating DOM+1-1
QR codes: use half-block characters+12-5
bugfix: when first track tapped immediately after opening, play it+5-0
serve.py: use ThreadingTCPServer+2-1
first pass at track reordering when running locally+516-55
Create FUNDING.yml+1-0
host.py -> serve.py; update readme+4-4
don't use cache on localhost; improve offline reliability+21-6
update readme+2-2
update readme: add link to PWA installation guide+1-1
update readme+2-2
update readme+13-13
catalog.py -> scan.py; remove manifest.json from staticFiles in script.js+4-5
get PWA bg color from custom.css if available+18-19
build.py -> catalog.py; generate_manifests.py -> build.py+300-491
remove resource-manifest; tracks instead of songs; load static files first+308-257
use cache: 'no-cache' during sw install+1-1
replace control icon pngs with svgs+177-23
use repeat.svg icon; clean up generate_manifests.py+63-43
Update readme.md+1-1
disable caching during local dev+6-2
disable pinch zoom and double-tap zoom+1-1
cleanly loop marquee when title overflows+37-60
update play/pause button on bluetooth disconnect+4-0
generate_manifests.py: auto-increment cache version+29-1
host.py: exit cleanly+4-1
fall back gracefully if optional packages not available+26-28
buy.py: automatically add purchased songs to /mix+52-4
update readme+2-2
renamed scan.py -> build.py+4-4
remove safety from scan.py+0-7
use var(--background) for shadow-overlay+2-2
fix host.py venv creation and pip installation+26-10
fix scan.py venv creation and pip installation+26-10
update readme+5-6
pre-cache optional mix/ files+19-13
set default page title when manifest not available+12-9
support optional custom.css and custom.js; rename tracks/ to mix/+59-48
broaden support for different audio file formats+43-28
add buy.py; make scripts executable+125-5
just mixapps. it's cleaner.+11-11
reduce timeout for checking if we need to play the next song+1-1
update spacing on controls+2-2
add spacing below controls+1-1
don't generate manifest when testing locally with host.py+1-31
fix PWA icon path to use absolute URL for subdirectory deployments+1-1
update link to pwa installation guide+3-3
restructure readme+34-23
restructure+1475-1475
set page title from manifest+9-1
support localhost installation/caching+99-45
move tracks.json to /tracks; host.py: print server addresses last+13-10
add rip.py; scan.py: strip preceeding track numbers+411-1
update readme.md+4-4
update requirements.txt to use any version of mutagen+1-1
update .gitignore+3-4
Fix cache detection for tracks with spaces in filenames+8-11
cache first, only hit server on cache miss; remove hardcoded strings+95-53
update readme.md+11-10
update readme.md+1-1
reference license from readme+193-193
add license+674-0
update readme.md+1-6
add lock_sreen.jpeg+2-1
update readme.md+3-3
add readme.md+65-0
specify BASE_PATH & APP_NAME fields in generate_manifests.py+18-8
parse styles.css to set PWA theme color+30-2
add padding to app icon+0-0
fix iOS safari bug where next song wouldn't reliably play if PWA was in background+37-0
fix "now playing" flicker; fix album art url+9-117
set theme color+3-4
fade in tracks when cached+317-33
wip pwa support+213-4
don't open web browser on server start+0-3
console log total filesize of all mp3s+6-1
print QR code in terminal using block characters+97-5
make shadow-overlay use background color+3-3
increase progress bar vertical hitbox+12-0
add optional shuffle flag+12-1
remove album_art from git tracking+0-0
update .gitignore+1-0
add temp album art+42-32
improve mobile layout when playlist doesn't overflow+4-2
increase padding to avoid unscrollable playlist items+1-1
responsive button sizing+20-11
wrap control-buttons to avoid accidentally clicking tracks+20-7
add scrolling marquee on text overflow+198-33
preload resources/tracks to improve responsiveness+277-3
handle seeking in unbuffered tracks+103-5
improve progress bar handle styling+6-7
only show "Paused" if user paused the track+5-2
support dragging progress bar on mobile+10-1
disable text highlight+3-0
update favicon+1-1
mobile: use primary color when tapping song; adjust shadow+14-11
disable overscroll; update favicon to 💿+17-1
rename css variables; disable user-select+45-45
make buttons look kinda 3D+15-8
nudge prev/next/play buttons for visual balance+4-0
update highlight styling + button styling+10-9
wip padding changes+5-3
wip UI shadows+41-5
split out html, css, and js+591-595
style scrollbar+7-3
add modern progress bar+135-55
initial commit+823-0