$file->add_tags($replace_tags[1]);
}
- return($artist || $album || $track || $tracknum || $year || $v1genre ||
- $comment || $genre || $add_tags || (@replace_tags && $replace_tags[0]));
+ return(defined($artist) || defined($album) || defined($track) ||
+ defined($tracknum) || defined($year) || defined($v1genre) ||
+ defined($comment) || defined($genre) || defined($add_tags) ||
+ (@replace_tags && defined($replace_tags[1])));
+
}
sub do_write
sub do_display
{
my($file)=@_;
+ my $artist=$file->artist();
+ my $album=$file->album();
+ my $track=$file->track();
+ my $tracknum=$file->tracknum();
+ my $year=$file->year();
+ my $comment=$file->comment();
+ my $v1genre=$file->v1genre();
+ my @tags=$file->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);
+ }
+ else
+ {
+ my @fields=($file->path(), $tracknum, $artist, $album, $track,
+ $year, $v1genre, $comment);
+ @fields=map { defined($_) ? $_ : ""; } @fields;
+ print join(':', @fields), "\n";
+ if(@tags)
+ {
+ print "tags:", join(", ", @tags), "\n";
+ }
+ }
}
sub usage
my $self={};
bless($self,$class);
- my $path=shift;
- my $ext=($path=~/.*\.(.*)/)[0];
+ $self->{path}=shift;
+ my $ext=($self->{path}=~/.*\.(.*)/)[0];
return undef unless($ext);
my $me=shift;
$ext=lc($ext);
if($ext eq "mp3")
{
- $self->{audiofile}=ID3FS::AudioFile::Mp3->new($path);
+ $self->{audiofile}=ID3FS::AudioFile::Mp3->new($self->{path});
}
elsif($ext eq "ogg")
{
- $self->{audiofile}=ID3FS::AudioFile::Ogg->new($path);
+ $self->{audiofile}=ID3FS::AudioFile::Ogg->new($self->{path});
}
elsif($ext eq "flac")
{
- $self->{audiofile}=ID3FS::AudioFile::Flac->new($path);
+ $self->{audiofile}=ID3FS::AudioFile::Flac->new($self->{path});
}
else
{
- print("$me: $path: Unknown extension: $ext\n");
+ print("$me: $self->{path}: Unknown extension: $ext\n");
return undef;
}
return $self;
sub comment { return(shift->set("comment", @_)); }
sub audiotype { return(shift->set("audiotype")); }
sub haspic { return(shift->set("haspic")); }
+sub path { return(shift->{path}); }
sub delete_artist { shift->{audiofile}->delete_artist(); }
sub delete_album { shift->{audiofile}->delete_album(); }
sub artist { return(shift->set("artist", @_)); }
sub album { return(shift->set("album", @_)); }
sub track { return(shift->set("title", @_)); }
-sub tracknum { return(shift->set("tracknum", @_)); }
+sub tracknum { return(shift->set("track", @_)); }
sub comment { return(shift->set("comment", @_)); }
sub audiotype { return "mp3"; }