2016-02-05, 19:17
I'm probably missing something but I don't even understand why you'd want multiple images embedded in your files, surely for consistency you want the same image in both itunes and Kodi so just have a single cover embedded
(2016-02-10, 14:10)Syncopation Wrote: @jjd-uk: Well as a music lover you do not only want the cover. You want the full thing. Back when CDs where a thing, there used to be booklets and sometimes those had incredibly nice information.
(2016-02-26, 12:32)Syncopation Wrote: @DaveBlake: Do you have more detailed info on if this should work? It would at least be a workaround. And if images are set as "cover image" kodi should pick up on them as expected.
Can you confirm this is working / not working as expected?
else if (it->first == "APIC")
// Loop through all pictures and store the frame pointers for the picture types we want
for (ID3v2::FrameList::ConstIterator pi = it->second.begin(); pi != it->second.end(); ++pi)
{
ID3v2::AttachedPictureFrame *pictureFrame = dynamic_cast<ID3v2::AttachedPictureFrame *> (*pi);
if (!pictureFrame) continue;
if (pictureFrame->type() == ID3v2::AttachedPictureFrame::FrontCover) pictures[0] = pictureFrame;
else if (pictureFrame->type() == ID3v2::AttachedPictureFrame::Other) pictures[1] = pictureFrame;
else if (pi == it->second.begin()) pictures[2] = pictureFrame;
}
// Process the extracted picture frames; 0 = CoverArt, 1 = Other, 2 = First Found picture
for (int i = 0; i < 3; ++i)
if (pictures[i])
{
std::string mime = pictures[i]->mimeType().to8Bit(true);
TagLib::uint size = pictures[i]->picture().size();
tag.SetCoverArtInfo(size, mime);
if (art)
art->set((const uint8_t*)pictures[i]->picture().data(), size, mime);
// Stop after we find the first picture for now.
break;
}
(2016-02-26, 17:19)DaveBlake Wrote: If only one image is tagged as FrontCover then Kodi should (looking at the code) take that as the cover art image.