use warnings;
use ID3FS::Path::Node;
-our ($STATE_INVALID, $STATE_ROOT, $STATE_TAG, $STATE_TAGVAL,
- $STATE_BOOLEAN, $STATE_ALBUMS, $STATE_TRACKLIST,
- $STATE_FILE, $STATE_ALL)=(0..8);
+our ($STATE_INVALID, $STATE_ROOT, $STATE_TAG, $STATE_BOOLEAN,
+ $STATE_ALBUMS, $STATE_TRACKLIST, $STATE_FILE, $STATE_ALL)=(0..7);
# operator precedence
our %priorities=( "OR" => 0, "AND" => 1, "NOT" => 2 );
{
@dents=($self->filter($PATH_ALLTRACKS, $PATH_NOARTIST), $self->artists());
}
- elsif($state==$STATE_TAG || $state==$STATE_TAGVAL)
+ elsif($state==$STATE_TAG)
{
my $tail=$self->tail();
- if($state==$STATE_TAG && $self->is($TYPE_TAG, $tail) &&
- $self->{db}->tag_has_values($tail->id()))
+ if($self->is($TYPE_TAG, $tail) && $self->{db}->tag_has_values($tail->id()))
{
@dents=$self->tags();
}
}
}
}
- elsif($state==$STATE_TAG || $state==$STATE_TAGVAL)
+ elsif($state==$STATE_TAG)
{
my $tag=$self->tail();
# print "SM: TAG/TAGVAL($state): $name\n";
- if($state==$STATE_TAG && $self->is($TYPE_TAG, $tag) &&
- $self->{db}->tag_has_values($tag->id()))
+ if($self->is($TYPE_TAG, $tag) && $self->{db}->tag_has_values($tag->id()))
{
# print "Parsing: parent: $tag->id()\n";
my $tagval=ID3FS::Path::Node->new($self->{db}, $TYPE_TAG, $name, $tag->id());
if(defined($tagval))
{
- $self->state($STATE_TAGVAL);
# stay in tag state
push(@{$self->{elements}}, $tagval);
}