7 virtual const void * get_ptr()
const = 0;
14 if (s != v2.
get_size())
return false;
28 static const GUID cover_front = { 0xf1e66f4e, 0xfe09, 0x4b94, { 0x91, 0xa3, 0x67, 0xc2, 0x3e, 0xd1, 0x44, 0x5e } };
30 static const GUID cover_back = { 0xcb552d19, 0x86d5, 0x434c, { 0xac, 0x77, 0xbb, 0x24, 0xed, 0x56, 0x7e, 0xe4 } };
32 static const GUID disc = { 0x3dba9f36, 0xf928, 0x4fa4, { 0x87, 0x9c, 0xd3, 0x40, 0x47, 0x59, 0x58, 0x7e } };
34 static const GUID icon = { 0x74cdf5b4, 0x7053, 0x4b3d, { 0x9a, 0x3c, 0x54, 0x69, 0xf5, 0x82, 0x6e, 0xec } };
36 static const GUID artist = { 0x9a654042, 0xacd1, 0x43f7, { 0xbf, 0xcf, 0xd3, 0xec, 0xf, 0xfe, 0x40, 0xfa } };
40 PFC_DECLARE_EXCEPTION(exception_album_art_not_found,exception_io_not_found,
"Attached picture not found");
41 PFC_DECLARE_EXCEPTION(exception_album_art_unsupported_entry,exception_io_data,
"Unsupported attached picture entry");
43 PFC_DECLARE_EXCEPTION(exception_album_art_unsupported_format,exception_io_data,
"Attached picture operations not supported for this file format");
53 try { out = query(what, abort);
return true; }
catch(exception_album_art_not_found) {
return false; }
65 virtual void remove(
const GUID & p_what) = 0;
75 virtual void remove_all() = 0;
88 virtual bool is_our_path(
const char * p_path,
const char * p_extension) = 0;
96 static bool g_is_supported_path(
const char * path);
109 virtual bool is_our_path(
const char * p_path,
const char * p_extension) = 0;
119 static bool g_is_supported_path(
const char * path);
146 virtual const char * get_path(
t_size index)
const = 0;
147 virtual t_size get_count()
const = 0;
154 virtual album_art_path_list::ptr query_paths(
const GUID & p_what,
abort_callback & p_abort) = 0;
168 virtual album_art_extractor_instance_v2::ptr open_stub(
abort_callback & abort) = 0;
186 virtual bool use_embedded_pictures() = 0;
187 virtual bool use_fallbacks() = 0;
t_filesize get_size(HANDLE p_handle)
service_ptr_t< file > file_ptr
PFC_DECLARE_EXCEPTION(exception_album_art_not_found, exception_io_not_found,"Attached picture not found")
bool operator==(const album_art_data &other) const
static const GUID artist
Artist picture.
static const GUID cover_back
Back cover.
static const GUID icon
Album-specific icon (NOT a file type icon).
virtual t_size get_size() const =0
Retrieves size of the memory block containing the picture.
Common class for handling picture data. Type of contained picture data is unknown and to be determin...
Entrypoint class for accessing album art editing functionality. Register your own implementation to a...
bool operator!=(const album_art_data &other) const
service_ptr_t< album_art_extractor_instance > album_art_extractor_instance_ptr
Helper API for extracting album art from APEv2 tags - introduced in 0.9.5.
Album art path list - see album_art_extractor_instance_v2.
Base class for all service classes. Provides interfaces for reference counter and querying for differ...
static bool equals(album_art_data const &v1, album_art_data const &v2)
Determine whether two album_art_data objects store the same picture data.
Class encapsulating access to album art stored in a media file. Use album_art_editor class to obtain ...
Autopointer class to be used with all services. Manages reference counter calls behind-the-scenes.
Namespace containing identifiers of album art types.
service_ptr_t< album_art_data > album_art_data_ptr
static const GUID cover_front
Front cover.
static const GUID disc
Picture of a disc or other storage media.
virtual const void * get_ptr() const =0
Retrieves a pointer to a memory block containing the picture.
service_ptr_t< album_art_editor_instance > album_art_editor_instance_ptr
bool equals(const t1 &v1, const t2 &v2)