my $self=shift;
if(exists($self->{mp3tag}->{ID3v1}))
{
- $self->{mp3tag}->{ID3v1}->write_tag;
+ my $del=1;
+ my $artist=$self->{mp3tag}->{ID3v1}->artist();
+ $del=0 if($artist && $artist =~ /\S+/);
+ my $album=$self->{mp3tag}->{ID3v1}->album();
+ $del=0 if($album && $album =~ /\S+/);
+ my $track=$self->{mp3tag}->{ID3v1}->title();
+ $del=0 if($track && $track =~ /\S+/);
+ my $tracknum=$self->{mp3tag}->{ID3v1}->track();
+ $del=0 if($tracknum && $tracknum !~ /^0+$/);
+ my $genre=$self->{mp3tag}->{ID3v1}->genre();
+ $del=0 if($genre && $genre =~ /\S+/);
+ my $comment=$self->{mp3tag}->{ID3v1}->comment();
+ $del=0 if($comment && $comment =~ /\S+/);
+ my $year=$self->{mp3tag}->{ID3v1}->year();
+ $del=0 if($year && $year =~ /\S+/ && $year !~ /^0+$/);
+ if($del)
+ {
+ $self->{mp3tag}->{ID3v1}->remove_tag;
+ }
+ else
+ {
+ $self->{mp3tag}->{ID3v1}->remove_tag;
+ }
}
if(exists($self->{mp3tag}->{ID3v2}))
{
- $self->{mp3tag}->{ID3v2}->write_tag;
+ my $frames=$self->{mp3tag}->{ID3v2}->get_frame_ids();
+ if($frames && scalar(keys(%$frames)))
+ {
+ $self->{mp3tag}->{ID3v2}->write_tag;
+ }
+ else
+ {
+ $self->{mp3tag}->{ID3v2}->remove_tag;
+ }
}
}
if(exists($self->{mp3tag}->{ID3v2}))
{
- print "2: remove: $thing\n";
if($thing eq "artist")
{
$self->{mp3tag}->{ID3v2}->remove_frame("TPE1");
}
$year="UNKNOWN" if(!$self->ok($year) || $year =~ /^0+$/);
+ $year+=1900 if($year=~/^\d\d$/);
$self->add_tag($file_id, "year", $year);
if($year=~/^(\d\d\d)\d$/)
{