Various cleanup

This commit is contained in:
emeric
2019-04-19 14:06:43 +02:00
parent 3df9a2ad54
commit 099d516091
4 changed files with 81 additions and 12 deletions
+5 -5
View File
@@ -10,19 +10,19 @@ lms_cssdir=$(lms_docrootdir)/css
lms_jsdir=$(lms_docrootdir)/js lms_jsdir=$(lms_docrootdir)/js
lms_imagesdir=$(lms_approotdir)/images lms_imagesdir=$(lms_approotdir)/images
lms_css_DATA = \ dist_lms_css_DATA = \
docroot/css/lms.css docroot/css/lms.css
lms_js_DATA = \ dist_lms_js_DATA = \
docroot/js/bootstrap-notify.js \ docroot/js/bootstrap-notify.js \
docroot/js/jquery-1.10.2.min.js \ docroot/js/jquery-1.10.2.min.js \
docroot/js/mediaplayer.js docroot/js/mediaplayer.js
lms_images_DATA = \ dist_lms_images_DATA = \
approot/images/unknown-cover.jpg \ approot/images/unknown-cover.jpg \
approot/images/unknown-artist.jpg approot/images/unknown-artist.jpg
lms_approot_DATA = \ dist_lms_approot_DATA = \
approot/admin-database.xml \ approot/admin-database.xml \
approot/admin-user.xml \ approot/admin-user.xml \
approot/admin-users.xml \ approot/admin-users.xml \
@@ -49,6 +49,6 @@ lms_approot_DATA = \
approot/tracks.xml \ approot/tracks.xml \
approot/tracksinfo.xml approot/tracksinfo.xml
sysconf_DATA = \ dist_sysconf_DATA = \
$(top_srcdir)/conf/lms.conf $(top_srcdir)/conf/lms.conf
+5 -4
View File
@@ -5,12 +5,13 @@ LMS is a self-hosted music streaming software: access your music files from anyw
A [demo](http://lms.demo.poupon.io) instance is available, with the following limitations: A [demo](http://lms.demo.poupon.io) instance is available, with the following limitations:
- Settings cannot be saved - Settings cannot be saved
- No persistent playqueue - No persistent playqueue
- No administration panel
## Main features ## Main features
- Persistent play queue across sessions
- User management - User management
- Recommendation engine - Recommendation engine
- Audio transcode for maximum interoperability and low bandwith requirements - Audio transcode for maximum interoperability and low bandwith requirements
- Persistent play queue across sessions
- Subsonic API - Subsonic API
- Multi-value tags - Multi-value tags
- Custom tag support (ex: "mood", "genre", "albummood", "albumgrouping", ...) - Custom tag support (ex: "mood", "genre", "albummood", "albumgrouping", ...)
@@ -28,7 +29,7 @@ LMS provides several ways to help you find the music you like:
The recommendation engine makes use of [Self-Organizing Maps](https://en.wikipedia.org/wiki/Self-organizing_map).</br> The recommendation engine makes use of [Self-Organizing Maps](https://en.wikipedia.org/wiki/Self-organizing_map).</br>
Please note this engine: Please note this engine:
- may require some significant computation time on very large datasets - may require some significant computation time on very large datasets
- makes use of computed data available on [AcousticBrainz](https://acousticbrainz.org/). Therefore your music must contain the [MusicBrainz Identifier](https://musicbrainz.org/doc/MusicBrainz_Identifier) for the recommendation engine to work properly - makes use of computed data available on [AcousticBrainz](https://acousticbrainz.org/). Therefore your music must contain the [MusicBrainz Identifier](https://musicbrainz.org/doc/MusicBrainz_Identifier) for the recommendation engine to work properly (otherwise, only tag-based recommendations are provided)
## Subsonic API ## Subsonic API
For now, the API version implemented is 1.12.0 and has been tested on Android using the official application, Ultrasonic and DSub. For now, the API version implemented is 1.12.0 and has been tested on Android using the official application, Ultrasonic and DSub.
@@ -38,7 +39,7 @@ As LMS does not aim to implement all the features of Subsonic, some commands are
The Subsonic API is enabled by default. The Subsonic API is enabled by default.
## Installation ## Installation
Here are the required packages to build on Debian Stretch: Here are the required packages to build LMS on Debian Stretch:
```sh ```sh
apt-get install g++ autoconf automake libboost-filesystem-dev libboost-system-dev libavcodec-dev libavutil-dev libavformat-dev libav-tools libmagick++-dev libpstreams-dev libconfig++-dev libpstreams-dev ffmpeg libtag1-dev apt-get install g++ autoconf automake libboost-filesystem-dev libboost-system-dev libavcodec-dev libavutil-dev libavformat-dev libav-tools libmagick++-dev libpstreams-dev libconfig++-dev libpstreams-dev ffmpeg libtag1-dev
``` ```
@@ -94,7 +95,7 @@ server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:5091; proxy_pass http://localhost:5082;
proxy_read_timeout 120; proxy_read_timeout 120;
} }
} }
+69 -1
View File
@@ -2,67 +2,135 @@ bin_PROGRAMS = lms
lms_SOURCES = \ lms_SOURCES = \
$(srcdir)/api/subsonic/SubsonicId.cpp \ $(srcdir)/api/subsonic/SubsonicId.cpp \
$(srcdir)/api/subsonic/SubsonicId.hpp \
$(srcdir)/api/subsonic/SubsonicResource.cpp \ $(srcdir)/api/subsonic/SubsonicResource.cpp \
$(srcdir)/api/subsonic/SubsonicResource.hpp \
$(srcdir)/api/subsonic/SubsonicResponse.cpp \ $(srcdir)/api/subsonic/SubsonicResponse.cpp \
$(srcdir)/api/subsonic/SubsonicResponse.hpp \
$(srcdir)/av/AvInfo.cpp \ $(srcdir)/av/AvInfo.cpp \
$(srcdir)/av/AvInfo.hpp \
$(srcdir)/av/AvTranscoder.cpp \ $(srcdir)/av/AvTranscoder.cpp \
$(srcdir)/av/AvTranscoder.hpp \
$(srcdir)/cover/CoverArtGrabber.cpp \ $(srcdir)/cover/CoverArtGrabber.cpp \
$(srcdir)/cover/CoverArtGrabber.hpp \
$(srcdir)/database/Artist.cpp \ $(srcdir)/database/Artist.cpp \
$(srcdir)/database/Artist.hpp \
$(srcdir)/database/Cluster.cpp \ $(srcdir)/database/Cluster.cpp \
$(srcdir)/database/Cluster.hpp \
$(srcdir)/database/DatabaseHandler.cpp \ $(srcdir)/database/DatabaseHandler.cpp \
$(srcdir)/database/DatabaseHandler.hpp \
$(srcdir)/database/TrackFeatures.cpp \ $(srcdir)/database/TrackFeatures.cpp \
$(srcdir)/database/TrackFeatures.hpp \
$(srcdir)/database/TrackList.cpp \ $(srcdir)/database/TrackList.cpp \
$(srcdir)/database/TrackList.hpp \
$(srcdir)/database/Types.hpp \
$(srcdir)/database/Release.cpp \ $(srcdir)/database/Release.cpp \
$(srcdir)/database/Release.hpp \
$(srcdir)/database/ScanSettings.cpp \ $(srcdir)/database/ScanSettings.cpp \
$(srcdir)/database/ScanSettings.hpp \
$(srcdir)/database/SimilaritySettings.cpp \ $(srcdir)/database/SimilaritySettings.cpp \
$(srcdir)/database/SimilaritySettings.hpp \
$(srcdir)/database/SqlQuery.cpp \ $(srcdir)/database/SqlQuery.cpp \
$(srcdir)/database/SqlQuery.hpp \
$(srcdir)/database/Track.cpp \ $(srcdir)/database/Track.cpp \
$(srcdir)/database/Track.hpp \
$(srcdir)/database/User.cpp \ $(srcdir)/database/User.cpp \
$(srcdir)/database/User.hpp \
$(srcdir)/image/Image.cpp \ $(srcdir)/image/Image.cpp \
$(srcdir)/image/Image.hpp \
$(srcdir)/main/main.cpp \ $(srcdir)/main/main.cpp \
$(srcdir)/main/Service.hpp \
$(srcdir)/metadata/AvFormat.cpp \ $(srcdir)/metadata/AvFormat.cpp \
$(srcdir)/metadata/AvFormat.hpp \
$(srcdir)/metadata/MetaData.hpp \
$(srcdir)/metadata/TagLibParser.cpp \ $(srcdir)/metadata/TagLibParser.cpp \
$(srcdir)/metadata/TagLibParser.hpp \
$(srcdir)/scanner/MediaScanner.cpp \ $(srcdir)/scanner/MediaScanner.cpp \
$(srcdir)/scanner/MediaScanner.hpp \
$(srcdir)/scanner/MediaScannerAddon.hpp \
$(srcdir)/similarity/SimilaritySearcher.cpp \ $(srcdir)/similarity/SimilaritySearcher.cpp \
$(srcdir)/similarity/SimilaritySearcher.hpp \
$(srcdir)/similarity/cluster/SimilarityClusterSearcher.cpp \ $(srcdir)/similarity/cluster/SimilarityClusterSearcher.cpp \
$(srcdir)/similarity/cluster/SimilarityClusterSearcher.hpp \
$(srcdir)/similarity/features/AcousticBrainzUtils.cpp \ $(srcdir)/similarity/features/AcousticBrainzUtils.cpp \
$(srcdir)/similarity/features/AcousticBrainzUtils.hpp \
$(srcdir)/similarity/features/SimilarityFeaturesCache.cpp \ $(srcdir)/similarity/features/SimilarityFeaturesCache.cpp \
$(srcdir)/similarity/features/SimilarityFeaturesCache.hpp \
$(srcdir)/similarity/features/SimilarityFeaturesScannerAddon.cpp \ $(srcdir)/similarity/features/SimilarityFeaturesScannerAddon.cpp \
$(srcdir)/similarity/features/SimilarityFeaturesScannerAddon.hpp \
$(srcdir)/similarity/features/SimilarityFeaturesSearcher.cpp \ $(srcdir)/similarity/features/SimilarityFeaturesSearcher.cpp \
$(srcdir)/similarity/features/SimilarityFeaturesSearcher.hpp \
$(srcdir)/similarity/features/som/DataNormalizer.cpp \ $(srcdir)/similarity/features/som/DataNormalizer.cpp \
$(srcdir)/similarity/features/som/DataNormalizer.hpp \
$(srcdir)/similarity/features/som/InputVector.hpp \
$(srcdir)/similarity/features/som/Matrix.hpp \
$(srcdir)/similarity/features/som/Network.cpp \ $(srcdir)/similarity/features/som/Network.cpp \
$(srcdir)/similarity/features/som/Network.hpp \
$(srcdir)/ui/Auth.cpp \ $(srcdir)/ui/Auth.cpp \
$(srcdir)/ui/Auth.hpp \
$(srcdir)/ui/LmsApplication.cpp \ $(srcdir)/ui/LmsApplication.cpp \
$(srcdir)/ui/LmsApplication.hpp \
$(srcdir)/ui/LmsApplicationGroup.cpp \ $(srcdir)/ui/LmsApplicationGroup.cpp \
$(srcdir)/ui/LmsApplicationGroup.hpp \
$(srcdir)/ui/MediaPlayer.cpp \ $(srcdir)/ui/MediaPlayer.cpp \
$(srcdir)/ui/MediaPlayer.hpp \
$(srcdir)/ui/PlayQueueView.cpp \ $(srcdir)/ui/PlayQueueView.cpp \
$(srcdir)/ui/PlayQueueView.hpp \
$(srcdir)/ui/PlayHistoryView.cpp \ $(srcdir)/ui/PlayHistoryView.cpp \
$(srcdir)/ui/PlayHistoryView.hpp \
$(srcdir)/ui/SettingsView.cpp \ $(srcdir)/ui/SettingsView.cpp \
$(srcdir)/ui/SettingsView.hpp \
$(srcdir)/ui/admin/DatabaseSettingsView.cpp \ $(srcdir)/ui/admin/DatabaseSettingsView.cpp \
$(srcdir)/ui/admin/DatabaseSettingsView.hpp \
$(srcdir)/ui/admin/InitWizardView.cpp \ $(srcdir)/ui/admin/InitWizardView.cpp \
$(srcdir)/ui/admin/InitWizardView.hpp \
$(srcdir)/ui/admin/UserView.cpp \ $(srcdir)/ui/admin/UserView.cpp \
$(srcdir)/ui/admin/UserView.hpp \
$(srcdir)/ui/admin/UsersView.cpp \ $(srcdir)/ui/admin/UsersView.cpp \
$(srcdir)/ui/admin/UsersView.hpp \
$(srcdir)/ui/common/Validators.cpp \ $(srcdir)/ui/common/Validators.cpp \
$(srcdir)/ui/common/Validators.hpp \
$(srcdir)/ui/explore/ArtistInfoView.cpp \ $(srcdir)/ui/explore/ArtistInfoView.cpp \
$(srcdir)/ui/explore/ArtistInfoView.hpp \
$(srcdir)/ui/explore/ArtistLink.cpp \ $(srcdir)/ui/explore/ArtistLink.cpp \
$(srcdir)/ui/explore/ArtistLink.hpp \
$(srcdir)/ui/explore/ArtistsInfoView.cpp \ $(srcdir)/ui/explore/ArtistsInfoView.cpp \
$(srcdir)/ui/explore/ArtistsInfoView.hpp \
$(srcdir)/ui/explore/ArtistView.cpp \ $(srcdir)/ui/explore/ArtistView.cpp \
$(srcdir)/ui/explore/ArtistView.hpp \
$(srcdir)/ui/explore/ArtistsView.cpp \ $(srcdir)/ui/explore/ArtistsView.cpp \
$(srcdir)/ui/explore/ArtistsView.hpp \
$(srcdir)/ui/explore/Explore.cpp \ $(srcdir)/ui/explore/Explore.cpp \
$(srcdir)/ui/explore/Explore.hpp \
$(srcdir)/ui/explore/Filters.cpp \ $(srcdir)/ui/explore/Filters.cpp \
$(srcdir)/ui/explore/Filters.hpp \
$(srcdir)/ui/explore/ReleaseInfoView.cpp \ $(srcdir)/ui/explore/ReleaseInfoView.cpp \
$(srcdir)/ui/explore/ReleaseInfoView.hpp \
$(srcdir)/ui/explore/ReleaseLink.cpp \ $(srcdir)/ui/explore/ReleaseLink.cpp \
$(srcdir)/ui/explore/ReleaseLink.hpp \
$(srcdir)/ui/explore/ReleasesInfoView.cpp \ $(srcdir)/ui/explore/ReleasesInfoView.cpp \
$(srcdir)/ui/explore/ReleasesInfoView.hpp \
$(srcdir)/ui/explore/ReleasesView.cpp \ $(srcdir)/ui/explore/ReleasesView.cpp \
$(srcdir)/ui/explore/ReleasesView.hpp \
$(srcdir)/ui/explore/ReleaseView.cpp \ $(srcdir)/ui/explore/ReleaseView.cpp \
$(srcdir)/ui/explore/ReleaseView.hpp \
$(srcdir)/ui/explore/TracksInfoView.cpp \ $(srcdir)/ui/explore/TracksInfoView.cpp \
$(srcdir)/ui/explore/TracksInfoView.hpp \
$(srcdir)/ui/explore/TracksView.cpp \ $(srcdir)/ui/explore/TracksView.cpp \
$(srcdir)/ui/explore/TracksView.hpp \
$(srcdir)/ui/resource/ImageResource.cpp \ $(srcdir)/ui/resource/ImageResource.cpp \
$(srcdir)/ui/resource/ImageResource.hpp \
$(srcdir)/ui/resource/AudioResource.cpp \ $(srcdir)/ui/resource/AudioResource.cpp \
$(srcdir)/ui/resource/AudioResource.hpp \
$(srcdir)/utils/Config.cpp \ $(srcdir)/utils/Config.cpp \
$(srcdir)/utils/Config.hpp \
$(srcdir)/utils/Exception.hpp \
$(srcdir)/utils/Logger.cpp \ $(srcdir)/utils/Logger.cpp \
$(srcdir)/utils/Logger.hpp \
$(srcdir)/utils/Path.cpp \ $(srcdir)/utils/Path.cpp \
$(srcdir)/utils/Utils.cpp $(srcdir)/utils/Path.hpp \
$(srcdir)/utils/Utils.cpp \
$(srcdir)/utils/Utils.hpp
lms_CXXFLAGS=-std=c++14 -Wall -I$(srcdir)/ui $(MAGICKXX_CFLAGS) -D_REENTRANT lms_CXXFLAGS=-std=c++14 -Wall -I$(srcdir)/ui $(MAGICKXX_CFLAGS) -D_REENTRANT
lms_LDADD=$(MAGICKXX_LIBS) lms_LDADD=$(MAGICKXX_LIBS)
+2 -2
View File
@@ -51,7 +51,7 @@ std::vector<std::string> generateWtConfig(std::string execPath)
if (Config::instance().getBool("tls-enable", false)) if (Config::instance().getBool("tls-enable", false))
{ {
args.push_back("--https-port=" + std::to_string( Config::instance().getULong("listen-port", 5081))); args.push_back("--https-port=" + std::to_string( Config::instance().getULong("listen-port", 5082)));
args.push_back("--https-address=" + Config::instance().getString("listen-addr", "0.0.0.0")); args.push_back("--https-address=" + Config::instance().getString("listen-addr", "0.0.0.0"));
args.push_back("--ssl-certificate=" + Config::instance().getString("tls-cert")); args.push_back("--ssl-certificate=" + Config::instance().getString("tls-cert"));
args.push_back("--ssl-private-key=" + Config::instance().getString("tls-key")); args.push_back("--ssl-private-key=" + Config::instance().getString("tls-key"));
@@ -59,7 +59,7 @@ std::vector<std::string> generateWtConfig(std::string execPath)
} }
else else
{ {
args.push_back("--http-port=" + std::to_string( Config::instance().getULong("listen-port", 5081))); args.push_back("--http-port=" + std::to_string( Config::instance().getULong("listen-port", 5082)));
args.push_back("--http-address=" + Config::instance().getString("listen-addr", "0.0.0.0")); args.push_back("--http-address=" + Config::instance().getString("listen-addr", "0.0.0.0"));
} }