Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: When does Foobar2000 recognize an album as an album? (Read 15604 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

When does Foobar2000 recognize an album as an album?

Hi everyone,

I already searched the forum a bit but did not find the answer to my (probably simple) question: When does foobar recognize an album as an album? Or how can I tell it that a couple tracks (with different artists) all belong to one album?

My concrete issue: I have a number of albums with various artists (aka samplers). The individual tracks are tagged with the different artists, but each album has the same Album Artist and Album Title tags in every track. Shouldn't they then be recognized as whole albums, isn't this what the Album Artist tag is there for? Foobar, however, still shows me the albums as several albums, one for each artist. The files are FLAC, in case that matters...

Cheers, Sodof

When does Foobar2000 recognize an album as an album?

Reply #1
When does foobar recognize an album as an album?

You tell it how tracks should be grouped, by specifying which field(s) to examine in order to determine relationships between tracks.

Quote
The individual tracks are tagged with the different artists, but each album has the same Album Artist and Album Title tags in every track. Shouldn't they then be recognized as whole albums, isn't this what the Album Artist tag is there for?

That depends. Do you have it set to group by %album artist% rather than plain old %artist%? It won’t do anything unless told.

When asking questions such as this, it helps to specify things like your grouping string and (as a contingency) which UI you are using, etc.

When does Foobar2000 recognize an album as an album?

Reply #2
Create a blank new playlist and drag all your target files from Explorer into foobar2000, and have a look at how they group.
If they don't group as you expect, then you select all in the Playlist (CTRL+A) and go into Properties (ALT+ENTER)
and see if some Tag name which should be common to all files is maybe not.
The Album tag should be common to all, and so should the Album Artist tag.
The Artist tag should be unique for each track. It is also known as the 'Track Artist' tag if 'Album Artist' tag has a value (i.e., is not blank ).
If you want each unique artist name to appear with the track title then you need to include the %track artist% variable in your
formatting for the Track Title column of your Playlist Viewer; maybe something like: [%track artist%' — ']%title%

Here is a sample Playlist Viewer grouping scheme you can try using...
Code: [Select]
//======================================================================
// IF CD DISC, DISPLAY LIKE THIS ...
// ELSE IF NETWORK STREAM (Online Radio , etc), DISPLAY LIKE THIS ...
// ELSE IF FILE, DISPLAY LIKE THIS ...
//======================================================================


//----- (A) LINES SPLIT FOR EASY VIEWING OF CODE SECTIONS

$if($strstr(%path%,'cdda:'),
CD DISC'        '$directory_path(%path%)
,
$if($strstr(%path%,'http:'),
NETWORK STREAM['        '%title%]['        '%genre%]['        '$directory_path(%path%)]
,
$if2($trim(%album artist%),'%artist%')'   ●   '$if2($trim(%album%),'%album%')'   '$if2('('$trim(%date%)')','(%date%)')'        '$if2($trim(%genre%),'%genre%')'        '$directory_path(%path%)
)
)


//----- (B) LINES JOINED

$if($strstr(%path%,'cdda:'),CD DISC'        '$directory_path(%path%),$if($strstr(%path%,'http:'),NETWORK STREAM['        '%title%]['        '%genre%]['        '$directory_path(%path%)],$if2($trim(%album artist%),'%artist%')'   ●   '$if2($trim(%album%),'%album%')'   '$if2('('$trim(%date%)')','(%date%)')'        '$if2($trim(%genre%),'%genre%')'        '$directory_path(%path%)))

When does Foobar2000 recognize an album as an album?

Reply #3
I just had to fix this issue. I bet your problem is that some tracks use the foobar standard tag "Album Artist", while some use "Albumartist". Just use the latest foobar, and modify it so that both tags have the same value for all tracks in an album. "Albumartist" will disappear, and all tracks will have the tag "Album Artist" set to the single value (there are posts on why this happens in recent versions of foobar), and the album grouping will work out of the box.

When does Foobar2000 recognize an album as an album?

Reply #4
Ok, I figured out how to configure/customize the album view and have it set up now to group by %album artist% rather than by %artist%. This is my grouping string: %album%[ '['%album artist%']']|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%.

Now, next problem... I understand that %album artist% is supposed to look for “album artist”, “artist”, “composer”, “performer” in that order. Well, this works with a number of files I have from various sources (i.e., Foobar displays the "artist" if there is no "album artist" in the album list). However, it does not work with my EAC rips. It finds "album artist", but if there is none (only "artist") then it fails to display that instead (but only []).

Could that have to do with the way my EAC is set up to tag the files? I use EAC version 1.0 Beta 3 and have never changed the default tagging settings.

I have EAC set to write ID3 V1.1 tags and ID3V2.3.0 tags.

I am new to all this and haven't quite understood these tagging issues yet, so I apologize for my ignorance :-) Thanks for the help so far!

When does Foobar2000 recognize an album as an album?

Reply #5
I don't see a problem with EAC or foobar2000 or your title-formatting display preferences.

EAC, out of the box, just writes normal tags fully readable by foobar2000; it does not create wierd or bad tags.

Analyze one of these 'bad' albums ripped by EAC...

Create a blank new playlist and drag all your target files from Explorer into foobar2000, and have a look,
select all in the Playlist and go into Properties.
Do you see some Tag in Properties which may cause this problem?

Compare the problematic album with a known good album...
Drag the known good album into the same Playlist, and go into Properties.
What difference in Tags do you see between this good album and the bad album?

What happens if you change your formatting pattern to this test pattern (just for testing):
%album%[ '['$if2($meta(album artist),%artist%)']']|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%.

What is your formatting pattern for ...Library Viewer grouping, or Playlist Viewer grouping, or Both?

What is your user interface ...Default UI, or Columns UI?

When does Foobar2000 recognize an album as an album?

Reply #6
I copied samples of "working" and "non working" files directly into blank playlists and checked the tags. There are no weird tag entries in the files I ripped, they are no different from those of the other (working) files. All the files are FLACs, the working ones, too. I even deleted the artist tag in "non working" files, saved, entered an artist name again. Still did not help.

I use the default UI. I'm at a loss...


When does Foobar2000 recognize an album as an album?

Reply #7
Ok, now I found the problem... Although there is nothing visible in the ALBUM ARTIST tags of my files, there seems to be some sort of zero value to the tags. When I manually remove the album artist tag, foobar suddenly finds the ALBUM tag instead. I will do that with all those faulty albums now and should be good then.

Thanks a lot for the help!

When does Foobar2000 recognize an album as an album?

Reply #8
Download a fresh copy of foobar2000 and create a new portable setup for testing.

Configure your Library Viewer and Playlist Viewer with your desired Title-Formatting (Configure Media Library folders if you want to populate the Library Viewer).

Drag the same 'good-bad' test albums into a blank new playlist and have a look again.

If there are no problems this time, then there is a bad tweak in your original foobar2000 installation.

When does Foobar2000 recognize an album as an album?

Reply #9
Hold on a second. In your first post you said "but each album has the same Album Artist .. tags in every track". Now you say "Although there is nothing visible in the ALBUM ARTIST tags of my files, there seems to be some sort of zero value to the tags". So, which is it, because both can't be simultaneously true......

When does Foobar2000 recognize an album as an album?

Reply #10
At the time of my first post I hadn't figured out how to customize the album view yet at all (being entirely new to foobar).

Then another problem came up:

Ok, I figured out how to configure/customize the album view and have it set up now to group by %album artist% rather than by %artist%. This is my grouping string: %album%[ '['%album artist%']']|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%.

Now, next problem... I understand that %album artist% is supposed to look for “album artist”, “artist”, “composer”, “performer” in that order. Well, this works with a number of files I have from various sources (i.e., Foobar displays the "artist" if there is no "album artist" in the album list). However, it does not work with my EAC rips. It finds "album artist", but if there is none (only "artist") then it fails to display that instead (but only []).


With the next problem came the issue that %album artist% did not find the ARTIST tags in the absence of ALBUM ARTIST. But problem solved now by manually removing the album artist tags.

Sorry that things got a bit mixed up here :-)

When does Foobar2000 recognize an album as an album?

Reply #11
With the next problem came the issue that %album artist% did not find the ARTIST tags in the absence of ALBUM ARTIST.

If I am reading this correctly, something is wrong. The placeholder %album artist% maps to the first available literal field from album artist, artist, composer, and performer. If album artist is absent, the placeholder should check artist and return its value if it exists.

Are you sure that album artist is actually absent—might it instead be present, but empty?

There should be no need to delete said field in order to use artist; that defeats the point of the multi-field mapping and, really, of album artist overall.

When does Foobar2000 recognize an album as an album?

Reply #12
   >>   Are you sure that album artist is actually absent—might it instead be present, but empty?

Use the $trim variable in your title-formatting pattern if you want blank spaces to be positively ignored.

Therefore I advise the O.P. to run this test pattern instead of his own, and tell us if it fixes things:
%album%[ '['$trim(%album artist%)']']|[[%discnumber%.]%tracknumber%. ][%track artist% - ]%title%

P.S. — take a look again at the code of my "sample Playlist Viewer grouping scheme" from post #3

When does Foobar2000 recognize an album as an album?

Reply #13
$trim only removes spaces. It will not do anything to alter the presentation/interpretation of fields that are defined but empty (i.e. zero-length). The fact that sodof observed the desired literal square brackets but with nothing inside may indicate that album artist is one such field in the affected files.

 

When does Foobar2000 recognize an album as an album?

Reply #14
i really dislike EAC for creating empty tags. but you can strip then them in foobar by opening the properties dialog for a bunch of files.

highlight all fields>right click>copy
click the tools button>remove tags. accept the warning.
now right click and paste fields.

you might want to try this on a small subset of backed up files first.

edit: maybe it's unfair to blame EAC for this?  afterall, it's just passing command line arguments set through the encoder settings. i'm not sure what would happen when using a command line encoder on it's own????

When does Foobar2000 recognize an album as an album?

Reply #15
Does foobar2000 have a title-formatting syntax variable for defined but empty?

Is it not possible to script ones title-formatting pattern conditionally to work around the issue, maybe using something like:
$stricmp($left($trim(%album artist%),1),'')

When does Foobar2000 recognize an album as an album?

Reply #16
$len() will return 0 for defined but empty fields. It will return 1 for undefined fields, but $if() conditions may be used to detect if the field is undefined, and enclosing a $len(%field%) in unescaped square brackets will prevent the output from appearing when the field is undefined.

When does Foobar2000 recognize an album as an album?

Reply #17
$len() will return 1 for undefined fields

To clarify, this is due to such fields being mapped to a question-mark for display, as noted in the thread I linked above.

$if() conditions may be used to detect if the field is undefined

I think one could use something like this:

$ifequal($len(%field%),0,empty,
$ifequal($len(%field%),1,$if($strcmp(%field%,?),absent,
present),present)

When does Foobar2000 recognize an album as an album?

Reply #18
just a quick point that "album artist" and "albumartist" are similar but different. Both can used within tags, but some players default to a particular one.

When does Foobar2000 recognize an album as an album?

Reply #19
One last question from me,

For testing purposes, how does one create a "defined but empty" value in a tag?

When does Foobar2000 recognize an album as an album?

Reply #20
I'm not sure on that one.

Anyway, regarding album artist, for all relevant formats, supported file tags are mapped to "album artist" internally. Any files which are known to use "albumartist" will be read as "album artist" and written as "albumartist".

Another issue which cropped up due to the period in which foobar displayed ID3v2 TPE2 as "band" while storing its "album artist" as a TXXX frame named "album artist", files which were tagged with both fields will display two values for "album artist" in the current version when using default settings. The fix is to mass set "album artist" to format from the script "$meta(album artist,0)" on all affected files.

When does Foobar2000 recognize an album as an album?

Reply #21
For testing purposes, how does one create a "defined but empty" value in a tag?


you can do it with flac on the command line
Code: [Select]
flac "path\to\input.file" -T "COMMENT=" -o "output.flac"


add it to a playlist in foobar and this query will find it.

Code: [Select]
comment PRESENT