NAME

Audio::Musepack - An object-oriented interface to Musepack file information and APE tag fields, implemented entirely in Perl.

SYNOPSIS

use Audio::Musepack;
my $mpc = Audio::Musepack->new("song.mpc");

my $mpcInfo = $mpc->info();

foreach (keys %$mpcInfo) {
	print "$_: $mpcInfo->{$_}\n";
}

my $mpcTags = $mpc->tags();

foreach (keys %$mpcTags) {
	print "$_: $mpcTags->{$_}\n";
}

DESCRIPTION

This module returns a hash containing basic information about a Musepack file, as well as tag information contained in the Musepack file's APE tags. See Audio::APETags for more information about the tags.

The information returned by Audio::Musepack->info is keyed by:

streamVersion
channels
totalFrames
profile
sampleFreq
lastValidSamples
encoder

Information stored in the main hash that relates to the file itself or is calculated from some of the information fields is keyed by:

trackLengthMinutes      : minutes field of track length
trackLengthSeconds      : seconds field of track length
trackLengthFrames       : frames field of track length (base 75)
trackTotalLengthSeconds : total length of track in fractional seconds
bitRate                 : average bits per second of file
fileSize                : file size, in bytes
filename                : filename with path

CONSTRUCTORS

  • new( $filename )

    Opens a Musepack file, ensuring that it exists and is actually an Musepack stream, then loads the information and comment fields.

INSTANCE METHODS

  • info( [$key] )

    Returns a hashref containing information about the Musepack file from the file's information header.

    The optional parameter, key, allows you to retrieve a single value from the info hash. Returns undef if the key is not found.

  • tags( [$key] )

    Returns a hashref containing tag keys and values of the Musepack file from the file's APE tags.

    The optional parameter, key, allows you to retrieve a single value from the tag hash. Returns undef if the key is not found.

SEE ALSO

http://www.personal.uni-jena.de/~pfk/mpp/index2.html

AUTHOR

Dan Sully, <daniel@cpan.org>

Original Author: Erik Reckase, <cerebusjam at hotmail dot com>

COPYRIGHT

Copyright (c) 2003-2006, Erik Reckase. Copyright (c) 2003-2007, Dan Sully & Slim Devices.

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.2 or, at your option, any later version of Perl 5 you may have available.