Renamed CoverArtGrabber to CoverService

This commit is contained in:
emeric
2021-10-15 20:58:14 +02:00
parent 11f8a9e38b
commit 0dcef2e94c
16 changed files with 70 additions and 70 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
add_library(lmscover SHARED
impl/CoverArtGrabber.cpp
impl/CoverService.cpp
)
target_include_directories(lmscover INTERFACE
@@ -17,7 +17,7 @@
* along with LMS. If not, see <http://www.gnu.org/licenses/>.
*/
#include "CoverArtGrabber.hpp"
#include "CoverService.hpp"
#include "av/IAudioFile.hpp"
@@ -28,10 +28,10 @@
#if LMS_SUPPORT_IMAGE_STB
#include "stb/RawImage.hpp"
using RawImage = CoverArt::STB::RawImage;
using RawImage = Cover::STB::RawImage;
#elif LMS_SUPPORT_IMAGE_GM
#include "graphicsmagick/RawImage.hpp"
using RawImage = CoverArt::GraphicsMagick::RawImage;
using RawImage = Cover::GraphicsMagick::RawImage;
#endif
#include "utils/IConfig.hpp"
@@ -77,7 +77,7 @@ namespace
}
}
namespace CoverArt {
namespace Cover {
static
bool
@@ -86,13 +86,13 @@ isFileSupported(const std::filesystem::path& file, const std::vector<std::filesy
return (std::find(std::cbegin(extensions), std::cend(extensions), file.extension()) != std::cend(extensions));
}
std::unique_ptr<IGrabber>
createGrabber(Database::Db& db, const std::filesystem::path& execPath, const std::filesystem::path& defaultCoverPath)
std::unique_ptr<ICoverService>
createCoverService(Database::Db& db, const std::filesystem::path& execPath, const std::filesystem::path& defaultCoverPath)
{
return std::make_unique<Grabber>(db, execPath, defaultCoverPath);
return std::make_unique<CoverService>(db, execPath, defaultCoverPath);
}
Grabber::Grabber(Database::Db& db,
CoverService::CoverService(Database::Db& db,
const std::filesystem::path& execPath,
const std::filesystem::path& defaultCoverPath)
: _db {db}
@@ -124,7 +124,7 @@ Grabber::Grabber(Database::Db& db,
}
std::unique_ptr<IEncodedImage>
Grabber::getFromAvMediaFile(const Av::IAudioFile& input, ImageSize width) const
CoverService::getFromAvMediaFile(const Av::IAudioFile& input, ImageSize width) const
{
std::unique_ptr<IEncodedImage> image;
@@ -149,7 +149,7 @@ Grabber::getFromAvMediaFile(const Av::IAudioFile& input, ImageSize width) const
}
std::unique_ptr<IEncodedImage>
Grabber::getFromCoverFile(const std::filesystem::path& p, ImageSize width) const
CoverService::getFromCoverFile(const std::filesystem::path& p, ImageSize width) const
{
std::unique_ptr<IEncodedImage> image;
@@ -168,7 +168,7 @@ Grabber::getFromCoverFile(const std::filesystem::path& p, ImageSize width) const
}
std::shared_ptr<IEncodedImage>
Grabber::getDefault(ImageSize width)
CoverService::getDefault(ImageSize width)
{
{
std::shared_lock lock {_cacheMutex};
@@ -192,7 +192,7 @@ Grabber::getDefault(ImageSize width)
}
std::unique_ptr<IEncodedImage>
Grabber::getFromDirectory(const std::filesystem::path& directory, ImageSize width) const
CoverService::getFromDirectory(const std::filesystem::path& directory, ImageSize width) const
{
const std::multimap<std::string, std::filesystem::path> coverPaths {getCoverPaths(directory)};
@@ -231,7 +231,7 @@ Grabber::getFromDirectory(const std::filesystem::path& directory, ImageSize widt
}
std::unique_ptr<IEncodedImage>
Grabber::getFromSameNamedFile(const std::filesystem::path& filePath, ImageSize width) const
CoverService::getFromSameNamedFile(const std::filesystem::path& filePath, ImageSize width) const
{
std::unique_ptr<IEncodedImage> res;
@@ -252,7 +252,7 @@ Grabber::getFromSameNamedFile(const std::filesystem::path& filePath, ImageSize w
}
bool
Grabber::checkCoverFile(const std::filesystem::path& filePath) const
CoverService::checkCoverFile(const std::filesystem::path& filePath) const
{
std::error_code ec;
@@ -275,7 +275,7 @@ Grabber::checkCoverFile(const std::filesystem::path& filePath) const
}
std::multimap<std::string, std::filesystem::path>
Grabber::getCoverPaths(const std::filesystem::path& directoryPath) const
CoverService::getCoverPaths(const std::filesystem::path& directoryPath) const
{
std::multimap<std::string, std::filesystem::path> res;
std::error_code ec;
@@ -296,7 +296,7 @@ Grabber::getCoverPaths(const std::filesystem::path& directoryPath) const
}
std::unique_ptr<IEncodedImage>
Grabber::getFromTrack(const std::filesystem::path& p, ImageSize width) const
CoverService::getFromTrack(const std::filesystem::path& p, ImageSize width) const
{
std::unique_ptr<IEncodedImage> image;
@@ -313,13 +313,13 @@ Grabber::getFromTrack(const std::filesystem::path& p, ImageSize width) const
}
std::shared_ptr<IEncodedImage>
Grabber::getFromTrack(Database::TrackId trackId, ImageSize width)
CoverService::getFromTrack(Database::TrackId trackId, ImageSize width)
{
return getFromTrack(_db.getTLSSession(), trackId, width, true /* allow release fallback*/);
}
std::shared_ptr<IEncodedImage>
Grabber::getFromTrack(Database::Session& dbSession, Database::TrackId trackId, ImageSize width, bool allowReleaseFallback)
CoverService::getFromTrack(Database::Session& dbSession, Database::TrackId trackId, ImageSize width, bool allowReleaseFallback)
{
using namespace Database;
@@ -357,7 +357,7 @@ Grabber::getFromTrack(Database::Session& dbSession, Database::TrackId trackId, I
}
std::shared_ptr<IEncodedImage>
Grabber::getFromRelease(Database::ReleaseId releaseId, ImageSize width)
CoverService::getFromRelease(Database::ReleaseId releaseId, ImageSize width)
{
const CacheEntryDesc cacheEntryDesc {releaseId, width};
@@ -409,7 +409,7 @@ Grabber::getFromRelease(Database::ReleaseId releaseId, ImageSize width)
}
void
Grabber::flushCache()
CoverService::flushCache()
{
std::unique_lock lock {_cacheMutex};
@@ -421,7 +421,7 @@ Grabber::flushCache()
}
void
Grabber::setJpegQuality(unsigned quality)
CoverService::setJpegQuality(unsigned quality)
{
_jpegQuality = Utils::clamp<unsigned>(quality, 1, 100);
@@ -429,7 +429,7 @@ Grabber::setJpegQuality(unsigned quality)
}
void
Grabber::saveToCache(const CacheEntryDesc& entryDesc, std::shared_ptr<IEncodedImage> image)
CoverService::saveToCache(const CacheEntryDesc& entryDesc, std::shared_ptr<IEncodedImage> image)
{
std::unique_lock lock {_cacheMutex};
@@ -445,7 +445,7 @@ Grabber::saveToCache(const CacheEntryDesc& entryDesc, std::shared_ptr<IEncodedIm
}
std::shared_ptr<IEncodedImage>
Grabber::loadFromCache(const CacheEntryDesc& entryDesc)
CoverService::loadFromCache(const CacheEntryDesc& entryDesc)
{
std::shared_lock lock {_cacheMutex};
@@ -460,5 +460,5 @@ Grabber::loadFromCache(const CacheEntryDesc& entryDesc)
return it->second;
}
} // namespace CoverArt
} // namespace Cover
@@ -29,7 +29,7 @@
#include <variant>
#include <vector>
#include "cover/ICoverArtGrabber.hpp"
#include "cover/ICoverService.hpp"
#include "cover/IEncodedImage.hpp"
#include "database/Types.hpp"
@@ -43,7 +43,7 @@ namespace Av
class IAudioFile;
}
namespace CoverArt
namespace Cover
{
struct CacheEntryDesc
{
@@ -57,16 +57,16 @@ namespace CoverArt
}
};
} // ns CoverArt
} // ns Cover
namespace std
{
template<>
class hash<CoverArt::CacheEntryDesc>
class hash<Cover::CacheEntryDesc>
{
public:
size_t operator()(const CoverArt::CacheEntryDesc& e) const
size_t operator()(const Cover::CacheEntryDesc& e) const
{
size_t h {};
std::visit([&](auto id)
@@ -81,19 +81,19 @@ namespace std
} // ns std
namespace CoverArt
namespace Cover
{
class Grabber : public IGrabber
class CoverService : public ICoverService
{
public:
Grabber(Database::Db& db,
CoverService(Database::Db& db,
const std::filesystem::path& execPath,
const std::filesystem::path& defaultCoverPath);
Grabber(const Grabber&) = delete;
Grabber& operator=(const Grabber&) = delete;
Grabber(Grabber&&) = delete;
Grabber& operator=(Grabber&&) = delete;
CoverService(const CoverService&) = delete;
CoverService& operator=(const CoverService&) = delete;
CoverService(CoverService&&) = delete;
CoverService& operator=(CoverService&&) = delete;
private:
std::shared_ptr<IEncodedImage> getFromTrack(Database::TrackId trackId, ImageSize width) override;
@@ -133,5 +133,5 @@ namespace CoverArt
unsigned _jpegQuality;
};
} // namespace CoverArt
} // namespace Cover
+2 -2
View File
@@ -21,7 +21,7 @@
#include "utils/Exception.hpp"
namespace CoverArt
namespace Cover
{
// internal use only
class ImageException : public LmsException
@@ -30,5 +30,5 @@ namespace CoverArt
using LmsException::LmsException;
};
} // namespace CoverArt
} // namespace Cover
+1 -1
View File
@@ -23,7 +23,7 @@
#include "cover/IEncodedImage.hpp"
namespace CoverArt
namespace Cover
{
class IRawImage
{
+1 -1
View File
@@ -25,7 +25,7 @@
#include "RawImage.hpp"
#include "Exception.hpp"
namespace CoverArt::STB
namespace Cover::STB
{
JPEGImage::JPEGImage(const RawImage& rawImage, unsigned quality)
{
+1 -1
View File
@@ -23,7 +23,7 @@
#include "cover/IEncodedImage.hpp"
namespace CoverArt::STB
namespace Cover::STB
{
class RawImage;
class JPEGImage : public IEncodedImage
+1 -1
View File
@@ -32,7 +32,7 @@
#include "Exception.hpp"
namespace CoverArt::STB
namespace Cover::STB
{
RawImage::RawImage(const std::byte* encodedData, std::size_t encodedDataSize)
{
+1 -1
View File
@@ -29,7 +29,7 @@
#include "cover/IEncodedImage.hpp"
#include "IRawImage.hpp"
namespace CoverArt::STB
namespace Cover::STB
{
class RawImage : public IRawImage
{
@@ -30,12 +30,12 @@ namespace Database
class Db;
}
namespace CoverArt
namespace Cover
{
class IGrabber
class ICoverService
{
public:
virtual ~IGrabber() = default;
virtual ~ICoverService() = default;
virtual std::shared_ptr<IEncodedImage> getFromTrack(Database::TrackId trackId, ImageSize width) = 0;
virtual std::shared_ptr<IEncodedImage> getFromRelease(Database::ReleaseId releaseId, ImageSize width) = 0;
@@ -45,9 +45,9 @@ namespace CoverArt
virtual void setJpegQuality(unsigned quality) = 0; // from 1 to 100
};
std::unique_ptr<IGrabber> createGrabber(Database::Db& db,
const std::filesystem::path& execPath,
const std::filesystem::path& defaultCoverPath);
std::unique_ptr<ICoverService> createCoverService(Database::Db& db,
const std::filesystem::path& execPath,
const std::filesystem::path& defaultCoverPath);
} // namespace CoverArt
@@ -22,7 +22,7 @@
#include <cstddef>
#include <string_view>
namespace CoverArt
namespace Cover
{
using ImageSize = std::size_t;
@@ -36,5 +36,5 @@ namespace CoverArt
virtual std::string_view getMimeType() const = 0;
};
} // namespace CoverArt
} // namespace Cover
+4 -4
View File
@@ -28,7 +28,7 @@
#include "auth/IPasswordService.hpp"
#include "auth/IEnvService.hpp"
#include "cover/ICoverArtGrabber.hpp"
#include "cover/ICoverService.hpp"
#include "database/Artist.hpp"
#include "database/Cluster.hpp"
#include "database/Db.hpp"
@@ -1802,11 +1802,11 @@ handleGetCoverArt(RequestContext& context, const Wt::Http::Request& /*request*/,
std::size_t size {getParameterAs<std::size_t>(context.parameters, "size").value_or(256)};
size = Utils::clamp(size, std::size_t {32}, std::size_t {1024});
std::shared_ptr<CoverArt::IEncodedImage> cover;
std::shared_ptr<Cover::IEncodedImage> cover;
if (trackId)
cover = Service<CoverArt::IGrabber>::get()->getFromTrack(*trackId, size);
cover = Service<Cover::ICoverService>::get()->getFromTrack(*trackId, size);
else if (releaseId)
cover = Service<CoverArt::IGrabber>::get()->getFromRelease(*releaseId, size);
cover = Service<Cover::ICoverService>::get()->getFromRelease(*releaseId, size);
response.out().write(reinterpret_cast<const char*>(cover->getData()), cover->getDataSize());
response.setMimeType(std::string {cover->getMimeType()});