X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2FID3FS%2FAudioFile.pm;fp=lib%2FID3FS%2FAudioFile.pm;h=5c4598463662ae1a66a9a768fd3ef69d2dd7b36c;hb=c8be4bd59dada9948d921e3ec5c49baea26fc910;hp=bb91604cd16d7700f8869d3c9df9f057f47c4ca1;hpb=b91d9b72e7b9b2857283b5c9a45db3aec098b2a0;p=id3fs.git diff --git a/lib/ID3FS/AudioFile.pm b/lib/ID3FS/AudioFile.pm index bb91604..5c45984 100644 --- a/lib/ID3FS/AudioFile.pm +++ b/lib/ID3FS/AudioFile.pm @@ -54,48 +54,77 @@ sub new return $self; } -sub artist +sub set { - my $self=shift; - return $self->sanitise($self->stripslashes($self->{audiofile}->artist())); -} - -sub album -{ - my $self=shift; - return $self->sanitise($self->stripslashes($self->{audiofile}->album())); + my ($self, $thing, $value)=@_; + if($value) + { + $value=$self->sanitise($self->stripslashes($value)); + $self->{audiofile}->$thing($value); + } + else + { + $value=$self->sanitise($self->stripslashes($self->{audiofile}->$thing())); + } + return $value; } -sub audiotype -{ - my $self=shift; - return $self->sanitise($self->stripslashes($self->{audiofile}->audiotype())); -} +sub artist { return(shift->set("artist", @_)); } +sub album { return(shift->set("album", @_)); } +sub track { return(shift->set("track", @_)); } +sub tracknum { return(shift->set("tracknum", @_)); } +sub v1genre { return(shift->set("v1genre", @_)); } +sub comment { return(shift->set("comment", @_)); } +sub audiotype { return(shift->set("audiotype")); } +sub haspic { return(shift->set("haspic")); } -sub haspic -{ - return undef; # NEXTVERSION -# my $self=shift; -# return $self->{audiofile}->haspic(); -} +sub delete_artist { shift->{audiofile}->delete_artist(); } +sub delete_album { shift->{audiofile}->delete_album(); } +sub delete_track { shift->{audiofile}->delete_track(); } +sub delete_tracknum { shift->{audiofile}->delete_tracknum(); } +sub delete_year { shift->{audiofile}->delete_year(); } +sub delete_v1genre { shift->{audiofile}->delete_v1genre(); } +sub delete_comment { shift->{audiofile}->delete_comment(); } +sub delete_all { shift->{audiofile}->delete_all(); } +sub delete_genre { shift->{audiofile}->delete_genre(); } +sub delete_tags { shift->{audiofile}->delete_tags(); } -sub v1genre +sub year { - my $self=shift; - return $self->sanitise($self->stripslashes($self->{audiofile}->v1genre())); + my ($self, $year)=@_; + if($year) + { + $year=$self->format_year($year); + $self->{audiofile}->year($year); + } + else + { + $year=$self->{audiofile}->year(); + } + return $year; } -sub year +sub format_year { - my $self=shift; - my $year=$self->sanitise($self->stripslashes($self->{audiofile}->year())); - if(defined($year) && $year =~/(\d{4})/) + my ($self, $year)=@_; + if($year) { - $year=$1; + $year=$self->sanitise($self->stripslashes($year)); + if(defined($year) && $year =~/(\d{4})/) + { + $year=$1; + } } return $year; } + +sub add_tags +{ + my($self, $tags)=@_; + die("FIXME: implement add_tags()\n"); +} + sub tags { my $self=shift;