The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Audio::TagLib::MPC::File - An implementation of Audio::TagLib::File with MPC specific methods

SYNOPSIS

  use Audio::TagLib;
  
  my $i = Audio::TagLib::MPC::File->new("sample mpc file.mpc");
  print $i->tag()->title()->toCString(), "\n"; # got title

DESCRIPTION

This implements and provides an interface for MPC files to the Audio::TagLib::Tag and Audio::TagLib::AudioProperties interfaces by way of implementing the abstract Audio::TagLib::File API as well as providing some additional information specific to MPC files.

The only invalid tag combination supported is an ID3v1 tag after an APE tag.

new(PV $file, BOOL $readProperties = TRUE, PV $propertiesStyle = "Average")

Constructs an MPC file from $file. If $readProperties is true the file's audio properties will also be read using $propertiesStyle. If false, $propertiesStyle is ignored.

DESTROY()

Destroys this instance of the File.

Tag tag()

Returns the Tag for this file. This will be an APE tag, an ID3v1 tag or a combination of the two.

Properties audioProperties()

Returns the MPC::Properties for this file. If no audio properties were read then this will return undef.

BOOL save()

Save the file.

ID3v1::Tag ID3v1Tag(BOOL $create = FALSE)

Returns the ID3v1 tag of the file.

If $create is false (the default) this will return undef if there is no valid ID3v1 tag. If $create is true it will create an ID3v1 tag if one does not exist. If there is already an APE tag, the new ID3v1 tag will be placed after it.

 B<NOTE> The Tag is B<STILL> owned by the APE::File and should not be
 deleted by the user. It will be deleted when the file (object) is
 destroyed. 
APE::Tag APETag(BOOL $create = FALSE)

Returns the APE tag of the file.

If $create is false (the default) this will return undef if there is no valid APE tag. If $create is true it will create a APE tag if one does not exist. If there is already an ID3v1 tag, the new APE tag will be placed before it.

NOTE The Tag is STILL owned by the APE::File and should not be deleted by the user. It will be deleted when the file (object) is destroyed.

void remove(PV $tags = "ALLTags")

This will remove the tag that matches TagTypes from the file. By default it removes all tags.

NOTE This will also invalidate pointers to the tags as their memory will be freed.

NOTE In order to make the removal permanent save() still needs to be called.

%_TagTypes

This set of flags is used for various operations. keys %Audio::TagLib::MPC::File::_TagTypes lists all available values used in Perl code.

WARNING The values are not allowed to be OR-ed together in Perl.

EXPORT

None by default.

SEE ALSO

Audio::TagLib File

AUTHOR

Dongxu Ma, <dongxu@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2005 by Dongxu Ma

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.