How haiere/signature-music works
Signature Music is a static, client-side music player. A listener opens the page, browses curated tracks, selects one for playback, and can manage favourites and playback options or download and share the current track. The sampled JavaScript shows the player controller coordinating track selection, playlist updates, audio playback, and Media Session metadata; the README documents additional capabilities whose specific wiring is not shown in the excerpts.
Main entry points: script.js Player controller · index.html Player page · data-song.js Track catalog · style.css Responsive interface
Components 16
Player interface
- Player page
index.html - Responsive interface
style.css
Playback and catalog
- Player controller
script.js - Playlist and filters
script.js - Track catalog
data-song.js - Audio playback
script.js - Track artwork
script.js
Listener preferences
- Favorites
script.js - Playback settings
script.js - Browser storage
Browser and external services
- Track downloads
script.js - Track sharing
script.js - Media Session
script.js - Audio and artwork hosts
Other components
- Listener
Connections 19
- Listener → Player page: opens and controls
- Player page → Player controller: loads
- Player page → Responsive interface: uses
- Player controller → Playlist and filters: renders and updates
- Playlist and filters → Track catalog: reads tracks
- Player controller → Audio playback: selects and controls
- Audio playback → Track catalog: reads track URLs
- Track artwork → Track catalog: reads cover URLs
- Track artwork → Audio and artwork hosts: loads covers
- Audio playback → Audio and artwork hosts: loads audio
- Player controller → Favorites: updates
- Player controller → Playback settings: updates
- Favorites → Browser storage: persists locally
- Playback settings → Browser storage: persists locally
- Player controller → Track downloads: offers download
- Track downloads → Audio and artwork hosts: downloads track
- Player controller → Track sharing: shares current track
- Track sharing → WhatsApp: opens share
- Player controller → Media Session: updates metadata