Switching from ImageMagick++ to GraphicsMagick++ to ease compatibility with wt4. ref #42

This commit is contained in:
emeric
2020-03-28 20:09:57 +01:00
parent bd6a08facb
commit 2c9952b8b7
6 changed files with 11 additions and 22 deletions
+3 -3
View File
@@ -10,17 +10,17 @@ target_include_directories(lmscover INTERFACE
target_include_directories(lmscover PRIVATE
include
${IMAGEMAGICKXX_INCLUDE_DIRS}
${GRAPHICSMAGICKXX_INCLUDE_DIRS}
)
target_compile_options(lmscover PRIVATE
${IMAGEMAGICKXX_CFLAGS_OTHER}
${GRAPHICSMAGICKXX_CFLAGS_OTHER}
)
target_link_libraries(lmscover PRIVATE
lmsav
lmsdatabase
${IMAGEMAGICKXX_LIBRARIES}
${GRAPHICSMAGICKXX_LIBRARIES}
)
install(TARGETS lmscover DESTINATION lib)
+6 -8
View File
@@ -49,15 +49,13 @@ Grabber::Grabber(const std::filesystem::path& execPath)
init(execPath);
}
Grabber::~Grabber()
{
deinit();
}
void
Grabber::setDefaultCover(const std::filesystem::path& p)
{
if (!_defaultCover.load(p))
std::unique_lock lock {_mutex};
_defaultCover = std::make_unique<Image>();
if (!_defaultCover->load(p))
throw LmsException("Cannot read default cover file '" + p.string() + "'");
}
@@ -65,12 +63,12 @@ Image
Grabber::getDefaultCover(std::size_t size)
{
LMS_LOG(COVER, DEBUG) << "Getting a default cover using size = " << size;
std::unique_lock<std::mutex> lock(_mutex);
std::unique_lock lock {_mutex};
auto it = _defaultCovers.find(size);
if (it == _defaultCovers.end())
{
Image cover = _defaultCover;
Image cover = *_defaultCover;
LMS_LOG(COVER, DEBUG) << "default cover size = " << cover.getSize().width << " x " << cover.getSize().height;
+1 -3
View File
@@ -41,7 +41,6 @@ namespace CoverArt
{
public:
Grabber(const std::filesystem::path& execPath);
~Grabber();
Grabber(const Grabber&) = delete;
Grabber& operator=(const Grabber&) = delete;
@@ -63,9 +62,8 @@ namespace CoverArt
std::optional<Image> getFromDirectory(const std::filesystem::path& path) const;
Image getDefaultCover(std::size_t size);
Image _defaultCover;
std::mutex _mutex;
std::unique_ptr<Image> _defaultCover;
std::map<std::size_t /* size */, Image> _defaultCovers;
static inline const std::vector<std::filesystem::path> _fileExtensions {".jpg", ".jpeg", ".png", ".bmp"}; // TODO parametrize
-6
View File
@@ -29,12 +29,6 @@ init(const std::filesystem::path& path)
Magick::InitializeMagick(path.string().c_str());
}
void
deinit()
{
MagickCore::MagickCoreTerminus();
}
static
std::string
formatToMagick(Format format)
-1
View File
@@ -30,7 +30,6 @@ namespace CoverArt
{
void init(const std::filesystem::path& path);
void deinit();
class Image
{