
I'll check further. So far I have never noticed any delay in the artwork loading (between sessions).

MountainX, are you sure it's caching? I have never found a caching function for GMB, and like hutber, it always has to read right from the disk.
This used to be fine, because I have an SSD. However, I have found that the new GMB, which uses GTK3, takes noticeably longer to load album art. Also, if I'm reading files from an external drive or SD card, it is very slow.
Now, GMB will cache artwork in the session. So if I go to a filter with a bunch of albums, they might take a while to load in, but then when I go back to that filter, those images are still in RAM so they load instantly. But it would be cool if everything would load instantly, between sessions.
This used to be fine, because I have an SSD. However, I have found that the new GMB, which uses GTK3, takes noticeably longer to load album art. Also, if I'm reading files from an external drive or SD card, it is very slow.
Now, GMB will cache artwork in the session. So if I go to a filter with a bunch of albums, they might take a while to load in, but then when I go back to that filter, those images are still in RAM so they load instantly. But it would be cool if everything would load instantly, between sessions.

A screenshot is attached. Hopefully you all can see it inline. If not, here is the URL: https://ibb.co/1rR2SyQ

I came here to post a question about cover art, but I have found a solution.
So sometimes, if I have two different albums with the same name, gmb will show the same cover art for both. No matter what I do — renaming the album, removing and re-adding songs, even changing the filenames — nothing will get the album art to show properly.
You can right click an album cover and replace the picture with a file for that album, but this requires that cover art image to stay in place. If you keep your art embedded in the MP3s, this isn't a great solution.
However, you can right click to set the album art, and then choose one of the mp3s themselves as the source. As long as your album art is embedded correctly, this will set the art to what it's supposed to be.
So sometimes, if I have two different albums with the same name, gmb will show the same cover art for both. No matter what I do — renaming the album, removing and re-adding songs, even changing the filenames — nothing will get the album art to show properly.
You can right click an album cover and replace the picture with a file for that album, but this requires that cover art image to stay in place. If you keep your art embedded in the MP3s, this isn't a great solution.
However, you can right click to set the album art, and then choose one of the mp3s themselves as the source. As long as your album art is embedded correctly, this will set the art to what it's supposed to be.

First let me thank you for this wounderful software. Its really impressive what it can do and how you can customize it.
I using gmb for quite some time but never got around to look into the layouts. Now I did and have a technical question.
I would like to put two elements in a vertical box and allow the user to change the position between the two, i.e. change the size. This works fine horizontally, but not vertically. I have not seen that case in one of the default layouts, so I do not where to look for an example.
Consider
When I do serveral Columns I can change the horizontal size but not the vertical one.
I using gmb for quite some time but never got around to look into the layouts. Now I did and have a technical question.
I would like to put two elements in a vertical box and allow the user to change the position between the two, i.e. change the size. This works fine horizontally, but not vertically. I have not seen that case in one of the default layouts, so I do not where to look for an example.
Consider
Code Select
VBColumn = _HBone _HBtwo
HBone = FilterPane1(..)
HBone = FilterPane2(..)
When I do serveral Columns I can change the horizontal size but not the vertical one.

GMB is caching album artwork for me. I did not have to do anything to achieve this.

Please don't accept my reply as the authoritative solution as I am new to GMB. But I think if you remove (or rename) the following file it will completely clear the library and all your settings, making GMB like a fresh installation:
/home/<your_user>/.config/gmusicbrowser/gmbrc
You can also edit the file with a text editor.
/home/<your_user>/.config/gmusicbrowser/gmbrc
You can also edit the file with a text editor.

I completely share your appreciation for this really amazing music player! I've been using it for a few months and it continues to impress me every day. I am so thankful to have this player available. I have sent a couple donations to the developer and I will send more.

Sorry for not replying sooner.
I do plan to enable user-defined tags, it's mostly a gui-problem as most of the needed capabilities are already coded.
Though concerning the rating field, I could easily improve it to support more standards. Though I could use some help to know what standards are being used by other players.
If you're adventurous, you could be interested in the technical details of how the tags are defined in gmb, for the rating field, it's currently (from gmusicbrowser_songs.pm):
For reading the first one found is used, except for multi-value fields that use all found tags.
Also there is an optional function to convert the value, so 'five( TXXX;rating;%v )' will use the function defined in 'postread:five' to convert the value it reads. And, if it used "&" or "&?", it could use a function that would be defined in prewrite:five to convert the value before writing.
something like:
About using POPM, I'll have to look, it might be a bit more complicated because it includes a playcount (in addition to using a stupid 0-255 scale)
I do plan to enable user-defined tags, it's mostly a gui-problem as most of the needed capabilities are already coded.
Though concerning the rating field, I could easily improve it to support more standards. Though I could use some help to know what standards are being used by other players.
If you're adventurous, you could be interested in the technical details of how the tags are defined in gmb, for the rating field, it's currently (from gmusicbrowser_songs.pm):
Code Select
id3v2 => 'TXXX;FMPS_Rating_User;%v::%i & TXXX;FMPS_Rating;%v | percent( TXXX;gmbrating;%v ) | five( TXXX;rating;%v )',
vorbis => 'FMPS_RATING_USER::%i & FMPS_RATING | percent( gmbrating ) | five( rating )',
ape => 'FMPS_RATING_USER::%i & FMPS_RATING | percent( gmbrating ) | five( rating )',
ilst => '----FMPS_Rating_User::%i & ----FMPS_Rating | percent( ----gmbrating ) | five( ----rating )',
postread=> \&FMPS_rating_postread,
prewrite=> \&FMPS_rating_prewrite,
'postread:five'=> sub { my $v=shift; length $v && $v=~m/^\d+$/ && $v<=5 ? sprintf('%d',$v*20) : undef }, # for reading foobar2000 rating 0..5 ?
'postread:percent'=> sub { $_[0] }, # for anyone who used gmbrating
for each type, there is a list of tags, separated by either '&' or '|', and I recently added '&?', the first tag and tags after '&' are always written, '|' are deleted when a new value is written, and with '&?' the tag are only written if already in the file.For reading the first one found is used, except for multi-value fields that use all found tags.
Also there is an optional function to convert the value, so 'five( TXXX;rating;%v )' will use the function defined in 'postread:five' to convert the value it reads. And, if it used "&" or "&?", it could use a function that would be defined in prewrite:five to convert the value before writing.
something like:
Code Select
'prewrite:five'=> sub { my $v=shift; ($v eq '' || $v>100) ? '' : int($v/20) },
About using POPM, I'll have to look, it might be a bit more complicated because it includes a playcount (in addition to using a stupid 0-255 scale)

Rating tags are a bit of a mess.
Currently, gmb will only write ratings using the FMPS standard, which I'm afraid did not caught on. If that tag is not found, it will try to read a 1-5 "rating" tag, which I thought fb2000 used, but maybe they changed that, I see (https://wiki.hydrogenaud.io/index.php?title=Foobar2000:ID3_Tag_Mapping) that for mp3 they use the POPM id3v2 tag, which I highly dislike (because it is coupled with a play count and uses a 0-255 rating which is not easy to translate to sane numbers).
I personally prefer writing the rating as a 0-100 number, which can be presented to the user as 1-5 or 1-10 or whatever.
Currently gmb doesn't let read/write user-defined tags, they are just kept in gmb's db, but I plan on enabling this.
Can you send me (squentin gmail.com) a sample of your files with fb2000 ratings ? One mp3 and one non-mp3 at least.
Currently, gmb will only write ratings using the FMPS standard, which I'm afraid did not caught on. If that tag is not found, it will try to read a 1-5 "rating" tag, which I thought fb2000 used, but maybe they changed that, I see (https://wiki.hydrogenaud.io/index.php?title=Foobar2000:ID3_Tag_Mapping) that for mp3 they use the POPM id3v2 tag, which I highly dislike (because it is coupled with a play count and uses a 0-255 rating which is not easy to translate to sane numbers).
I personally prefer writing the rating as a 0-100 number, which can be presented to the user as 1-5 or 1-10 or whatever.
Currently gmb doesn't let read/write user-defined tags, they are just kept in gmb's db, but I plan on enabling this.
Can you send me (squentin gmail.com) a sample of your files with fb2000 ratings ? One mp3 and one non-mp3 at least.