How huny4daniel/tape-box_v works
Tape Box is a phone-first music collection player: Android owns the library, playback and durable state, while a shared web interface serves both the phone WebView and a PC browser. The PC app discovers and securely relays to the phone, and can also generate synchronized lyrics locally or on phone tracks. The README documents the major user workflows; source excerpts and the SOURCE INDEX support selected internal links. Unsampled implementation details are represented only where the README describes them.
Main entry points: WebServer.java Phone web servers · Library.java Music library · Db.java Collection database · tape_player.py PC player window
Components 21
Shared web interface
- Phone WebView
android/app/src/main/java/io/github/huny4daniel/musiccollection/MainActivity.java - App screens
js/app.js - Collection pages
js/pages.js - UI events
js/events.js - Phone API client
js/api.js - Queue and player
js/player.js
Android phone app
- Phone web servers
android/app/src/main/java/io/github/huny4daniel/musiccollection/WebServer.java - Music library
android/app/src/main/java/io/github/huny4daniel/musiccollection/Library.java - Track model
android/app/src/main/java/io/github/huny4daniel/musiccollection/Track.java - Collection database
android/app/src/main/java/io/github/huny4daniel/musiccollection/Db.java - Native playback
android/app/src/main/java/io/github/huny4daniel/musiccollection/PlaybackService.java - Embedded lyrics
android/app/src/main/java/io/github/huny4daniel/musiccollection/Id3Lyrics.java - Playlist import
android/app/src/main/java/io/github/huny4daniel/musiccollection/PlaylistImport.java - Playlist export
android/app/src/main/java/io/github/huny4daniel/musiccollection/PlaylistExport.java - Phone TLS identity
android/app/src/main/java/io/github/huny4daniel/musiccollection/TlsCert.java
PC companion
- PC player window
pc/tape_player.py - Secure phone link
pc/phonelink.py
Lyrics generation
- LyricSync manager
pc/lyricsync.py - LyricSync worker
pc/lyricsync_worker.py
Other components
- Phone user
- PC user
Connections 28
- Phone user → Phone WebView: opens app
README.md - Phone WebView → App screens: loads shared screen
README.md - PC user → PC player window: starts companion
README.md - PC player window → Secure phone link: discovers and relays
README.md - Secure phone link → Phone web servers: connects over HTTPS
README.md - Phone web servers → Phone TLS identity: uses certificate
android/app/src/main/java/io/github/huny4daniel/musiccollection/WebServer.java - Phone web servers → App screens: serves shared files
README.md - App screens → Collection pages: shows collection views
README.md - App screens → UI events: handles interactions
README.md - UI events → Phone API client: requests phone data
README.md - Phone API client → Phone web servers: calls API
README.md - Phone web servers → Music library: serves library data
README.md - Music library → Track model: creates track records
android/app/src/main/java/io/github/huny4daniel/musiccollection/Library.java - Music library → Collection database: assigns collection metadata
README.md - Music library → Playlist import: imports playlists on scan
android/app/src/main/java/io/github/huny4daniel/musiccollection/Library.java - Music library → Embedded lyrics: reads track lyrics
android/app/src/main/java/io/github/huny4daniel/musiccollection/Library.java - Phone API client → Queue and player: drives queue
README.md - Queue and player → Native playback: sends playback commands
README.md - Native playback → Collection database: records listening
README.md - Phone web servers → Collection database: reads and updates state
android/app/src/main/java/io/github/huny4daniel/musiccollection/WebServer.java - Phone web servers → Playlist export: schedules tape export
android/app/src/main/java/io/github/huny4daniel/musiccollection/WebServer.java - Playlist export → Collection database: syncs tape state
README.md - PC player window → LyricSync manager: manages lyric generation
pc/tape_player.py - LyricSync manager → LyricSync worker: runs generation worker
pc/lyricsync.py - LyricSync manager → Secure phone link: transfers lyric results
README.md - LyricSync worker → Collection database: phone mode saves lyrics
- PC player window → Phone web servers: uploads pending playlists
README.md - Phone web servers → Playlist import: imports received playlists
README.md