Reworked the project layout
This commit is contained in:
-115
@@ -1,115 +0,0 @@
|
|||||||
|
|
||||||
AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip
|
|
||||||
|
|
||||||
SUBDIRS = test .
|
|
||||||
|
|
||||||
bin_PROGRAMS = lms
|
|
||||||
|
|
||||||
lms_SOURCES = \
|
|
||||||
$(top_srcdir)/main/main.cpp \
|
|
||||||
$(top_srcdir)/av/CodecContext.cpp \
|
|
||||||
$(top_srcdir)/av/Common.cpp \
|
|
||||||
$(top_srcdir)/av/Dictionary.cpp \
|
|
||||||
$(top_srcdir)/av/FormatContext.cpp \
|
|
||||||
$(top_srcdir)/av/InputFormatContext.cpp \
|
|
||||||
$(top_srcdir)/av/Stream.cpp \
|
|
||||||
$(top_srcdir)/config/ConfigReader.cpp \
|
|
||||||
$(top_srcdir)/cover/CoverArt.cpp \
|
|
||||||
$(top_srcdir)/cover/CoverArtGrabber.cpp \
|
|
||||||
$(top_srcdir)/database/Artist.cpp \
|
|
||||||
$(top_srcdir)/database/Genre.cpp \
|
|
||||||
$(top_srcdir)/database/Release.cpp \
|
|
||||||
$(top_srcdir)/database/MediaDirectory.cpp \
|
|
||||||
$(top_srcdir)/database/Track.cpp \
|
|
||||||
$(top_srcdir)/database/DatabaseHandler.cpp \
|
|
||||||
$(top_srcdir)/database/SqlQuery.cpp \
|
|
||||||
$(top_srcdir)/database/Video.cpp \
|
|
||||||
$(top_srcdir)/database/User.cpp \
|
|
||||||
$(top_srcdir)/database-updater/DatabaseUpdater.cpp \
|
|
||||||
$(top_srcdir)/database-updater/Checksum.cpp \
|
|
||||||
$(top_srcdir)/logger/Logger.cpp \
|
|
||||||
$(top_srcdir)/metadata/AvFormat.cpp \
|
|
||||||
$(top_srcdir)/metadata/Utils.cpp \
|
|
||||||
$(top_srcdir)/remote/server/Connection.cpp \
|
|
||||||
$(top_srcdir)/remote/server/ConnectionManager.cpp \
|
|
||||||
$(top_srcdir)/remote/server/AudioCollectionRequestHandler.cpp \
|
|
||||||
$(top_srcdir)/remote/server/AuthRequestHandler.cpp \
|
|
||||||
$(top_srcdir)/remote/server/MediaRequestHandler.cpp \
|
|
||||||
$(top_srcdir)/remote/server/RequestHandler.cpp \
|
|
||||||
$(top_srcdir)/remote/server/Server.cpp \
|
|
||||||
$(top_srcdir)/service/ServiceManager.cpp \
|
|
||||||
$(top_srcdir)/service/DatabaseUpdateService.cpp \
|
|
||||||
$(top_srcdir)/service/UserInterfaceService.cpp \
|
|
||||||
$(top_srcdir)/service/RemoteServerService.cpp \
|
|
||||||
$(top_srcdir)/transcode/AvConvTranscoder.cpp \
|
|
||||||
$(top_srcdir)/transcode/Format.cpp \
|
|
||||||
$(top_srcdir)/transcode/Parameters.cpp \
|
|
||||||
$(top_srcdir)/transcode/InputMediaFile.cpp \
|
|
||||||
$(top_srcdir)/ui/LmsApplication.cpp \
|
|
||||||
$(top_srcdir)/ui/LmsHome.cpp \
|
|
||||||
$(top_srcdir)/ui/auth/LmsAuth.cpp \
|
|
||||||
$(top_srcdir)/ui/audio/AudioWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/audio/AudioDatabaseWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/audio/AudioMediaPlayerWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/audio/SearchFilterWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/audio/TableFilterWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/audio/TrackWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/common/DirectoryValidator.cpp \
|
|
||||||
$(top_srcdir)/ui/common/SessionData.cpp \
|
|
||||||
$(top_srcdir)/ui/resource/AvConvTranscodeStreamResource.cpp \
|
|
||||||
$(top_srcdir)/ui/video/VideoWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/video/VideoDatabaseWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/video/VideoMediaPlayerWidget.cpp \
|
|
||||||
$(top_srcdir)/ui/video/VideoParametersDialog.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/Settings.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/SettingsAccountFormView.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/SettingsAudioFormView.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/SettingsDatabaseFormView.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/SettingsFirstConnectionFormView.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/SettingsMediaDirectories.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/SettingsMediaDirectoryFormView.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/SettingsUserFormView.cpp \
|
|
||||||
$(top_srcdir)/ui/settings/SettingsUsers.cpp
|
|
||||||
|
|
||||||
nodist_lms_SOURCES = \
|
|
||||||
$(builddir)/auth.pb.cc \
|
|
||||||
$(builddir)/auth.pb.h \
|
|
||||||
$(builddir)/collection.pb.cc \
|
|
||||||
$(builddir)/collection.pb.h \
|
|
||||||
$(builddir)/common.pb.cc \
|
|
||||||
$(builddir)/common.pb.h \
|
|
||||||
$(builddir)/media.pb.cc \
|
|
||||||
$(builddir)/media.pb.h \
|
|
||||||
$(builddir)/messages.pb.cc \
|
|
||||||
$(builddir)/messages.pb.h
|
|
||||||
|
|
||||||
BUILT_SOURCES = \
|
|
||||||
$(builddir)/auth.pb.cc \
|
|
||||||
$(builddir)/auth.pb.h \
|
|
||||||
$(builddir)/collection.pb.cc \
|
|
||||||
$(builddir)/collection.pb.h \
|
|
||||||
$(builddir)/common.pb.cc \
|
|
||||||
$(builddir)/common.pb.h \
|
|
||||||
$(builddir)/media.pb.cc \
|
|
||||||
$(builddir)/media.pb.h \
|
|
||||||
$(builddir)/messages.pb.cc \
|
|
||||||
$(builddir)/messages.pb.h
|
|
||||||
|
|
||||||
MOSTLYCLEANFILES = \
|
|
||||||
$(builddir)/auth.pb.cc \
|
|
||||||
$(builddir)/auth.pb.h \
|
|
||||||
$(builddir)/collection.pb.cc \
|
|
||||||
$(builddir)/collection.pb.h \
|
|
||||||
$(builddir)/common.pb.cc \
|
|
||||||
$(builddir)/common.pb.h \
|
|
||||||
$(builddir)/media.pb.cc \
|
|
||||||
$(builddir)/media.pb.h \
|
|
||||||
$(builddir)/messages.pb.cc \
|
|
||||||
$(builddir)/messages.pb.h
|
|
||||||
|
|
||||||
|
|
||||||
%.pb.cc %.pb.h: $(top_srcdir)/remote/proto/%.proto
|
|
||||||
$(PROTOC) --proto_path=$(top_srcdir)/remote/proto/ --cpp_out=$(builddir)/ $^
|
|
||||||
|
|
||||||
lms_CXXFLAGS=-DBOOST_LOG_DYN_LINK -std=c++11 -Wall -I$(top_srcdir)/boost/ -I$(top_srcdir)/ui -I$(top_srcdir)/remote
|
|
||||||
|
|
||||||
@@ -1,22 +1,21 @@
|
|||||||
LMS - Lightweight Media Server
|
LMS - Lightweight Media Server
|
||||||
|
|
||||||
|
|
||||||
LMS is a free media streaming software, released on the GPLv3 license.
|
LMS is a free media streaming software, released under the GPLv3 license.
|
||||||
It allows you to access your music and your videos using the following built-in services:
|
It allows you to access your music and your videos using an https web interface.
|
||||||
- Web server
|
|
||||||
- TCP/SSL server using a Protocol Buffers format (see https://github.com/google/protobuf/)
|
|
||||||
|
|
||||||
LMS is written entirely in C++. Therefore, it is suitable to run on embedded devices, where space and/or memory are limited.
|
|
||||||
Please note the media files are transcoded on-the-fly: this reduces compatibility issues but may need a lot of computation power, at least for HD videos.
|
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- User management
|
- User management
|
||||||
- "Winamp-style" interface
|
- Fast "Winamp-style" interface
|
||||||
- Audio/Video transcode (including downsampling), based on the libav project (see https://www.libav.org/)
|
- Audio/Video transcode (including downsampling), based on the libav project (see https://www.libav.org/).
|
||||||
|
- Custom API to access data using Protocol Buffers format over TCP/SSL (see https://github.com/google/protobuf/ and src/remote/proto)
|
||||||
|
|
||||||
Please note LMS is still under development and will gain more features in the future.
|
Please note LMS is still under development and will gain more features in the future.
|
||||||
An android application is being developped as well.
|
An android application is being developped as well.
|
||||||
|
|
||||||
|
LMS is written entirely in C++. Therefore, it is suitable to run on embedded devices, where space and/or memory are limited.
|
||||||
|
Please note some media files may require significant CPU usage to be trasncoded.
|
||||||
|
|
||||||
I) DEPENCIES
|
I) DEPENCIES
|
||||||
|
|
||||||
Debian packages:
|
Debian packages:
|
||||||
@@ -50,7 +49,7 @@ Generate a self signed certificate:
|
|||||||
IV) RUNNING
|
IV) RUNNING
|
||||||
|
|
||||||
In the build directory:
|
In the build directory:
|
||||||
# ./lms lms.conf
|
# ./src/lms lms.conf
|
||||||
|
|
||||||
Create the lms.conf file using the etc/lms.sample.conf
|
Create the lms.conf file using the etc/lms.sample.conf
|
||||||
- "ui.resources.approot" has to refer to the ui/approot/ directory.
|
- "ui.resources.approot" has to refer to the ui/approot/ directory.
|
||||||
|
|||||||
@@ -142,6 +142,7 @@ AC_CHECK_LIB([wt],
|
|||||||
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile
|
AC_CONFIG_FILES([Makefile
|
||||||
|
src/Makefile
|
||||||
test/Makefile])
|
test/Makefile])
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|||||||
+109
@@ -0,0 +1,109 @@
|
|||||||
|
bin_PROGRAMS = lms
|
||||||
|
|
||||||
|
lms_SOURCES = \
|
||||||
|
$(srcdir)/main/main.cpp \
|
||||||
|
$(srcdir)/av/CodecContext.cpp \
|
||||||
|
$(srcdir)/av/Common.cpp \
|
||||||
|
$(srcdir)/av/Dictionary.cpp \
|
||||||
|
$(srcdir)/av/FormatContext.cpp \
|
||||||
|
$(srcdir)/av/InputFormatContext.cpp \
|
||||||
|
$(srcdir)/av/Stream.cpp \
|
||||||
|
$(srcdir)/config/ConfigReader.cpp \
|
||||||
|
$(srcdir)/cover/CoverArt.cpp \
|
||||||
|
$(srcdir)/cover/CoverArtGrabber.cpp \
|
||||||
|
$(srcdir)/database/Artist.cpp \
|
||||||
|
$(srcdir)/database/Genre.cpp \
|
||||||
|
$(srcdir)/database/Release.cpp \
|
||||||
|
$(srcdir)/database/MediaDirectory.cpp \
|
||||||
|
$(srcdir)/database/Track.cpp \
|
||||||
|
$(srcdir)/database/DatabaseHandler.cpp \
|
||||||
|
$(srcdir)/database/SqlQuery.cpp \
|
||||||
|
$(srcdir)/database/Video.cpp \
|
||||||
|
$(srcdir)/database/User.cpp \
|
||||||
|
$(srcdir)/database-updater/DatabaseUpdater.cpp \
|
||||||
|
$(srcdir)/database-updater/Checksum.cpp \
|
||||||
|
$(srcdir)/logger/Logger.cpp \
|
||||||
|
$(srcdir)/metadata/AvFormat.cpp \
|
||||||
|
$(srcdir)/metadata/Utils.cpp \
|
||||||
|
$(srcdir)/remote/server/Connection.cpp \
|
||||||
|
$(srcdir)/remote/server/ConnectionManager.cpp \
|
||||||
|
$(srcdir)/remote/server/AudioCollectionRequestHandler.cpp \
|
||||||
|
$(srcdir)/remote/server/AuthRequestHandler.cpp \
|
||||||
|
$(srcdir)/remote/server/MediaRequestHandler.cpp \
|
||||||
|
$(srcdir)/remote/server/RequestHandler.cpp \
|
||||||
|
$(srcdir)/remote/server/Server.cpp \
|
||||||
|
$(srcdir)/service/ServiceManager.cpp \
|
||||||
|
$(srcdir)/service/DatabaseUpdateService.cpp \
|
||||||
|
$(srcdir)/service/UserInterfaceService.cpp \
|
||||||
|
$(srcdir)/service/RemoteServerService.cpp \
|
||||||
|
$(srcdir)/transcode/AvConvTranscoder.cpp \
|
||||||
|
$(srcdir)/transcode/Format.cpp \
|
||||||
|
$(srcdir)/transcode/Parameters.cpp \
|
||||||
|
$(srcdir)/transcode/InputMediaFile.cpp \
|
||||||
|
$(srcdir)/ui/LmsApplication.cpp \
|
||||||
|
$(srcdir)/ui/LmsHome.cpp \
|
||||||
|
$(srcdir)/ui/auth/LmsAuth.cpp \
|
||||||
|
$(srcdir)/ui/audio/AudioWidget.cpp \
|
||||||
|
$(srcdir)/ui/audio/AudioDatabaseWidget.cpp \
|
||||||
|
$(srcdir)/ui/audio/AudioMediaPlayerWidget.cpp \
|
||||||
|
$(srcdir)/ui/audio/SearchFilterWidget.cpp \
|
||||||
|
$(srcdir)/ui/audio/TableFilterWidget.cpp \
|
||||||
|
$(srcdir)/ui/audio/TrackWidget.cpp \
|
||||||
|
$(srcdir)/ui/common/DirectoryValidator.cpp \
|
||||||
|
$(srcdir)/ui/common/SessionData.cpp \
|
||||||
|
$(srcdir)/ui/resource/AvConvTranscodeStreamResource.cpp \
|
||||||
|
$(srcdir)/ui/video/VideoWidget.cpp \
|
||||||
|
$(srcdir)/ui/video/VideoDatabaseWidget.cpp \
|
||||||
|
$(srcdir)/ui/video/VideoMediaPlayerWidget.cpp \
|
||||||
|
$(srcdir)/ui/video/VideoParametersDialog.cpp \
|
||||||
|
$(srcdir)/ui/settings/Settings.cpp \
|
||||||
|
$(srcdir)/ui/settings/SettingsAccountFormView.cpp \
|
||||||
|
$(srcdir)/ui/settings/SettingsAudioFormView.cpp \
|
||||||
|
$(srcdir)/ui/settings/SettingsDatabaseFormView.cpp \
|
||||||
|
$(srcdir)/ui/settings/SettingsFirstConnectionFormView.cpp \
|
||||||
|
$(srcdir)/ui/settings/SettingsMediaDirectories.cpp \
|
||||||
|
$(srcdir)/ui/settings/SettingsMediaDirectoryFormView.cpp \
|
||||||
|
$(srcdir)/ui/settings/SettingsUserFormView.cpp \
|
||||||
|
$(srcdir)/ui/settings/SettingsUsers.cpp
|
||||||
|
|
||||||
|
nodist_lms_SOURCES = \
|
||||||
|
$(builddir)/auth.pb.cc \
|
||||||
|
$(builddir)/auth.pb.h \
|
||||||
|
$(builddir)/collection.pb.cc \
|
||||||
|
$(builddir)/collection.pb.h \
|
||||||
|
$(builddir)/common.pb.cc \
|
||||||
|
$(builddir)/common.pb.h \
|
||||||
|
$(builddir)/media.pb.cc \
|
||||||
|
$(builddir)/media.pb.h \
|
||||||
|
$(builddir)/messages.pb.cc \
|
||||||
|
$(builddir)/messages.pb.h
|
||||||
|
|
||||||
|
BUILT_SOURCES = \
|
||||||
|
$(builddir)/auth.pb.cc \
|
||||||
|
$(builddir)/auth.pb.h \
|
||||||
|
$(builddir)/collection.pb.cc \
|
||||||
|
$(builddir)/collection.pb.h \
|
||||||
|
$(builddir)/common.pb.cc \
|
||||||
|
$(builddir)/common.pb.h \
|
||||||
|
$(builddir)/media.pb.cc \
|
||||||
|
$(builddir)/media.pb.h \
|
||||||
|
$(builddir)/messages.pb.cc \
|
||||||
|
$(builddir)/messages.pb.h
|
||||||
|
|
||||||
|
MOSTLYCLEANFILES = \
|
||||||
|
$(builddir)/auth.pb.cc \
|
||||||
|
$(builddir)/auth.pb.h \
|
||||||
|
$(builddir)/collection.pb.cc \
|
||||||
|
$(builddir)/collection.pb.h \
|
||||||
|
$(builddir)/common.pb.cc \
|
||||||
|
$(builddir)/common.pb.h \
|
||||||
|
$(builddir)/media.pb.cc \
|
||||||
|
$(builddir)/media.pb.h \
|
||||||
|
$(builddir)/messages.pb.cc \
|
||||||
|
$(builddir)/messages.pb.h
|
||||||
|
|
||||||
|
%.pb.cc %.pb.h: $(srcdir)/remote/proto/%.proto
|
||||||
|
$(PROTOC) --proto_path=$(srcdir)/remote/proto/ --cpp_out=$(builddir)/ $^
|
||||||
|
|
||||||
|
lms_CXXFLAGS=-DBOOST_LOG_DYN_LINK -std=c++11 -Wall -I$(top_srcdir) -I$(srcdir)/ui -I$(srcdir)/remote
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user