How lms-community/slimserver works
Lyrion Music Server streams local and plugin-provided audio to networked players. This tree is a browser-interface slice, not the server runtime: it shows the player-control shell, browsing and search entry points, playlist interactions, and plugin features. The principal user flow is to choose a player, find or add music, and control playback. Shared controller wiring is visible in Main.js; backend behavior and most request paths are not sampled, so those connections are omitted. The README documents broader streaming capabilities that these files alone cannot trace.
Main entry points: Main.js Main shell · dragdrop.js Playlist reorder · UI.js Player controls · js-main-dd.js Audio file drop
Components 16
Web interface
- Main shell
HTML/Default/html/Main.js - Library browse
HTML/Default/html/Browse.js - Live search
HTML/Default/html/LiveSearch.js - Settings
HTML/Default/html/Settings.js - Setup wizard
HTML/Default/html/Wizard.js - Home view
HTML/Default/html/Home.js - Help view
HTML/Default/html/Help.js - Playlist reorder
HTML/Classic/html/dragdrop.js
Shared client
- Player controller
HTML/EN/html/SqueezeJS/Base.js - Player controls
HTML/EN/html/SqueezeJS/UI.js
Plugin features
- Favorites client
Slim/Plugin/Favorites/HTML/Default/plugins/Favorites/html/Favorites.js - Audio file drop
Slim/Plugin/DnDPlay/HTML/Default/js-main-dd.js
Other components
- Listener
- LMS JSON-RPC
- Plugin upload endpoint
- Audio player
Connections 15
- Listener → Main shell: uses
- Main shell → Player controller: initializes
- Main shell → Player controls: creates controls
- Listener → Library browse: browses library
- Listener → Live search: searches music
- Listener → Settings: configures
- Listener → Setup wizard: sets up
- Listener → Home view: opens
- Listener → Help view: opens
- Listener → Playlist reorder: reorders playlist
- Playlist reorder → LMS JSON-RPC: sends move request
- Listener → Favorites client: uses favorites
- Listener → Audio file drop: drops audio
- Audio file drop → Plugin upload endpoint: uploads file
- Player controls → Audio player: controls playback