groovebasin icon indicating copy to clipboard operation
groovebasin copied to clipboard

album art

Open emersion opened this issue 10 years ago • 12 comments

Make the UI more beautiful. :-P

I'm not a designer, but I'll try to improve some elements, such as list items.

emersion avatar Aug 02 '15 07:08 emersion

I have a branch started for this, with quite a lot of work done. It's here: https://github.com/andrewrk/groovebasin/tree/mel-ui

I wanted to update the color scheme and got stuck there and allowed myself to become discouraged. It adds in a toggleable side menu, removes the need for JS absolute positioning of the three major view elements, and attempts to tidy up the view. Album art was something I wanted to add too, but apparently that's not as straightforward as I previously hoped.

malakada avatar Aug 02 '15 14:08 malakada

Cool, I'll have a look tonight :-)

Isn't it possible to retrieve coverarts with the last.fm client library?

emersion avatar Aug 02 '15 15:08 emersion

Ah is it time to have the cover art discussion?

Here are some quick things:

  • some tracks contain cover art embedded in the file. In this case the server should send the client the art without hitting a third party server.
  • getting album art, from the client's perspective, should happen in only one way, for simplicity's sake.
  • thus it is the server's job to get all album art
  • server should cache the album art, only get it once from a third party server.
  • need to decide what the canonical place to store album art is. Is it folder.jpg in the album folder? Is it embedded in each track with the tags? Is it in the groovebasin db only? Files on disc or embedded in db?

andrewrk avatar Aug 02 '15 16:08 andrewrk

Re cover art: The popular music site bandcamp.com saves cover art as cover.jpg in the same directory as the music. As a bandcamp user I would assume this is the default place for album art, but other sites seem to have different standards. It looks like itunes puts the cover art into a separate directory nowadays, while Amazon seems to be embedding it in the music files. So it might make sense to have a hierarchy like

  • first look in the file for embedded art
  • then check the directory of the file for likely filenames (cover.jpg, whatever)
  • then check the iTunes/Cover Art directory, if available

mbelow avatar Aug 02 '15 20:08 mbelow

Here is what GNOME guys are doing: https://wiki.gnome.org/action/show/DraftSpecs/MediaArtStorageSpec?action=show&redirect=MediaArtStorageSpec#Heuristics_for_finding_media_art

I like the idea of storing a cover.jpg file because it is a common database for all music players, but it becomes tricky to find out the album folder when music files are not properly sorted by album in folders (e.g. something like Artist/Album/Track). For instance, I have some unsorted music files in my ~/Music folder, and I don't want a music player to create a ~/Music/cover.jpg file. So it would be easier to create a global cache (like GNOME, something like $XDG_CACHE_HOME/media-art/A-B-C.jpeg).

emersion avatar Aug 02 '15 20:08 emersion

I'm interested in implementing the cover art feature and have already done a first prototype (well that was 3 months ago). It works by using the first jpg it finds inside the album folder or otherwise by pulling the cover via the last.fm api, but there still a lot of bugs.

Also I would really like to get the cover art that is embedded inside the music files because that's what my music library mostly uses. But I'm not sure how to do that yet. Additionally I have no idea where to put the cover art inside the player. Currently it is just below the progress bar.

gorlug avatar Oct 03 '15 16:10 gorlug

Here's some inspiration: https://github.com/moonwave99/playa

Also here's what I'm working on in the libgroove-master branch. Once libgroove 5.0.0 is released I'll merge this in.

andrewrk avatar Oct 03 '15 20:10 andrewrk

I improved my cover art implementation and have used it for a while without problems. The implementation first looks for am embedded image in the file, then for the first jpg file in the same folder and finally it downloads a cover from last.fm. Currently png files are not handled. This is the branch: https://github.com/gorlug/groovebasin/tree/album-cover

gorlug avatar Nov 09 '15 09:11 gorlug

@gorlug cool. I took a peek at the code. Do you have a screenshot of it in action?

andrewrk avatar Nov 09 '15 09:11 andrewrk

Yes here it is: groovebasin_album_art

I also forgot to mention that by default it is deactivated and to activate it you have to put

albumArt: true

into the config.

gorlug avatar Nov 09 '15 10:11 gorlug

I love what you're thinking of andrewrk, that's a fantastic progress bar. As long as there's an option to disable the album art it works perfectly from my point of view.

nubjub avatar Nov 17 '15 19:11 nubjub

I'm hijacking this thread for album art. @emersion if you want to make a UI redesign, have at it. I suggest making small incremental improvements as pull requests.

Does anyone have example audio files that match these criteria? (I already have examples of the checked ones.)

  • [x] MP3 file with album art (note to self: but home is nowhere)
  • [x] OGG (vorbis, FLAC, or opus) file with album art (note to self: det var han; regain control)
  • [x] MP4 (or m4a) file with album art (note to self: eddie money take me home tonight)
  • [ ] WMA file with album art
  • [ ] Any other containers that are important to you?

https://github.com/andrewrk/libgroove/issues/122

andrewrk avatar Nov 19 '15 01:11 andrewrk