Added tools
This commit is contained in:
+1
-1
@@ -22,7 +22,7 @@ before_install:
|
|||||||
- git checkout 4.1.0
|
- git checkout 4.1.0
|
||||||
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr && sudo make install
|
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr && sudo make install
|
||||||
- popd
|
- popd
|
||||||
script: cmake . && make && make test
|
script: cmake -DCMAKE_BUILD_TYPE=Release . && make && make test
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- MAKEFLAGS="-j 2"
|
- MAKEFLAGS="-j 2"
|
||||||
|
|||||||
@@ -2,5 +2,6 @@ add_compile_options(-Wall -Wextra -pedantic)
|
|||||||
|
|
||||||
add_subdirectory(libs)
|
add_subdirectory(libs)
|
||||||
add_subdirectory(lms)
|
add_subdirectory(lms)
|
||||||
|
add_subdirectory(tools)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ add_subdirectory(auth)
|
|||||||
add_subdirectory(av)
|
add_subdirectory(av)
|
||||||
add_subdirectory(cover)
|
add_subdirectory(cover)
|
||||||
add_subdirectory(database)
|
add_subdirectory(database)
|
||||||
|
add_subdirectory(metadata)
|
||||||
add_subdirectory(recommendation)
|
add_subdirectory(recommendation)
|
||||||
add_subdirectory(scanner)
|
add_subdirectory(scanner)
|
||||||
add_subdirectory(som)
|
add_subdirectory(som)
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
add_library(lmsmetadata SHARED
|
||||||
|
impl/AvFormatParser.cpp
|
||||||
|
impl/TagLibParser.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(lmsmetadata INTERFACE
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(lmsmetadata PRIVATE
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(lmsmetadata PRIVATE
|
||||||
|
lmsav
|
||||||
|
tag
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(lmsmetadata PUBLIC
|
||||||
|
lmsutils
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS lmsmetadata DESTINATION lib)
|
||||||
|
|
||||||
+2
-3
@@ -17,13 +17,12 @@
|
|||||||
* along with LMS. If not, see <http://www.gnu.org/licenses/>.
|
* along with LMS. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "AvFormat.hpp"
|
#include "metadata/AvFormatParser.hpp"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include "av/AvInfo.hpp"
|
#include "av/AvInfo.hpp"
|
||||||
|
|
||||||
#include "utils/Logger.hpp"
|
#include "utils/Logger.hpp"
|
||||||
#include "utils/String.hpp"
|
#include "utils/String.hpp"
|
||||||
|
|
||||||
@@ -128,7 +127,7 @@ getArtists(const MetadataMap& metadataMap)
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::optional<Track>
|
std::optional<Track>
|
||||||
AvFormat::parse(const std::filesystem::path& p, bool debug)
|
AvFormatParser::parse(const std::filesystem::path& p, bool debug)
|
||||||
{
|
{
|
||||||
Track track;
|
Track track;
|
||||||
|
|
||||||
+1
-1
@@ -17,7 +17,7 @@
|
|||||||
* along with LMS. If not, see <http://www.gnu.org/licenses/>.
|
* along with LMS. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "TagLibParser.hpp"
|
#include "metadata/TagLibParser.hpp"
|
||||||
|
|
||||||
#include <taglib/asffile.h>
|
#include <taglib/asffile.h>
|
||||||
#include <taglib/id3v2tag.h>
|
#include <taglib/id3v2tag.h>
|
||||||
+2
-2
@@ -19,13 +19,13 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "MetaData.hpp"
|
#include "metadata/IParser.hpp"
|
||||||
|
|
||||||
namespace MetaData
|
namespace MetaData
|
||||||
{
|
{
|
||||||
|
|
||||||
// Parse that makes use of AvFormat
|
// Parse that makes use of AvFormat
|
||||||
class AvFormat : public Parser
|
class AvFormatParser : public IParser
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
std::optional<Track> parse(const std::filesystem::path& p, bool debug = false) override;
|
std::optional<Track> parse(const std::filesystem::path& p, bool debug = false) override;
|
||||||
+1
-2
@@ -26,7 +26,6 @@
|
|||||||
#include <set>
|
#include <set>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
//#include "utils/Utils.hpp"
|
|
||||||
#include "utils/UUID.hpp"
|
#include "utils/UUID.hpp"
|
||||||
|
|
||||||
namespace MetaData
|
namespace MetaData
|
||||||
@@ -73,7 +72,7 @@ namespace MetaData
|
|||||||
std::string copyrightURL;
|
std::string copyrightURL;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Parser
|
class IParser
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual std::optional<Track> parse(const std::filesystem::path& p, bool debug = false) = 0;
|
virtual std::optional<Track> parse(const std::filesystem::path& p, bool debug = false) = 0;
|
||||||
+2
-2
@@ -19,13 +19,13 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "MetaData.hpp"
|
#include "metadata/IParser.hpp"
|
||||||
|
|
||||||
namespace MetaData
|
namespace MetaData
|
||||||
{
|
{
|
||||||
|
|
||||||
// Parse that makes use of AvFormat
|
// Parse that makes use of AvFormat
|
||||||
class TagLibParser : public Parser
|
class TagLibParser : public IParser
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
std::optional<Track> parse(const std::filesystem::path& p, bool debug = false) override;
|
std::optional<Track> parse(const std::filesystem::path& p, bool debug = false) override;
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
|
|
||||||
add_library(lmsscanner SHARED
|
add_library(lmsscanner SHARED
|
||||||
impl/metadata/AvFormat.cpp
|
|
||||||
impl/metadata/TagLibParser.cpp
|
|
||||||
impl/MediaScanner.cpp
|
impl/MediaScanner.cpp
|
||||||
impl/MediaScannerStats.cpp
|
impl/MediaScannerStats.cpp
|
||||||
)
|
)
|
||||||
@@ -15,10 +13,9 @@ target_include_directories(lmsscanner PRIVATE
|
|||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(lmsscanner PRIVATE
|
target_link_libraries(lmsscanner PRIVATE
|
||||||
lmsav
|
|
||||||
lmsdatabase
|
lmsdatabase
|
||||||
|
lmsmetadata
|
||||||
lmsutils
|
lmsutils
|
||||||
tag
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(lmsscanner PUBLIC
|
target_link_libraries(lmsscanner PUBLIC
|
||||||
|
|||||||
@@ -29,10 +29,10 @@
|
|||||||
|
|
||||||
#include <boost/asio/system_timer.hpp>
|
#include <boost/asio/system_timer.hpp>
|
||||||
|
|
||||||
#include "scanner/IMediaScanner.hpp"
|
|
||||||
#include "database/ScanSettings.hpp"
|
#include "database/ScanSettings.hpp"
|
||||||
#include "database/Session.hpp"
|
#include "database/Session.hpp"
|
||||||
#include "metadata/TagLibParser.hpp"
|
#include "metadata/TagLibParser.hpp"
|
||||||
|
#include "scanner/IMediaScanner.hpp"
|
||||||
|
|
||||||
|
|
||||||
namespace Scanner {
|
namespace Scanner {
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
add_subdirectory(metadata)
|
||||||
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
if BUILD_TOOLS
|
|
||||||
SUBDIRS = similarity similarity-parameters metadata
|
|
||||||
endif
|
|
||||||
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
add_executable(lms-metadata
|
||||||
|
LmsMetadata.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(lms-metadata PRIVATE
|
||||||
|
lmsmetadata
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS lms-metadata DESTINATION bin)
|
||||||
|
|
||||||
@@ -25,8 +25,7 @@
|
|||||||
|
|
||||||
#include <Wt/WDate.h>
|
#include <Wt/WDate.h>
|
||||||
|
|
||||||
#include "av/AvInfo.hpp"
|
#include "metadata/AvFormatParser.hpp"
|
||||||
#include "metadata/AvFormat.hpp"
|
|
||||||
#include "metadata/TagLibParser.hpp"
|
#include "metadata/TagLibParser.hpp"
|
||||||
#include "utils/StreamLogger.hpp"
|
#include "utils/StreamLogger.hpp"
|
||||||
|
|
||||||
@@ -52,7 +51,7 @@ std::ostream& operator<<(std::ostream& os, const MetaData::Album& album)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void parse(MetaData::Parser& parser, const std::filesystem::path& file)
|
void parse(MetaData::IParser& parser, const std::filesystem::path& file)
|
||||||
{
|
{
|
||||||
using namespace MetaData;
|
using namespace MetaData;
|
||||||
|
|
||||||
@@ -155,7 +154,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
{
|
{
|
||||||
std::cout << "Using av:" << std::endl;
|
std::cout << "Using av:" << std::endl;
|
||||||
MetaData::AvFormat parser;
|
MetaData::AvFormatParser parser;
|
||||||
parse(parser, file);
|
parse(parser, file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
bin_PROGRAMS = lms-metadata
|
|
||||||
|
|
||||||
lms_metadata_SOURCES = \
|
|
||||||
$(srcdir)/LmsMetadata.cpp \
|
|
||||||
$(top_srcdir)/src/av/AvInfo.cpp \
|
|
||||||
$(top_srcdir)/src/metadata/AvFormat.cpp \
|
|
||||||
$(top_srcdir)/src/metadata/TagLibParser.cpp \
|
|
||||||
$(top_srcdir)/src/utils/Logger.cpp \
|
|
||||||
$(top_srcdir)/src/utils/StreamLogger.cpp \
|
|
||||||
$(top_srcdir)/src/utils/String.cpp \
|
|
||||||
$(top_srcdir)/src/utils/UUID.cpp
|
|
||||||
|
|
||||||
lms_metadata_CXXFLAGS=-std=c++17 -I$(top_srcdir)/src -D_REENTRANT
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user