From 76161dc0acdda3119a1e901a653cec4883f10081 Mon Sep 17 00:00:00 2001 From: jcorporation Date: Mon, 24 Sep 2018 21:55:53 +0100 Subject: [PATCH] Feat: Smart playlists (most played and best rated) #38 --- CMakeLists.txt | 1 + README.md | 1 + contrib/archlinux.install | 7 +-- contrib/myMPD.spec | 7 +-- contrib/mympd.conf.dist | 3 + debian/postinst | 7 +-- htdocs/index.html | 7 ++- htdocs/js/mympd.js | 4 ++ src/mpd_client.c | 116 +++++++++++++++++++++++++++++++++++++- src/mpd_client.h | 4 ++ src/mympd.c | 6 ++ 11 files changed, 143 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a5bff0..2619e14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,3 +55,4 @@ install(FILES dist/htdocs/css/bootstrap.min.css DESTINATION share/${PROJECT_NAME install(FILES dist/htdocs/css/mympd.min.css DESTINATION share/${PROJECT_NAME}/htdocs/css/) install(DIRECTORY htdocs/assets DESTINATION share/${PROJECT_NAME}/htdocs) install(DIRECTORY DESTINATION ../var/lib/${PROJECT_NAME}/pics) +install(DIRECTORY DESTINATION ../var/lib/${PROJECT_NAME}/tmp) diff --git a/README.md b/README.md index 594f866..ed30e8a 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ This fork provides a reworked ui based on Bootstrap 4, a modernized backend and - Play statistics and song voting (uses mpd stickers) - Embedded Webserver (mongoose) - Jukebox mode (add's random songs from database or playlists to queue) + - Smart playlists (most played and best rated songs) myMPD is work in progress. Bugreportes and feature requests are very welcome. - https://github.com/jcorporation/myMPD/issues diff --git a/contrib/archlinux.install b/contrib/archlinux.install index 133983d..937917f 100644 --- a/contrib/archlinux.install +++ b/contrib/archlinux.install @@ -11,11 +11,8 @@ post_upgrade() { [ "$?" = "2" ] && useradd --system -d /var/lib/mympd -s /usr/sbin/nologin -g mympd mympd # fix ownership of /var/lib/mympd - if ! [ $(stat -c '%U:%G' /var/lib/mympd/) = 'mympd:mympd' ] - then - echo "INFO: Fixing ownership of /var/lib/mympd" - chown -R mympd.mympd /var/lib/mympd - fi + echo "INFO: Fixing ownership of /var/lib/mympd" + chown -R mympd.mympd /var/lib/mympd # link music directory to mympd if not already exising echo "INFO: Trying to link musicdir to library" diff --git a/contrib/myMPD.spec b/contrib/myMPD.spec index 58b864b..8851910 100644 --- a/contrib/myMPD.spec +++ b/contrib/myMPD.spec @@ -44,11 +44,8 @@ getent group mympd > /dev/null getent passwd mympd > /dev/null [ "$?" = "2" ] && useradd -r mympd -g mympd -d /var/lib/mympd -s /usr/sbin/nologin -if ! [ $(stat -c '%U:%G' /var/lib/mympd/) = 'mympd:mympd' ] -then - echo "Fixing ownership of /var/lib/mympd" - chown -R mympd.mympd /var/lib/mympd -fi +echo "Fixing ownership of /var/lib/mympd" +chown -R mympd.mympd /var/lib/mympd if [ -d /etc/systemd ] then diff --git a/contrib/mympd.conf.dist b/contrib/mympd.conf.dist index f3e55a9..4188933 100644 --- a/contrib/mympd.conf.dist +++ b/contrib/mympd.conf.dist @@ -35,3 +35,6 @@ stickers = true #List of tags in myMPD gui #Supported tags: Artist,Album,AlbumArtist,Title,Track,Genre,Date,Composer,Performer taglist = Artist,Album,AlbumArtist,Title,Track,Genre,Date,Composer,Performer + +#Enable smart playlists +smartplaylists = true diff --git a/debian/postinst b/debian/postinst index ca6f8d6..c033eb3 100755 --- a/debian/postinst +++ b/debian/postinst @@ -6,11 +6,8 @@ getent group mympd > /dev/null getent passwd mympd > /dev/null [ "$?" = "2" ] && useradd -r mympd -g mympd -d /var/lib/mympd -s /usr/sbin/nologin -if ! [ $(stat -c '%U:%G' /var/lib/mympd/) = 'mympd:mympd' ] -then - echo "Fixing ownership of /var/lib/mympd" - chown -R mympd.mympd /var/lib/mympd -fi +echo "Fixing ownership of /var/lib/mympd" +chown -R mympd.mympd /var/lib/mympd echo "Trying to link musicdir to library" if [ -f /etc/mpd.conf ] diff --git a/htdocs/index.html b/htdocs/index.html index 7df746f..502f01e 100644 --- a/htdocs/index.html +++ b/htdocs/index.html @@ -24,10 +24,11 @@