2018-05-22 00:36:05 +01:00
myMPD
2018-07-15 23:41:16 +01:00
=====
2014-01-17 20:03:08 +01:00
2018-05-22 00:36:05 +01:00
myMPD is a lightweight MPD web client that runs without a dedicated webserver or interpreter.
It's tuned for minimal resource usage and requires only very litte dependencies.
2018-07-11 01:01:04 +01:00
myMPD is a fork of ympd (https://github.com/notandy/ympd).
2014-01-17 20:03:08 +01:00
2018-07-30 23:25:52 +01:00
This fork provides a reworked ui based on Bootstrap 4, a modernized backend and many new features while having the same small footprint as ympd.
2014-03-11 20:29:39 +01:00
2018-07-30 23:28:31 +01:00
**Design principles:**
2018-07-11 01:01:04 +01:00
- Keep it small and simple
- Uses only mpd as source of truth
- Mobile first UI
- Keep security in mind
2018-07-30 23:28:31 +01:00
**Featurelist:**
2018-07-22 20:04:30 +01:00
- Control mpd functions (play, pause, etc.)
- Set mpd settings (repeat, random, etc.)
2018-09-11 21:36:28 +01:00
- Browse mpd database by tags
2018-07-11 01:01:04 +01:00
- Browse filesystem and playlists
- Queue management
2018-07-22 20:04:30 +01:00
- Playlist management
2018-07-11 01:01:04 +01:00
- Advanced search
2018-09-29 10:50:09 +02:00
- Jukebox mode (add's random songs / albums from database or playlists to queue)
- Smart playlists and saved searches
- Play statistics and song voting (uses mpd stickers)
2018-08-30 21:32:51 +01:00
- Local coverart support (Albums and Streams)
2018-07-29 23:54:30 +01:00
- HTTP stream support
- Local playback of mpd http stream (html5 audio api)
2018-09-29 10:50:09 +02:00
- Progressiv Web App enabled
2018-08-22 13:59:08 +01:00
- Embedded Webserver (mongoose)
2018-07-11 01:01:04 +01:00
2018-07-30 23:25:52 +01:00
myMPD is work in progress. Bugreportes and feature requests are very welcome.
2018-08-27 21:27:45 +01:00
- https://github.com/jcorporation/myMPD/issues
2018-07-11 01:01:04 +01:00
2018-07-30 23:28:31 +01:00
Screenshots
-----------
2018-08-27 21:44:13 +01:00
![image ](https://jcgames.de/stuff/myMPD/screenshots_2018-08-27.gif )
2018-06-04 00:08:41 +02:00
2018-05-22 00:36:05 +01:00
UI Components
-------------
- Bootstrap 4: https://getbootstrap.com/
2018-07-10 23:57:45 +01:00
- Material Design Icons: https://material.io/tools/icons/
2018-07-02 23:02:02 +01:00
- Bootstrap Native: http://thednp.github.io/bootstrap.native/
2014-01-17 20:03:08 +01:00
2018-05-24 19:35:11 +01:00
Backend
-------
- Mongoose: https://github.com/cesanta/mongoose
- Frozen: https://github.com/cesanta/frozen
2018-08-06 21:51:48 +01:00
- inih: https://github.com/benhoyt/inih
2018-05-24 19:35:11 +01:00
2014-01-17 20:03:08 +01:00
Dependencies
------------
- libmpdclient 2: http://www.musicpd.org/libs/libmpdclient/
2018-07-10 23:57:45 +01:00
- OpenSSL: https://www.openssl.org/
2018-07-30 23:16:31 +01:00
2018-07-30 23:28:31 +01:00
Build Dependencies
2018-07-30 23:13:27 +01:00
------------------
- cmake 2.6
- libasan3: for debug builds only
2018-08-28 17:05:51 +02:00
- Java: optional for minifying .css and .js files
2014-01-17 20:03:08 +01:00
Unix Build Instructions
-----------------------
2018-08-28 17:05:51 +02:00
1. Install dependencies: cmake, libmpdclient (dev), OpenSSL (dev) and Java are available from all major distributions.
2018-07-15 23:41:16 +01:00
2. Build and install: ```cd /path/to/src; ./mkrelease.sh` ``.
3. Link your mpd music directory to ```/usr/share/mympd/htdocs/library` `` and put ` ``folder.jpg` `` files in your album directories (mkrelease.sh tries to do this for you).
4. Configure your mpd with http stream output to use the local player.
2014-01-17 20:03:08 +01:00
2018-07-30 23:28:31 +01:00
Run Flags
2014-03-18 01:37:33 +01:00
---------
```
2018-08-06 21:51:48 +01:00
Usage: ./mympd /etc/mypd/mympd.conf
2014-03-18 01:37:33 +01:00
```
2018-07-10 22:58:48 +01:00
SSL
---
2018-08-28 17:05:51 +02:00
1. Create ca and certificate ```/usr/share/mympd/crcert.sh` `` (mkrelease.sh does this for you).
2018-08-06 21:51:48 +01:00
2. Set ```ssl=true` `` in /etc/mympd/mympd.conf (use default certificate under ` ``/etc/mympd/ssl/` ``).
2018-07-15 23:41:16 +01:00
3. Import ```/etc/mympd/ssl/ca/ca.pem` `` in your browser to trust the certificate.
4. myMPD redirects http requests to https, ensure that myMPD hostname is resolvable.
2018-07-10 22:58:48 +01:00
2014-01-17 20:03:08 +01:00
Copyright
---------
2018-05-22 00:36:05 +01:00
ympd: 2013-2014 < andy @ndyk .de >
2018-05-24 17:26:07 +01:00
2018-05-22 00:36:05 +01:00
myMPD: 2018 < mail @jcgames .de >