Closed IBPX closed 5 years ago
It took me a while to realize it, but yes this feature is sorely missed!
Album covers should follow this process:
if folder.[jpg|png] or cover.[jpg|png]:
use it
elif album cover image in any of the music files:
use it
elif album cover can be downloaded online:
use it
else:
display generic image
It's great to have Odyssey looking for an album cover online, but if there is already one available in the directory or in the music files metadata, it should be used.
Extra bonus if you manage the multi-CD cases:
Artist
└── Album Title
├── CD1
│ ├── 01.flac
│ ├── …
│ └── 10.flac
├── CD2
│ ├── 01.flac
│ ├── …
│ └── 10.flac
└── cover.jpg
In this case, cover.jpg
should be used for both CD1
and CD2
directories.
Thanks and keep up the good work! Odyssey is a fantastic Android music player!
Totally agree, @pieqq ! There should at least be an option to set the cover manually if you aren't happy with the one Odyssey gives you.
Any news about using jpg stored inside folder?
@therob84, Odyssey is libre software, made with love by a bunch of great developers on their spare time. Since it's libre, it means anyone who wants this feature can implement it and propose a Pull Request to get it merged.
I haven't touched Java code in years, and I've never done much Android development, but I suppose a new art provider should be created to check for existence of local file and add it to the artwork database if it does.
Now, either one of us here implement that feature, either we wait for one of the dev to decide to tackle it :)
Hi, sorry for the long delay.
I already created a branch for this (see https://github.com/gateship-one/odyssey/tree/use_local_images). It is nearly finished but in my case an image that is stored in the same folder as the music files will be added to the android media database and should already be used by odyssey.
So in my point of view this branch will not change anything but maybe I just missunderstood the issue.
If anyone is interested you could checkout the branch and build odyssey for yourself and see if it makes any difference. Or I could provide a apk, but keep in mind this apk will be signed with other credentials than the version provided by F-Droid and if you want to switch back you have to clear the app data.
Any feedback is welcome.
What are the rules on which image it uses? I have some albums where Odyssey has decided to use the back cover, which is not what I want.
Hi, we always prefer the image stored in the android media database. If there is no image we then check last.fm or musicbrainz depending on the settings of odyssey.
In the mentioned branch we will check if there is an image in the same folder as the music of an album that matches the pattern {cover|folder|artork}.{jpg|jpeg|png}. If there are more images we will simply pick one from them. But as I mentioned before this solution seems not to work because the images will already be added to the android media database.
So I guess in your case there are back cover images in your music folders and the android system adds them to the media database.
If anyone is interested you could checkout the branch and build odyssey for yourself and see if it makes any difference. Or I could provide a apk, but keep in mind this apk will be signed with other credentials than the version provided by F-Droid and if you want to switch back you have to clear the app data.
I would be interested in testing this, can you upload an APK? I disabled metadata lookups in Odyssey, both for privacy reasons and to keep my data traffic low. On the other hand, I do have cover images in the form of cover.jpg
etc., so it would be great if these could be used to feed the media database.
Hi, I updated the branch and disabled the android media database for the lookup for cover arts. So the uploaded apk will always try to use a local file or use the odyssey metadata lookup if enabled.
Be aware you have to uninstall a previous version of odyssey before.
:+1: Works!
When scrolling through the album list, the album art is initially blank and then appears shortly afterwards. Is Odyssey reading the files every time it loads cover art, or is this just a visual effect? If it's the former, would it be possible to import local cover art into the media database, if the media database doesn't contain anything?
Hi, thanks for your feedback. We will consider integrate the tested solution in some sort in one of the next releases.
And thanks for your suggestion but using the media database should not affect the loading speed. Maybe using the media database is faster because the stored images are much smaller but this is the only difference I can think of why it should be faster using the media database. In any case disable the lookup in the media database is an important part solving this issue.
Support for local album images is finally integrated in the current release of Odyssey.
If anyone is interested testing it, you could enable this feature in the Artwork Settings of Odyssey. It should work with album covers in the same folder as tracks and that are named cover, folder or artwork. It should work for png and jpg.
Sorry, this somehow slipped my mind. I have tested with image providers disabled and "Use local album images" turned on now and it works very well for me. My album folders usually contain a cover.jpg
and unlike before, they're all showing up now. My sanity is saved!
I re-installed Odyssey to try this feature. At first it didn't seem to work, but after clearing the album images and blocked album images a couple of times and force-stopping and restarting Odyssey, it looks like it's working fine now!
Thanks a lot!!!
Thanks for your feedback, we are glad to hear everthing is working as expected.
It is somewhat common practice to keep the album art in cover.jpg, folder.jpg, or their PNG versions. Odyssey could check if these files exist and use them for album and artist covers when none are stored in the music files themselves (or in the case of artists, either where none are found online).
This would be nice for dealing with multiple artists with the same name, as the wrong artist is chosen.