2018-05-21 23:36:05 +00:00
myMPD
2018-07-15 22:41:16 +00:00
=====
2014-01-17 19:03:08 +00:00
2018-05-21 23:36:05 +00: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 00:01:04 +00:00
myMPD is a fork of ympd (https://github.com/notandy/ympd).
2014-01-17 19:03:08 +00:00
2018-07-30 22:25:52 +00: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 19:29:39 +00:00
2018-07-30 22:28:31 +00:00
**Design principles:**
2018-07-11 00:01:04 +00:00
- Keep it small and simple
- Uses only mpd as source of truth
- Mobile first UI
- Keep security in mind
2018-07-30 22:28:31 +00:00
**Featurelist:**
2018-07-22 19:04:30 +00:00
- Control mpd functions (play, pause, etc.)
- Set mpd settings (repeat, random, etc.)
- Browse mpd database by albumartist
2018-07-11 00:01:04 +00:00
- Browse filesystem and playlists
- Queue management
2018-07-22 19:04:30 +00:00
- Playlist management
2018-07-11 00:01:04 +00:00
- Advanced search
- Progressiv Web App enabled
- Local coverart support
2018-07-29 22:54:30 +00:00
- HTTP stream support
- Local playback of mpd http stream (html5 audio api)
2018-07-11 00:01:04 +00:00
2018-07-30 22:25:52 +00:00
myMPD is work in progress. Bugreportes and feature requests are very welcome.
2018-07-30 22:28:31 +00:00
- Issues and feature requests: https://github.com/jcorporation/myMPD/issues
2018-07-30 22:25:52 +00:00
- Planed functions: https://github.com/jcorporation/myMPD/projects/1
2018-07-11 00:01:04 +00:00
2018-07-30 22:28:31 +00:00
Screenshots
-----------
2018-06-03 22:30:32 +00:00
![image ](https://jcgames.de/stuff/myMPD/screenshots.gif )
2018-06-03 22:08:41 +00:00
2018-05-21 23:36:05 +00:00
UI Components
-------------
- Bootstrap 4: https://getbootstrap.com/
2018-07-10 22:57:45 +00:00
- Material Design Icons: https://material.io/tools/icons/
2018-07-02 22:02:02 +00:00
- Bootstrap Native: http://thednp.github.io/bootstrap.native/
2014-01-17 19:03:08 +00:00
2018-05-24 18:35:11 +00:00
Backend
-------
- Mongoose: https://github.com/cesanta/mongoose
- Frozen: https://github.com/cesanta/frozen
2014-01-17 19:03:08 +00:00
Dependencies
------------
- libmpdclient 2: http://www.musicpd.org/libs/libmpdclient/
2018-07-10 22:57:45 +00:00
- OpenSSL: https://www.openssl.org/
2018-07-30 22:16:31 +00:00
2018-07-30 22:28:31 +00:00
Build Dependencies
2018-07-30 22:13:27 +00:00
------------------
- cmake 2.6
- libasan3: for debug builds only
- Java (openjdk-9-jre-headless): optional for minifying .css and .js files
2014-01-17 19:03:08 +00:00
Unix Build Instructions
-----------------------
2018-07-30 22:13:27 +00:00
1. Install dependencies: cmake, libmpdclient (dev) and OpenSSL (dev), java are available from all major distributions.
2018-07-15 22:41:16 +00: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 19:03:08 +00:00
2018-07-30 22:28:31 +00:00
Run Flags
2014-03-18 00:37:33 +00:00
---------
```
2018-05-24 17:50:05 +00:00
Usage: ./mympd [OPTION]...
2014-03-18 00:37:33 +00:00
2018-07-15 22:26:59 +00:00
-h, --mpdhost < host > connect to mpd at host [localhost]
-p, --mpdport < port > connect to mpd at port [6600]
-m, --mpdpass < password > specifies the password to use when connecting to mpd
2018-06-21 22:15:54 +00:00
-w, --webport < port > listen port for webserver [80]
2018-07-09 21:58:25 +00:00
-S, --ssl enable ssl
2018-07-15 22:26:59 +00:00
-W, --sslport < port > listen port for ssl webserver [443]
-C, --sslcert < filename > filename for ssl certificate [/etc/mympd/ssl/server.pem]
-K, --sslkey < filename > filename for ssl key [/etc/mympd/ssl/server.key]
2018-05-24 17:50:05 +00:00
-s, --streamport < port > connect to mpd http stream at port [8000]
2016-09-11 15:54:25 +00:00
-u, --user < username > drop priviliges to user after socket bind
2018-05-27 14:13:42 +00:00
-i, --coverimage < filename > filename for coverimage [folder.jpg]
2018-06-21 17:28:07 +00:00
-t, --statefile < filename > filename for mympd state [/var/lib/mympd/mympd.state]
2018-05-29 21:28:11 +00:00
-v, --version get version
2016-09-11 15:54:25 +00:00
--help this help
2014-03-18 00:37:33 +00:00
```
2018-07-10 21:58:48 +00:00
SSL
---
2018-07-15 22:41:16 +00:00
1. Create ca and certificate ```/path/to/src/contrib/crcert.sh``` (mkrelease.sh do this for you).
2018-07-15 22:43:34 +00:00
2. Start myMPD with ```-S``` (use default certificate under ```/etc/mympd/ssl/```).
2018-07-15 22:41:16 +00: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 21:58:48 +00:00
2014-01-17 19:03:08 +00:00
Copyright
---------
2018-05-21 23:36:05 +00:00
ympd: 2013-2014 < andy @ ndyk . de >
2018-05-24 16:26:07 +00:00
2018-05-21 23:36:05 +00:00
myMPD: 2018 < mail @ jcgames . de >