JSMusicDB is a webstandards based music library/music player that can run on any website; using a direct connection to the source mp3 files or on a Synology NAS; in that case a php based proxy is used. Any type of scanning script can be used as long as the output is a JSON file with a specific layout. One of the scripts capable of delivering the correct format is scanner.py
- Artist (sortable by Alphabet or amount of albums) overview per letter
- Album (Sortable by Release date or Alphabet) overview per Aritst; with artist information pulled from last.fm
- Track view per Album
- Playlist support; you can add/remove tracks and/or albums
- Optionally host and connect to a NAS (only synology support for now)
- Scrobble tracks on last.fm / love tracks on last.fm
- quickly navigate and switch between views
- Device aware; all features are useable and optimized for desktops, tablets and phones!
- Incremental updates; see music add when you add it to the filesystem; a compatible backend is required.
- Optional keyboard navigation with optional IR Blaster support. New IR's can be added easily by creating a keymapping file in js/mapping
- Special TV mode with extra large fonts and fully remote controllable. Access this mode by calling tv.html instead of index.html
- Optional wizard to set-up defaults
- With a CORS enabled backend (like node-mp3stream it's possible to stream music from different servers using JSMusicDB and node-mp3stream)
You can set a few settings now in JSMusicDB; in a file called settings.json in the root of the project.
{
"private": false,
"incremental": true,
"backend": {
"serverType": "2",
"serverURL": "http://127.0.0.1:2000"
},
"useWizard": false
}- private: set this to false if you use JSMusicDB on an internet connected server; private servers will log in a user automaticly
- incremental: use the incremental polling mechanism to auto update the collection
- backend
- serverType: default servertype 0) no server, 1) synology server 2) node.js server
- serverURL: the full path of the server; including any ports
- useWizard: Optionally it's possible to set-up the default server settings by using a one-time wizard.
- Any type of hosting capable of delivering html/css and JS files
- A PHP based hosting is the synology connector is used
Since JSMusicDB is backend independent it's possible to create your own backend software in any language you like. Just make sure that the JSON is in the correct format; see the backend projects for more info.
- Scanner.py A python based music scanner
- node-mp3scan node.js based music scanner
- node-mp3stream node.js based webserver with mp3 streaming capabilities All these backends are 100% compatible with JSMusicDB.
Desktop: