{
public:
explicit PictureFrame(const char *path)
- : stream(path, true) {}
+ : __stream(path, true) {}
virtual ~PictureFrame() = default;
ByteVector data() {
- return stream.readBlock(stream.length());
+ return __stream.readBlock(__stream.length());
}
String mime() const {
- return __get_picture_type(stream.name());
+ return __get_picture_type(__stream.name());
}
bool opened() const {
- return stream.isOpen();
+ return __stream.isOpen();
}
MP4::CoverArt::Format mp4format() const {
}
private:
- FileStream stream;
+ FileStream __stream;
};
template <class T>
static int __remove_ogg_picture(Ogg::XiphComment *xtag, int index)
{
ME_RETVM_IF(!xtag, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid XiphComment");
+ ME_RETV_IF(!__is_valid_index(xtag->pictureList(), index), METADATA_EDITOR_ERROR_INVALID_PARAMETER);
- auto lst = xtag->pictureList();
- ME_RETV_IF(!__is_valid_index(lst, index), METADATA_EDITOR_ERROR_INVALID_PARAMETER);
-
- List<FLAC::Picture*>::Iterator it = lst.begin();
- std::advance(it, index);
-
+ auto it = std::next(xtag->pictureList().begin(), index);
xtag->removePicture(*it, true);
return METADATA_EDITOR_ERROR_NONE;
class Mp3AlbumArt : public IAlbumArt {
public:
explicit Mp3AlbumArt(FileRef *fileref)
- : file(dynamic_cast<MPEG::File *>(fileref->file())) {}
+ : __file(dynamic_cast<MPEG::File *>(fileref->file())) {}
~Mp3AlbumArt() override = default;
int append(PictureFrame &pic) override {
- return __append_APIC(file->ID3v2Tag(true), pic);
+ return __append_APIC(__file->ID3v2Tag(true), pic);
}
int remove(int index) override {
- return __remove_APIC(file->ID3v2Tag(), index);
+ return __remove_APIC(__file->ID3v2Tag(), index);
}
int read(int index, void **picture, int *size, char **mime_type) override {
- return __get_APIC(file->ID3v2Tag(), index, picture, size, mime_type);
+ return __get_APIC(__file->ID3v2Tag(), index, picture, size, mime_type);
}
uint count() override {
- return file->ID3v2Tag() ? file->ID3v2Tag()->frameListMap()["APIC"].size() : 0;
+ return __file->ID3v2Tag() ? __file->ID3v2Tag()->frameListMap()["APIC"].size() : 0;
}
private:
- MPEG::File *file;
+ MPEG::File *__file;
};
class Mp4AlbumArt : public IAlbumArt {
public:
explicit Mp4AlbumArt(FileRef *fileref)
- : file(dynamic_cast<MP4::File *>(fileref->file())) {}
+ : __file(dynamic_cast<MP4::File *>(fileref->file())) {
+ if (__file && __file->tag()->contains("covr"))
+ __coverList = __file->tag()->item("covr").toCoverArtList();
+ }
~Mp4AlbumArt() override = default;
int append(PictureFrame &pic) override {
- MP4::CoverArtList lst;
-
- if (file->tag()->contains("covr")) {
- ME_INFO("The item <covr> exists. Adding picture");
- lst = file->tag()->item("covr").toCoverArtList();
- }
-
- lst.append(MP4::CoverArt(pic.mp4format(), pic.data()));
- file->tag()->setItem("covr", lst);
+ __coverList.append(MP4::CoverArt(pic.mp4format(), pic.data()));
+ __file->tag()->setItem("covr", __coverList);
return METADATA_EDITOR_ERROR_NONE;
}
int remove(int index) override {
- ME_RETVM_IF(!(file->tag()->contains("covr")), METADATA_EDITOR_ERROR_INVALID_PARAMETER, "No picture");
- auto lst = file->tag()->item("covr").toCoverArtList();
- ME_RETV_IF(!__is_valid_index(lst, index), METADATA_EDITOR_ERROR_INVALID_PARAMETER);
+ ME_RETV_IF(!__is_valid_index(__coverList, index), METADATA_EDITOR_ERROR_INVALID_PARAMETER);
- auto picIt = lst.begin();
- std::advance(picIt, index);
- lst.erase(picIt);
-
- file->tag()->setItem("covr", lst); //?? FIX ME!
+ __coverList.erase(std::next(__coverList.begin(), index));
+ __file->tag()->setItem("covr", __coverList);
return METADATA_EDITOR_ERROR_NONE;
}
int read(int index, void **picture, int *size, char **mime_type) override {
- ME_RETVM_IF(!(file->tag()->contains("covr")), METADATA_EDITOR_ERROR_INVALID_PARAMETER, "No picture");
- auto lst = file->tag()->item("covr").toCoverArtList();
- ME_RETV_IF(!__is_valid_index(lst, index), METADATA_EDITOR_ERROR_INVALID_PARAMETER);
+ ME_RETV_IF(!__is_valid_index(__coverList, index), METADATA_EDITOR_ERROR_INVALID_PARAMETER);
- auto coverArt = static_cast<MP4::CoverArt>(lst[index]);
+ auto coverArt = static_cast<MP4::CoverArt>(__coverList[index]);
int coverArtSize = coverArt.data().size();
ME_RETVM_IF(coverArtSize == 0, METADATA_EDITOR_ERROR_OPERATION_FAILED, "Size of picture is 0");
}
uint count() override {
- return (file->tag() && file->tag()->contains("covr")) ? file->tag()->item("covr").toCoverArtList().size() : 0;
+ return __coverList.size();
}
private:
- MP4::File *file;
+ MP4::File *__file;
+ MP4::CoverArtList __coverList;
};
class FlacAlbumArt : public IAlbumArt {
public:
explicit FlacAlbumArt(FileRef *fileref)
- : file(dynamic_cast<FLAC::File *>(fileref->file())) {}
+ : __file(dynamic_cast<FLAC::File *>(fileref->file())) {}
~FlacAlbumArt() override = default;
int append(PictureFrame &pic) override {
auto frontCover = new FLAC::Picture;
frontCover->setData(pic.data());
frontCover->setMimeType(pic.mime());
- file->addPicture(frontCover);
+ __file->addPicture(frontCover);
return METADATA_EDITOR_ERROR_NONE;
}
int remove(int index) override {
- auto lst = file->pictureList();
+ auto lst = __file->pictureList();
ME_RETV_IF(!__is_valid_index(lst, index), METADATA_EDITOR_ERROR_INVALID_PARAMETER);
- file->removePicture(lst[index], true);
+ __file->removePicture(lst[index], true);
return METADATA_EDITOR_ERROR_NONE;
}
int read(int index, void **picture, int *size, char **mime_type) override {
- return __get_flac_picture(file->pictureList(), index, picture, size, mime_type);
+ return __get_flac_picture(__file->pictureList(), index, picture, size, mime_type);
}
uint count() override {
- return file->pictureList().size();
+ return __file->pictureList().size();
}
private:
- FLAC::File *file;
+ FLAC::File *__file;
};
class OggVorbisAlbumArt : public IAlbumArt {
public:
explicit OggVorbisAlbumArt(FileRef *fileref)
- : file(dynamic_cast<Ogg::Vorbis::File *>(fileref->file())) {}
+ : __file(dynamic_cast<Ogg::Vorbis::File *>(fileref->file())) {}
~OggVorbisAlbumArt() override = default;
int append(PictureFrame &pic) override {
- return __append_ogg_picture(file->tag(), pic);
+ return __append_ogg_picture(__file->tag(), pic);
}
int remove(int index) override {
- return __remove_ogg_picture(file->tag(), index);
+ return __remove_ogg_picture(__file->tag(), index);
}
int read(int index, void **picture, int *size, char **mime_type) override {
- ME_RETVM_IF(!file->tag(), METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid XiphComment");
- return __get_flac_picture(file->tag()->pictureList(), index, picture, size, mime_type);
+ ME_RETVM_IF(!__file->tag(), METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid XiphComment");
+ return __get_flac_picture(__file->tag()->pictureList(), index, picture, size, mime_type);
}
uint count() override {
- return file->tag() ? file->tag()->pictureList().size() : 0;
+ return __file->tag() ? __file->tag()->pictureList().size() : 0;
}
private:
- Ogg::Vorbis::File *file;
+ Ogg::Vorbis::File *__file;
};
class OggFlacAlbumArt : public IAlbumArt {
public:
explicit OggFlacAlbumArt(FileRef *fileref)
- : file(dynamic_cast<Ogg::FLAC::File *>(fileref->file())) {}
+ : __file(dynamic_cast<Ogg::FLAC::File *>(fileref->file())) {}
~OggFlacAlbumArt() override = default;
int append(PictureFrame &pic) override {
- return __append_ogg_picture(file->tag(), pic);
+ return __append_ogg_picture(__file->tag(), pic);
}
int remove(int index) override {
- return __remove_ogg_picture(file->tag(), index);
+ return __remove_ogg_picture(__file->tag(), index);
}
int read(int index, void **picture, int *size, char **mime_type) override {
- ME_RETVM_IF(!file->tag(), METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid XiphComment");
- return __get_flac_picture(file->tag()->pictureList(), index, picture, size, mime_type);
+ ME_RETVM_IF(!__file->tag(), METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid XiphComment");
+ return __get_flac_picture(__file->tag()->pictureList(), index, picture, size, mime_type);
}
uint count() override {
- return file->tag() ? file->tag()->pictureList().size() : 0;
+ return __file->tag() ? __file->tag()->pictureList().size() : 0;
}
private:
- Ogg::FLAC::File *file;
+ Ogg::FLAC::File *__file;
};
class WavAlbumArt : public IAlbumArt {
public:
explicit WavAlbumArt(FileRef *fileref)
- : file(dynamic_cast<RIFF::WAV::File *>(fileref->file())) {}
+ : __file(dynamic_cast<RIFF::WAV::File *>(fileref->file())) {}
~WavAlbumArt() override = default;
int append(PictureFrame &pic) override {
- return __append_APIC(file->tag(), pic);
+ return __append_APIC(__file->tag(), pic);
}
int remove(int index) override {
- return __remove_APIC(file->tag(), index);
+ return __remove_APIC(__file->tag(), index);
}
int read(int index, void **picture, int *size, char **mime_type) override {
- return __get_APIC(file->tag(), index, picture, size, mime_type);
+ return __get_APIC(__file->tag(), index, picture, size, mime_type);
}
uint count() override {
- return file->tag() ? file->tag()->frameListMap()["APIC"].size() : 0;
+ return __file->tag() ? __file->tag()->frameListMap()["APIC"].size() : 0;
}
private:
- RIFF::WAV::File *file;
+ RIFF::WAV::File *__file;
};
class AlbumArtFactory {
if (_metadata->fref) {
ME_INFO("file free [%p]", _metadata->fref);
delete _metadata->fref;
- if (_metadata->ifart)
- delete _metadata->ifart;
+ delete _metadata->ifart;
}
try {