$self->add_tag($file_id, @$tag);
}
- if($self->ok($year))
+ $year="UNKNOWN" unless($self->ok($year));
+ $self->add_tag($file_id, "year", $year);
+ if($year=~/^(\d\d\d)\d$/)
{
- $self->add_tag($file_id, "year", $year);
- if($year=~/^(\d\d\d)\d$/)
- {
- $self->add_tag($file_id, "decade", "${1}0s");
- }
+ $self->add_tag($file_id, "decade", "${1}0s");
}
if($self->ok($v1genre))
my @parts=@{$self->{components}};
my($tag, $tagval);
$self->{elements}=[];
- while(my $name=shift @parts)
+ while(defined(my $name=shift @parts))
{
# print "NAME: $name\n";
my $state=$self->state();
$sql .= "WHERE " . join(' AND ', @andclauses) . "\n";
}
$sql .= "GROUP BY tags.name;";
- print "SQL: $sql\n";
+ print "SQL(TAGS): $sql\n";
my @tagnames=$self->{db}->cmd_firstcol($sql);
print "SUBNAMES: ", join(', ', @tagnames), "\n";
return(@tagnames);
"INNER JOIN artists ON files.artists_id=artists.id\n" .
"WHERE artists.name != ''\n" .
"GROUP BY artists.name;");
- print "SQL: $sql\n";
+ print "SQL(ARTISTS): $sql\n";
my @tagnames=$self->{db}->cmd_firstcol($sql);
print "ARTISTS: ", join(', ', @tagnames), "\n";
return(@tagnames);
$self->tags_subselect() .
"\t) AS subselect\n" .
"INNER JOIN files ON subselect.files_id=files.id\n" .
- "INNER JOIN artists ON artists.id=files.artists_id\n\t" .
- "INNER JOIN albums ON albums.id=files.albums_id\n\t" .
- "WHERE artists.id=? AND albums.name=''\n\t" .
+ "INNER JOIN artists ON artists.id=files.artists_id\n" .
+ "INNER JOIN albums ON albums.id=files.albums_id\n" .
+ "WHERE artists.id=? AND albums.name=''\n" .
"GROUP BY files.name\n");
print "ARTIST_TRACKS SQL: $sql\n";
my @names=$self->{db}->cmd_firstcol($sql, $artist_id);
}
return $self->album_tracks($artist_id, $tail->{id});
}
-
my $sql=("SELECT files.name\n" .
"\tFROM (\n" .
$self->tags_subselect() .
"\t) AS subselect\n" .
"INNER JOIN files ON files.id=subselect.files_id\n" .
- "GROUP BY files.name;");
- print "SQL: $sql\n";
+ "INNER JOIN artists ON files.artists_id=artists.id\n");
+ if($self->{components}->[$#{$self->{components}}] eq "NOARTIST")
+ {
+ $sql .= "WHERE artists.name =''\n";
+ }
+ $sql .= "GROUP BY files.name;";
+ print "TRACKS SQL: $sql\n";
my @names=$self->{db}->cmd_firstcol($sql);
print "TRACKS: ", join(', ', @names), "\n";
return(@names);