my $v1genre=$file->v1genre();
my @tags=$file->tags();
@tags = map { (ref($_) eq "ARRAY") ? join('/', grep {defined;} @{$_}) : $_; } @tags;
- use Data::Dumper;
- print Dumper \@tags;
if($verbose)
{
print $file->path(), ":\n";
- print "tracknum: $tracknum\n" if($tracknum);
- print "artist: $artist\n" if($artist);
- print "album: $album\n" if($album);
- print "song: $track\n" if($track);
- print "year: $year\n" if($year);
- print "v1genre: $v1genre\n" if($v1genre);
- print "comment: $comment\n" if($comment);
+ print " tracknum: $tracknum\n" if($tracknum);
+ print " artist: $artist\n" if($artist);
+ print " album: $album\n" if($album);
+ print " song: $track\n" if($track);
+ print " year: $year\n" if($year);
+ print " v1genre: $v1genre\n" if($v1genre);
+ print " comment: $comment\n" if($comment);
}
else
{
$year, $v1genre, $comment);
@fields=map { defined($_) ? $_ : ""; } @fields;
print join(':', @fields), "\n";
- if(@tags)
- {
- print "tags:", join(", ", @tags), "\n";
- }
+ }
+ if(@tags)
+ {
+ if($verbose) { print " tags: "; }
+ else { print $file->path() . ":tags:"; }
+ print join(", ", @tags), "\n";
}
}
sub track { return(shift->set("track", @_)); }
sub tracknum { return(shift->set("tracknum", @_)); }
sub v1genre { return(shift->set("v1genre", @_)); }
+sub genre { return(shift->set("genre", @_)); }
sub comment { return(shift->set("comment", @_)); }
sub audiotype { return(shift->set("audiotype")); }
sub haspic { return(shift->set("haspic")); }
return $thing;
}
-sub year { return(shift->set("year", @_)); }
-sub artist { return(shift->set("artist", @_)); }
-sub album { return(shift->set("album", @_)); }
-sub track { return(shift->set("title", @_)); }
-sub tracknum { return(shift->set("track", @_)); }
-sub comment { return(shift->set("comment", @_)); }
+sub year { return(shift->set("year", @_)); }
+sub artist { return(shift->set("artist", @_)); }
+sub album { return(shift->set("album", @_)); }
+sub track { return(shift->set("title", @_)); }
+sub tracknum { return(shift->set("track", @_)); }
+sub comment { return(shift->set("comment", @_)); }
sub audiotype { return "mp3"; }
sub haspic { return undef; } # NEXTVERSION
+# we only set v2 genre
+sub genre
+{
+ my ($self, $value)=@_;
+ if($value)
+ {
+ if(exists($self->{mp3tag}->{ID3v2}))
+ {
+ $self->{mp3tag}->{ID3v2}->remove_frame("TCON");
+ }
+ else
+ {
+ $self->{mp3tag}->new_tag("ID3v2");
+ }
+ $self->{mp3tag}->{ID3v2}->add_frame("TCON", $value);
+
+ }
+ return($self->{mp3tag}->{ID3v2}->genre());
+}
+
sub v1genre
{
my($self, $val)=@_;
}
else
{
- $self->{mp3tag}->{ID3v1}->remove_tag;
+ $self->{mp3tag}->{ID3v1}->write_tag;
}
}
if(exists($self->{mp3tag}->{ID3v2}))
return(sort keys(%hash));
}
-
sub channels
{
my($self)=@_;