audio taglib ogg flac file 1.42
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1549
Audio::TagLib::Ogg::FLAC::File 1.42
Audio::TagLib::Ogg::FLAC::File is an implementation of Audio::TagLib::File with Ogg/FLAC specific methods. more>>
Audio::TagLib::Ogg::FLAC::File is an implementation of Audio::TagLib::File with Ogg/FLAC specific methods.
SYNOPSIS
use Audio::TagLib::Ogg::FLAC::File;
my $i = Audio::TagLib::Ogg::FLAC::File->new("sample file.flac");
print $i->tag()->album()->toCString(), "n"; # got album
This implements and provides an interface for Ogg/FLAC 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 Ogg FLAC files.
new(PV $file, BOOL $readProperties = TRUE, PV $propertiesStyle = "Average")
Contructs an Ogg/FLAC file from $file. If $readProperties is true the files audio properties will also be read using $propertiesStyle. If false, $propertiesStyle is ignored.
DESTROY
Destroys this instance of the File.
XiphComment tag()
Returns the Tag for this file. This will always be a XiphComment.
Properties audioProperties()
Returns the FLAC::Properties for this file. If no audio properties were read then this will return undef.
BOOL save()
Save the file. This will primarily save and update the XiphComment. Returns true if the save is successful.
IV streamLength()
Returns the length of the audio-stream, used by FLAC::Properties for calculating the bitrate.
<<lessSYNOPSIS
use Audio::TagLib::Ogg::FLAC::File;
my $i = Audio::TagLib::Ogg::FLAC::File->new("sample file.flac");
print $i->tag()->album()->toCString(), "n"; # got album
This implements and provides an interface for Ogg/FLAC 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 Ogg FLAC files.
new(PV $file, BOOL $readProperties = TRUE, PV $propertiesStyle = "Average")
Contructs an Ogg/FLAC file from $file. If $readProperties is true the files audio properties will also be read using $propertiesStyle. If false, $propertiesStyle is ignored.
DESTROY
Destroys this instance of the File.
XiphComment tag()
Returns the Tag for this file. This will always be a XiphComment.
Properties audioProperties()
Returns the FLAC::Properties for this file. If no audio properties were read then this will return undef.
BOOL save()
Save the file. This will primarily save and update the XiphComment. Returns true if the save is successful.
IV streamLength()
Returns the length of the audio-stream, used by FLAC::Properties for calculating the bitrate.
Download (1.4MB)
Added: 2006-06-27 License: GPL (GNU General Public License) Price:
1214 downloads
Audio::TagLib::File 1.42
Audio::TagLib::File is a file class with some useful methods for tag manipulation. more>>
Audio::TagLib::File is a file class with some useful methods for tag manipulation.
This class is a basic file class with some methods that are particularly useful for tag editors. It has methods to take advantage of ByteVector and a binary search method for finding patterns in a file.
DESTROY()
Destroys this File instance.
PV name()
Returns the file name in the local file system encoding.
Tag tag() [pure virtual]
Returns this files tag. This should be reimplemented in the concrete subclasses.
AudioProperties audioProperties() [pure virtual]
Returns this files audio properties. This should be reimplemented in the concrete subclasses. If no audio properties were read then this will return undef.
BOOL save() [pure virtual]
Save the file and its associated tags. This should be reimplemented in the concrete subclasses. Returns true if the save succeeds.
ByteVector readBlock(UV $length)
Reads a block of size $length at the current get pointer.
void writeBlock(ByteVector $data)
Attempts to write the block $data at the current get pointer. If the file is currently only opened read only -- i.e. readOnly() returns true -- this attempts to reopen the file in read/write mode.
IV find(ByteVector $pattern, IV $fromOffset = 0, ByteVector $before = ByteVector::null)
Returns the offset in the file that $pattern occurs at or -1 if it can not be found. If $before is set, the search will only continue until the pattern $before is found. This is useful for tagging purposes to search for a tag before the synch frame.
Searching starts at $fromOffset, which defaults to the beginning of the file.
This has the practial limitation that $pattern can not be longer than the buffer size used by readBlock(). Currently this is 1024 bytes.
IV rfind(ByteVector $pattern, IV $fromOffset = 0, ByteVector $before = ByteVector::null)
Returns the offset in the file that $pattern at or -1 if it can not be found. If $before is set, the search will only continue until the pattern $before is found. This is useful for tagging purposes to search for a tag before the synch frame.
Searching starts at $fromOffset and proceeds from the that point to the beginning of the file and defaults to the end of the file.
This has the practial limitation that $pattern can not be longer than the buffer size used by readBlock(). Currently this is 1024 bytes.
void insert(ByteVector $data, UV $start = 0, UV $replace = 0)
Insert $data at position $start in the file overwriting $replace bytes of the original content.
This method is slow since it requires rewriting all of the file after the insertion point.
void removeBlock(UV $start = 0, UV $length = 0)
Removes a block of the file starting a $start and continuing for $length bytes.
This method is slow since it involves rewriting all of the file after the removed portion.
BOOL readOnly()
Returns true if the file is read only (or if the file can not be opened).
BOOL isOpen()
Since the file can currently only be opened as an argument to the constructor (sort-of by design), this returns if that open succeeded.
BOOL isValid()
Returns true if the file is open and readble and valid information for the Tag and / or AudioProperties was found.
void seek(IV $offset, PV $p = "Beginning")
Move the I/O pointer to $offset in the file from position $p. This defaults to seeking from the beginning of the file.
void clear()
Reset the end-of-file and error flags on the file.
IV tell()
Returns the current offset withing the file.
IV length()
Returns the length of the file.
BOOL isReadable(PV $file) [static]
Returns true if $file can be opened for reading. If the file does not exist, this will return false.
BOOL isWritable(PV $file) [static]
Returns true if $file can be opened for writing.
%_Position
Position in the file used for seeking. C<<less
This class is a basic file class with some methods that are particularly useful for tag editors. It has methods to take advantage of ByteVector and a binary search method for finding patterns in a file.
DESTROY()
Destroys this File instance.
PV name()
Returns the file name in the local file system encoding.
Tag tag() [pure virtual]
Returns this files tag. This should be reimplemented in the concrete subclasses.
AudioProperties audioProperties() [pure virtual]
Returns this files audio properties. This should be reimplemented in the concrete subclasses. If no audio properties were read then this will return undef.
BOOL save() [pure virtual]
Save the file and its associated tags. This should be reimplemented in the concrete subclasses. Returns true if the save succeeds.
ByteVector readBlock(UV $length)
Reads a block of size $length at the current get pointer.
void writeBlock(ByteVector $data)
Attempts to write the block $data at the current get pointer. If the file is currently only opened read only -- i.e. readOnly() returns true -- this attempts to reopen the file in read/write mode.
IV find(ByteVector $pattern, IV $fromOffset = 0, ByteVector $before = ByteVector::null)
Returns the offset in the file that $pattern occurs at or -1 if it can not be found. If $before is set, the search will only continue until the pattern $before is found. This is useful for tagging purposes to search for a tag before the synch frame.
Searching starts at $fromOffset, which defaults to the beginning of the file.
This has the practial limitation that $pattern can not be longer than the buffer size used by readBlock(). Currently this is 1024 bytes.
IV rfind(ByteVector $pattern, IV $fromOffset = 0, ByteVector $before = ByteVector::null)
Returns the offset in the file that $pattern at or -1 if it can not be found. If $before is set, the search will only continue until the pattern $before is found. This is useful for tagging purposes to search for a tag before the synch frame.
Searching starts at $fromOffset and proceeds from the that point to the beginning of the file and defaults to the end of the file.
This has the practial limitation that $pattern can not be longer than the buffer size used by readBlock(). Currently this is 1024 bytes.
void insert(ByteVector $data, UV $start = 0, UV $replace = 0)
Insert $data at position $start in the file overwriting $replace bytes of the original content.
This method is slow since it requires rewriting all of the file after the insertion point.
void removeBlock(UV $start = 0, UV $length = 0)
Removes a block of the file starting a $start and continuing for $length bytes.
This method is slow since it involves rewriting all of the file after the removed portion.
BOOL readOnly()
Returns true if the file is read only (or if the file can not be opened).
BOOL isOpen()
Since the file can currently only be opened as an argument to the constructor (sort-of by design), this returns if that open succeeded.
BOOL isValid()
Returns true if the file is open and readble and valid information for the Tag and / or AudioProperties was found.
void seek(IV $offset, PV $p = "Beginning")
Move the I/O pointer to $offset in the file from position $p. This defaults to seeking from the beginning of the file.
void clear()
Reset the end-of-file and error flags on the file.
IV tell()
Returns the current offset withing the file.
IV length()
Returns the length of the file.
BOOL isReadable(PV $file) [static]
Returns true if $file can be opened for reading. If the file does not exist, this will return false.
BOOL isWritable(PV $file) [static]
Returns true if $file can be opened for writing.
%_Position
Position in the file used for seeking. C<<less
Download (1.4MB)
Added: 2006-06-27 License: GPL (GNU General Public License) Price:
1214 downloads
Audio::TagLib::MPC::File 1.42
Audio::TagLib::MPC::File is an implementation of Audio::TagLib::File with MPC specific methods. more>>
Audio::TagLib::MPC::File is 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
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 files 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 The Tag is B owned by the APE::File and should not be deleted by the user. It will be deleted when the file (object) is destroyed.
<<lessSYNOPSIS
use Audio::TagLib;
my $i = Audio::TagLib::MPC::File->new("sample mpc file.mpc");
print $i->tag()->title()->toCString(), "n"; # got title
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 files 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 The Tag is B owned by the APE::File and should not be deleted by the user. It will be deleted when the file (object) is destroyed.
Download (1.4MB)
Added: 2006-06-27 License: Perl Artistic License Price:
1214 downloads
Audio::TagLib::MPEG::File 1.42
Audio::TagLib::MPEG::File is an MPEG file class with some useful methods specific to MPEG. more>>
Audio::TagLib::MPEG::File is an MPEG file class with some useful methods specific to MPEG.
SYNOPSIS
use Audio::TagLib::MPEG::File;
my $i = Audio::TagLib::MPEG::File->new("sample file.mp3");
print $i->tag()->artist()->toCString(), "n"; # got artist
This implements the generic Audio::TagLib::File API and additionally provides access to properties that are distinct to MPEG files, notably access to the different ID3 tags.
<<lessSYNOPSIS
use Audio::TagLib::MPEG::File;
my $i = Audio::TagLib::MPEG::File->new("sample file.mp3");
print $i->tag()->artist()->toCString(), "n"; # got artist
This implements the generic Audio::TagLib::File API and additionally provides access to properties that are distinct to MPEG files, notably access to the different ID3 tags.
Download (1.4MB)
Added: 2006-11-16 License: Perl Artistic License Price:
1072 downloads
Audio::TagLib::Vorbis::File 1.42
Audio::TagLib::Vorbis::File is an implementation of Ogg::File with Vorbis specific methods. more>>
Audio::TagLib::Vorbis::File is an implementation of Ogg::File with Vorbis specific methods.
SYNOPSIS
use Audio::TagLib::Vorbis::File;
my $i = Audio::TagLib::Vorbis::File->new("sample vorblis file.ogg");
print $i->tag()->comment()->toCString(), "n"; # got comment
This is the central class in the Ogg Vorbis metadata processing collection of classes. Its built upon Ogg::File which handles processing of the Ogg logical bitstream and breaking it down into pages which are handled by the codec implementations, in this case Vorbis specifically.
new(PV $file, BOOL $readProperties = TRUE, PV $propertiesStyle = "Average")
Contructs a Vorbis file from $file. If $readProperties is true the files audio properties will also be read using $propertiesStyle. If false, $propertiesStyle is ignored.
DESTROY()
Destroys this instance of the File.
Ogg::XiphComment tag()
Returns the XiphComment for this file. XiphComment implements the tag interface, so this serves as the reimplementation of Audio::TagLib::File::tag().
Properties audioProperties()
Returns the Vorbis::Properties for this file. If no audio properties were read then this will return undef.
BOOL save()
Saves the File.
<<lessSYNOPSIS
use Audio::TagLib::Vorbis::File;
my $i = Audio::TagLib::Vorbis::File->new("sample vorblis file.ogg");
print $i->tag()->comment()->toCString(), "n"; # got comment
This is the central class in the Ogg Vorbis metadata processing collection of classes. Its built upon Ogg::File which handles processing of the Ogg logical bitstream and breaking it down into pages which are handled by the codec implementations, in this case Vorbis specifically.
new(PV $file, BOOL $readProperties = TRUE, PV $propertiesStyle = "Average")
Contructs a Vorbis file from $file. If $readProperties is true the files audio properties will also be read using $propertiesStyle. If false, $propertiesStyle is ignored.
DESTROY()
Destroys this instance of the File.
Ogg::XiphComment tag()
Returns the XiphComment for this file. XiphComment implements the tag interface, so this serves as the reimplementation of Audio::TagLib::File::tag().
Properties audioProperties()
Returns the Vorbis::Properties for this file. If no audio properties were read then this will return undef.
BOOL save()
Saves the File.
Download (1.4MB)
Added: 2006-06-27 License: GPL (GNU General Public License) Price:
1216 downloads
Audio::TagLib 1.42
Audio::TagLib is a library for reading and editing audio meta data, commonly known as tags. more>>
Audio::TagLib is a library for reading and editing audio meta data, commonly known as tags.
SYNOPSIS
use Audio::TagLib;
use warnings;
use strict;
my $f = Audio::TagLib::FileRef->new("Latex Solar Beef.mp3");
my $artist = $f->tag()->artist();
print $artist->toCString(), "n"; # got "Frank Zappa"
$f->tag()->setAlbum(Audio::TagLib::String->new("Fillmore East"));
$f->save();
my $g = Audio::TagLib::FileRef->new("Free City Rhymes.ogg");
my $album = $g->tag()->album();
print $album->toCString(), "n"; # got "NYC Ghosts & Flowers"
$g->tag()->setTrack(1);
$g->save();
Note that these high level functions work for Ogg, FLAC, MPC and MP3 (or any other formats supported in the future). For this high level API, which is suitable for most applications, the differences between tag and file formats can all be ignored.
Some goals of TagLib: - A clean, high level, C++ API to handling audio meta data. - Support for at least ID3v1, ID3v2 and Ogg Vorbis comments. - A generic, simple API for the most common tagging related functions. - Binary compatibility between minor releases using the standard KDE/Qt techniques for C++ binary compatibility. - Make the tagging framework extensible by library users; i.e. it will be possible for libarary users to implement additional ID3v2 frames, without modifying the TagLib source (through the use of Abstract Factories and such.
Because TagLib desires to be toolkit agnostic, in hope of being widely adopted and the most flexible in licensing TagLib provides many of its own toolkit classes; in fact the only external dependancy that TagLib has, it a semi-sane STL implementation.
<<lessSYNOPSIS
use Audio::TagLib;
use warnings;
use strict;
my $f = Audio::TagLib::FileRef->new("Latex Solar Beef.mp3");
my $artist = $f->tag()->artist();
print $artist->toCString(), "n"; # got "Frank Zappa"
$f->tag()->setAlbum(Audio::TagLib::String->new("Fillmore East"));
$f->save();
my $g = Audio::TagLib::FileRef->new("Free City Rhymes.ogg");
my $album = $g->tag()->album();
print $album->toCString(), "n"; # got "NYC Ghosts & Flowers"
$g->tag()->setTrack(1);
$g->save();
Note that these high level functions work for Ogg, FLAC, MPC and MP3 (or any other formats supported in the future). For this high level API, which is suitable for most applications, the differences between tag and file formats can all be ignored.
Some goals of TagLib: - A clean, high level, C++ API to handling audio meta data. - Support for at least ID3v1, ID3v2 and Ogg Vorbis comments. - A generic, simple API for the most common tagging related functions. - Binary compatibility between minor releases using the standard KDE/Qt techniques for C++ binary compatibility. - Make the tagging framework extensible by library users; i.e. it will be possible for libarary users to implement additional ID3v2 frames, without modifying the TagLib source (through the use of Abstract Factories and such.
Because TagLib desires to be toolkit agnostic, in hope of being widely adopted and the most flexible in licensing TagLib provides many of its own toolkit classes; in fact the only external dependancy that TagLib has, it a semi-sane STL implementation.
Download (1.4MB)
Added: 2006-11-14 License: Perl Artistic License Price:
1074 downloads
Audio::TagLib::Tag 1.42
Audio::TagLib::Tag is a simple, generic interface to common audio meta data fields. more>>
Audio::TagLib::Tag is a simple, generic interface to common audio meta data fields.
This is an attempt to abstract away the difference in the meta data formats of various audio codecs and tagging schemes. As such it is generally a subset of what is available in the specific formats but should be suitable for most applications. This is meant to complient the generic APIs found in Audio::TagLib::AudioProperties, Audio::TagLib::File and Audio::TagLib::FileRef.
DESTROY()
Detroys this Tag instance.
String title() [pure virtual]
Returns the track name; if no track name is present in the tag String::null will be returned.
String artist() [pure virtual]
Returns the artist name; if no artist name is present in the tag String::null will be returned.
String album() [pure virtual]
Returns the album name; if no album name is present in the tag String::null will be returned.
String comment() [pure virtual]
Returns the track comment; if no comment is present in the tag String::null will be returned.
String genre() [pure virtual]
Returns the genre name; if no genre is present in the tag String::null will be returned.
UV year() [pure virtual]
Returns the year; if there is no year set, this will return 0.
UV track() [pure virtual]
Returns the track number; if there is no track number set, this will return 0.
void setTitle(String $s) [pure virtual]
Sets the title to $s. If $s is String::null() then this value will be cleared.
void setArtist(String $s) [pure virtual]
Sets the artist to $s. If $s is String::null() then this value will be cleared.
void setAlbum(String $s) [pure virtual]
Sets the album to $s. If $s is String::null() then this value will be cleared.
void setComment(String $s) [pure virtual]
Sets the comment to $s. If $s is String::null() then this value will be cleared.
void setGenre(String $s) [pure virtual]
Sets the genre to $s. If $s is String::null() then this value will be cleared. For tag formats that use a fixed set of genres, the appropriate value will be selected based on a string comparison. A list of available genres for those formats should be available in that types implementation.
void setYear(UV $i) [pure virtual]
Sets the year to $i. If $i is 0 then this value will be cleared.
void setTrack(UV $i) [pure virtual]
Sets the track to $i. If $i is 0 then this value will be cleared.
void duplicate(Tag $source, Tag $target, BOOL $overwrite = TRUE) [static]
Copies the generic data from one tag to another.
NOTE This will no affect any of the lower level details of the tag. For instance if any of the tag type specific data (maybe a URL for a band) is set, this will not modify or copy that. This just copies using the API in this class.
If $overwrite is true then the values will be unconditionally copied. If false only empty values will be overwritten.
<<lessThis is an attempt to abstract away the difference in the meta data formats of various audio codecs and tagging schemes. As such it is generally a subset of what is available in the specific formats but should be suitable for most applications. This is meant to complient the generic APIs found in Audio::TagLib::AudioProperties, Audio::TagLib::File and Audio::TagLib::FileRef.
DESTROY()
Detroys this Tag instance.
String title() [pure virtual]
Returns the track name; if no track name is present in the tag String::null will be returned.
String artist() [pure virtual]
Returns the artist name; if no artist name is present in the tag String::null will be returned.
String album() [pure virtual]
Returns the album name; if no album name is present in the tag String::null will be returned.
String comment() [pure virtual]
Returns the track comment; if no comment is present in the tag String::null will be returned.
String genre() [pure virtual]
Returns the genre name; if no genre is present in the tag String::null will be returned.
UV year() [pure virtual]
Returns the year; if there is no year set, this will return 0.
UV track() [pure virtual]
Returns the track number; if there is no track number set, this will return 0.
void setTitle(String $s) [pure virtual]
Sets the title to $s. If $s is String::null() then this value will be cleared.
void setArtist(String $s) [pure virtual]
Sets the artist to $s. If $s is String::null() then this value will be cleared.
void setAlbum(String $s) [pure virtual]
Sets the album to $s. If $s is String::null() then this value will be cleared.
void setComment(String $s) [pure virtual]
Sets the comment to $s. If $s is String::null() then this value will be cleared.
void setGenre(String $s) [pure virtual]
Sets the genre to $s. If $s is String::null() then this value will be cleared. For tag formats that use a fixed set of genres, the appropriate value will be selected based on a string comparison. A list of available genres for those formats should be available in that types implementation.
void setYear(UV $i) [pure virtual]
Sets the year to $i. If $i is 0 then this value will be cleared.
void setTrack(UV $i) [pure virtual]
Sets the track to $i. If $i is 0 then this value will be cleared.
void duplicate(Tag $source, Tag $target, BOOL $overwrite = TRUE) [static]
Copies the generic data from one tag to another.
NOTE This will no affect any of the lower level details of the tag. For instance if any of the tag type specific data (maybe a URL for a band) is set, this will not modify or copy that. This just copies using the API in this class.
If $overwrite is true then the values will be unconditionally copied. If false only empty values will be overwritten.
Download (1.4MB)
Added: 2006-06-21 License: Perl Artistic License Price:
1221 downloads
Audio::TagLib::Shell 1.42
Audio::TagLib::Shell is a mini shell of Audio::TagLib. more>>
Audio::TagLib::Shell is a mini shell of Audio::TagLib.
SYNOPSIS
$> perl -MAudio::TagLib::Shell -e shell
$tag:>open
file openned successfully
$tag:o>title
< title in tag >
$tag:o>artist
< artist in tag >
$tag:o>channels
2
$tag:o>setComment blah blah blah
comment set successfully
$tag:o>comment
blah blah blah
$tag:o>save
data saved successfully
$tag:>exit
A mini shell of Audio::TagLib, for viewing and editing common audio meta data on the fly.
The functionality offerred follows the abstract interface designing of Audio::TagLib, for instance, Audio::TagLib::Tag and Audio::TagLib::AudioProperties.
<<lessSYNOPSIS
$> perl -MAudio::TagLib::Shell -e shell
$tag:>open
file openned successfully
$tag:o>title
< title in tag >
$tag:o>artist
< artist in tag >
$tag:o>channels
2
$tag:o>setComment blah blah blah
comment set successfully
$tag:o>comment
blah blah blah
$tag:o>save
data saved successfully
$tag:>exit
A mini shell of Audio::TagLib, for viewing and editing common audio meta data on the fly.
The functionality offerred follows the abstract interface designing of Audio::TagLib, for instance, Audio::TagLib::Tag and Audio::TagLib::AudioProperties.
Download (0.013MB)
Added: 2006-06-27 License: GPL (GNU General Public License) Price:
1214 downloads
Audio::TagLib::AudioProperties 1.42
Audio::TagLib::AudioProperties is a simple, abstract interface to common audio properties. more>>
Audio::TagLib::AudioProperties is a simple, abstract interface to common audio properties.
DESCRIPTION
The values here are common to most audio formats. For more specific, codec dependant values, please see see the subclasses APIs. This is meant to compliment the Audio::TagLib::File and Audio::TagLib::Tag APIs in providing a simple interface that is sufficient for most applications.
%_ReadStyle
Reading audio properties from a file can sometimes be very time consuming and for the most accurate results can often involve reading the entire file. Because in many situations speed is critical or the accuracy of the values is not particularly important this allows the level of desired accuracy to be set.
keys %Audio::TagLib::AudioProperties::_ReadStyle lists all available values used in Perl code.
see FLAC::Properties MPC::Properties MPEG::Properties Vorbis::Properties
DESTROY()
Destroys this AudioProperties instance.
length() [pure virtual]
Returns the lenght of the file in seconds.
bitrate() [pure virtual]
Returns the most appropriate bit rate for the file in kb/s. For constant bitrate formats this is simply the bitrate of the file. For variable bitrate formats this is either the average or nominal bitrate.
sampleRate() [pure virtual]
Returns the sample rate in Hz.
channels() [pure virtual]
Returns the number of audio channels.
<<lessDESCRIPTION
The values here are common to most audio formats. For more specific, codec dependant values, please see see the subclasses APIs. This is meant to compliment the Audio::TagLib::File and Audio::TagLib::Tag APIs in providing a simple interface that is sufficient for most applications.
%_ReadStyle
Reading audio properties from a file can sometimes be very time consuming and for the most accurate results can often involve reading the entire file. Because in many situations speed is critical or the accuracy of the values is not particularly important this allows the level of desired accuracy to be set.
keys %Audio::TagLib::AudioProperties::_ReadStyle lists all available values used in Perl code.
see FLAC::Properties MPC::Properties MPEG::Properties Vorbis::Properties
DESTROY()
Destroys this AudioProperties instance.
length() [pure virtual]
Returns the lenght of the file in seconds.
bitrate() [pure virtual]
Returns the most appropriate bit rate for the file in kb/s. For constant bitrate formats this is simply the bitrate of the file. For variable bitrate formats this is either the average or nominal bitrate.
sampleRate() [pure virtual]
Returns the sample rate in Hz.
channels() [pure virtual]
Returns the number of audio channels.
Download (1.4MB)
Added: 2006-06-21 License: Perl Artistic License Price:
1221 downloads
Audio::TagLib::ByteVector 1.42
Audio::TagLib::ByteVector is a byte vector. more>>
Audio::TagLib::ByteVector is a byte vector.
SYNOPSIS
use Audio::TagLib::ByteVector;
my $i = Audio::TagLib::ByteVector->new();
$i->setData("blah blah blah");
print $i->data(), "n"; # got "blah blah blah"
This class provides a byte vector with some methods that are useful for tagging purposes. Many of the search functions are tailored to what is useful for finding tag related paterns in a data array.
<<lessSYNOPSIS
use Audio::TagLib::ByteVector;
my $i = Audio::TagLib::ByteVector->new();
$i->setData("blah blah blah");
print $i->data(), "n"; # got "blah blah blah"
This class provides a byte vector with some methods that are useful for tagging purposes. Many of the search functions are tailored to what is useful for finding tag related paterns in a data array.
Download (1.4MB)
Added: 2006-09-26 License: Perl Artistic License Price:
1123 downloads
Audio::TagLib::ID3v2::RelativeVolumeFrame 1.42
Audio::TagLib::ID3v2::RelativeVolumeFrame is an ID3v2 relative volume adjustment frame implementation. more>>
Audio::TagLib::ID3v2::RelativeVolumeFrame is an ID3v2 relative volume adjustment frame implementation.
SYNOPSIS
use Audio::TagLib::ID3v2::RelativeVolumeFrame;
my $i = Audio::TagLib::ID3v2::RelativeVolumeFrame->new(
Audio::TagLib::ByteVector->new(""));
$i->setChannelType("MasterVolume");
print $i->channelType(), "n"; # got "MasterVolume"
This is an implementation of ID3v2 relative volume adjustment. The presense of this frame makes it possible to specify an increase in volume for an audio file or specific audio tracks in that file.
Multiple relative volume adjustment frames may be present in the tag each with a unique identification and describing volume adjustment for different channel types.
new()
Constructs a RelativeVolumeFrame. The relevant data should be set manually.
new(ByteVector $data)
Constructs a RelativeVolumeFrame based on the contents of $data.
DESTROY()
Destroys the RelativeVolumeFrame instance.
String toString()
Returns the frames identification.
see identification()
LIST channles()
Returns a list of channels with information currently in the frame.
NOTE This should be a list of PV which indicates the ChannelType.
see %_ChannelType
PV channelType()
Always returns master volume.
deprecated
void setChannelType(PV $t)
This method no longer has any effect.
deprecated
IV volumeAdjustmentIndex(PV $type = "MasterVolume")
Returns the relative volume adjustment "index". As indicated by the ID3v2 standard this is a 16-bit signed integer that reflects the decibils of adjustment when divided by 512.
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
see setVolumeAdjustmentIndex()
see volumeAjustment()
void setVolumeAdjustmentIndex(IV $index, PV $type = "MasterVolume")
Set the volume adjustment to $index. As indicated by the ID3v2 standard this is a 16-bit signed integer that reflects the decibils of adjustment when divided by 512.
By default this sets the value for the master volume.
see volumeAdjustmentIndex()
see setVolumeAdjustment()
< NV volumeAdjustment(PV $type = "MasterVolume") >
Returns the relative volume adjustment in decibels.
NOTE Because this is actually stored internally as an "index" to this value the value returned by this method may not be identical to the value set using setVolumeAdjustment().
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
see setVolumeAdjustment()
see volumeAdjustmentIndex()
void setVolumeAdjustment(NV $adjustment, PV $type = "MasterVolume")
Set the relative volume adjustment in decibels to $adjustment.
By default this sets the value for the master volume.
NOTE Because this is actually stored internally as an "index" to this value the value set by this method may not be identical to the one returned by volumeAdjustment().
see setVolumeAdjustment()
see volumeAdjustmentIndex()
PeakVolume peakVolume(PV $type = "MasterVolume")
Returns the peak volume (represented as a length and a string of bits).
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
see setPeakVolume()
setPeakVolume(PeakVolume $peak, PV $type = "MasterVolume")
Sets the peak volume to $peak.
By default this sets the value for the master volume.
see peakVolume()
%_ChannelType
This indicates the type of volume adjustment that should be applied. keys %Audio::TagLib::ID3v2::RelativeVolumeFrame::_ChannelType lists all available values used in Perl code.
<<lessSYNOPSIS
use Audio::TagLib::ID3v2::RelativeVolumeFrame;
my $i = Audio::TagLib::ID3v2::RelativeVolumeFrame->new(
Audio::TagLib::ByteVector->new(""));
$i->setChannelType("MasterVolume");
print $i->channelType(), "n"; # got "MasterVolume"
This is an implementation of ID3v2 relative volume adjustment. The presense of this frame makes it possible to specify an increase in volume for an audio file or specific audio tracks in that file.
Multiple relative volume adjustment frames may be present in the tag each with a unique identification and describing volume adjustment for different channel types.
new()
Constructs a RelativeVolumeFrame. The relevant data should be set manually.
new(ByteVector $data)
Constructs a RelativeVolumeFrame based on the contents of $data.
DESTROY()
Destroys the RelativeVolumeFrame instance.
String toString()
Returns the frames identification.
see identification()
LIST channles()
Returns a list of channels with information currently in the frame.
NOTE This should be a list of PV which indicates the ChannelType.
see %_ChannelType
PV channelType()
Always returns master volume.
deprecated
void setChannelType(PV $t)
This method no longer has any effect.
deprecated
IV volumeAdjustmentIndex(PV $type = "MasterVolume")
Returns the relative volume adjustment "index". As indicated by the ID3v2 standard this is a 16-bit signed integer that reflects the decibils of adjustment when divided by 512.
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
see setVolumeAdjustmentIndex()
see volumeAjustment()
void setVolumeAdjustmentIndex(IV $index, PV $type = "MasterVolume")
Set the volume adjustment to $index. As indicated by the ID3v2 standard this is a 16-bit signed integer that reflects the decibils of adjustment when divided by 512.
By default this sets the value for the master volume.
see volumeAdjustmentIndex()
see setVolumeAdjustment()
< NV volumeAdjustment(PV $type = "MasterVolume") >
Returns the relative volume adjustment in decibels.
NOTE Because this is actually stored internally as an "index" to this value the value returned by this method may not be identical to the value set using setVolumeAdjustment().
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
see setVolumeAdjustment()
see volumeAdjustmentIndex()
void setVolumeAdjustment(NV $adjustment, PV $type = "MasterVolume")
Set the relative volume adjustment in decibels to $adjustment.
By default this sets the value for the master volume.
NOTE Because this is actually stored internally as an "index" to this value the value set by this method may not be identical to the one returned by volumeAdjustment().
see setVolumeAdjustment()
see volumeAdjustmentIndex()
PeakVolume peakVolume(PV $type = "MasterVolume")
Returns the peak volume (represented as a length and a string of bits).
This defaults to returning the value for the master volume channel if available and returns 0 if the specified channel does not exist.
see setPeakVolume()
setPeakVolume(PeakVolume $peak, PV $type = "MasterVolume")
Sets the peak volume to $peak.
By default this sets the value for the master volume.
see peakVolume()
%_ChannelType
This indicates the type of volume adjustment that should be applied. keys %Audio::TagLib::ID3v2::RelativeVolumeFrame::_ChannelType lists all available values used in Perl code.
Download (1.4MB)
Added: 2006-06-27 License: GPL (GNU General Public License) Price:
1215 downloads
Audio::TagLib::MPEG::Header 1.42
Audio::TagLib::MPEG::Header is an implementation of MP3 frame headers. more>>
Audio::TagLib::MPEG::Header is an implementation of MP3 frame headers.
SYNOPSIS
use Audio::TagLib::MPEG::Header;
my $i = Audio::TagLib::MPEG::Header->new($data);
This is an implementation of MPEG Layer III headers. The API follows more or less the binary format of these headers. Refer to
http://www.mp3-tech.org/programmer/frame_header.html
new(ByteVector $data)
Parses an MPEG header based on $data.
new(Header $h)
Does a shallow copy of $h.
DESTROY()
Destroys this Header instance.
BOOL isValid()
Returns true if the frame is at least an appropriate size and has legal values.
%_Version
The MPEG Version. keys %Audio::TagLib::MPEG::Header::_Version lists all available values used in Perl code.
PV version()
Returns the MPEG Version of the header.
IV layer()
Returns the layer version. This will be between the values 1-3.
BOOL protectionEnabled()
Returns true if the MPEG protection bit is enabled.
IV bitrate()
Returns the bitrate encoded in the header.
IV sampleRate()
Returns the sample rate in Hz.
BOOL isPadded()
Returns true if the frame is padded.
%_ChannelMode
There are a few combinations or one or two channel audio that are possible. keys %Audio::TagLib::MPEG::Header::_ChannelMode lists all available values used in Perl code.
PV channelMode()
Returns the channel mode for this frame.
BOOL isCopyrighted()
Returns true if the copyrighted bit is set.
BOOL isOriginal()
Returns true if the "original" bit is set.
IV frameLength()
Returns the frame length.
copy(Header $h)
Makes a shallow copy of the header.
<<lessSYNOPSIS
use Audio::TagLib::MPEG::Header;
my $i = Audio::TagLib::MPEG::Header->new($data);
This is an implementation of MPEG Layer III headers. The API follows more or less the binary format of these headers. Refer to
http://www.mp3-tech.org/programmer/frame_header.html
new(ByteVector $data)
Parses an MPEG header based on $data.
new(Header $h)
Does a shallow copy of $h.
DESTROY()
Destroys this Header instance.
BOOL isValid()
Returns true if the frame is at least an appropriate size and has legal values.
%_Version
The MPEG Version. keys %Audio::TagLib::MPEG::Header::_Version lists all available values used in Perl code.
PV version()
Returns the MPEG Version of the header.
IV layer()
Returns the layer version. This will be between the values 1-3.
BOOL protectionEnabled()
Returns true if the MPEG protection bit is enabled.
IV bitrate()
Returns the bitrate encoded in the header.
IV sampleRate()
Returns the sample rate in Hz.
BOOL isPadded()
Returns true if the frame is padded.
%_ChannelMode
There are a few combinations or one or two channel audio that are possible. keys %Audio::TagLib::MPEG::Header::_ChannelMode lists all available values used in Perl code.
PV channelMode()
Returns the channel mode for this frame.
BOOL isCopyrighted()
Returns true if the copyrighted bit is set.
BOOL isOriginal()
Returns true if the "original" bit is set.
IV frameLength()
Returns the frame length.
copy(Header $h)
Makes a shallow copy of the header.
Download (1.4MB)
Added: 2006-06-30 License: Perl Artistic License Price:
1217 downloads
Audio::TagLib::ID3v2::SynchData 1.42
Audio::TagLib::ID3v2::SynchData is a Perl module with a few functions for ID3v2 synch safe integer conversion. more>>
Audio::TagLib::ID3v2::SynchData is a Perl module with a few functions for ID3v2 synch safe integer conversion.
SYNOPSIS
use Audio::TagLib::ID3v2::SynchData;
print Audio::TagLib::ID3v2::SynchData->toUInt(
Audio::TagLib::ByteVector->new("11")), "n"; # got 6321
print Audio::TagLib::ID3v2::SynchData->fromUInt(6321)->data(), "n";
# got "11"
In the ID3v2.4 standard most integer values are encoded as "synch safe" integers which are encoded in such a way that they will not give false MPEG syncs and confuse MPEG decoders. This namespace provides some methods for converting to and from these values to ByteVectors for things rendering and parsing ID3v2 data.
UV toUInt(ByteVector $data)
This returns the unsigned integer value of $data where $data is a ByteVector that contains synchsafe integer. The default length of 4 is used if another value is not specified.
ByteVector fromUInt(UV $value)
Returns a 4 byte (32 bit) synchsafe integer based on $value.
EXPORT
None by default.
<<lessSYNOPSIS
use Audio::TagLib::ID3v2::SynchData;
print Audio::TagLib::ID3v2::SynchData->toUInt(
Audio::TagLib::ByteVector->new("11")), "n"; # got 6321
print Audio::TagLib::ID3v2::SynchData->fromUInt(6321)->data(), "n";
# got "11"
In the ID3v2.4 standard most integer values are encoded as "synch safe" integers which are encoded in such a way that they will not give false MPEG syncs and confuse MPEG decoders. This namespace provides some methods for converting to and from these values to ByteVectors for things rendering and parsing ID3v2 data.
UV toUInt(ByteVector $data)
This returns the unsigned integer value of $data where $data is a ByteVector that contains synchsafe integer. The default length of 4 is used if another value is not specified.
ByteVector fromUInt(UV $value)
Returns a 4 byte (32 bit) synchsafe integer based on $value.
EXPORT
None by default.
Download (1.4MB)
Added: 2006-11-17 License: Perl Artistic License Price:
1071 downloads
Audio::TagLib::MPEG::Properties 1.42
Audio::TagLib::MPEG::Properties is an implementation of audio property reading for MP3. more>>
Audio::TagLib::MPEG::Properties is an implementation of audio property reading for MP3.
SYNOPSIS
use Audio::TagLib::MPEG::Properties;
my $f = Audio::TagLib::MPEG::File->new("sample file.mp3");
my $i = $f->audioProperties();
print $i->layer(), "n"; # got 3
This reads the data from an MPEG Layer III stream found in the AudioProperties API.
new(PV $file, PV $style = "Average")
Create an instance of MPEG::Properties with the data read from the MPEG::File $file.
DESTROY()
Destroys this MPEG Properties instance.
IV length()
IV bitrate()
IV sampleRate()
IV channels()
see AudioProperties
PV version()
Returns the MPEG Version of the file.
see Audio::TagLib::MPEG::Header
IV layer()
Returns the layer version. This will be between the values 1-3.
BOOL protectionEnabled()
Returns true if the MPEG protection bit is enabled.
PV channelMode()
Returns the channel mode for this frame.
see Audio::TagLib::MPEG::Header
BOOL isCopyrighted()
Returns true if the copyrighted bit is set.
BOOL isOriginal()
Returns true if the "original" bit is set.
<<lessSYNOPSIS
use Audio::TagLib::MPEG::Properties;
my $f = Audio::TagLib::MPEG::File->new("sample file.mp3");
my $i = $f->audioProperties();
print $i->layer(), "n"; # got 3
This reads the data from an MPEG Layer III stream found in the AudioProperties API.
new(PV $file, PV $style = "Average")
Create an instance of MPEG::Properties with the data read from the MPEG::File $file.
DESTROY()
Destroys this MPEG Properties instance.
IV length()
IV bitrate()
IV sampleRate()
IV channels()
see AudioProperties
PV version()
Returns the MPEG Version of the file.
see Audio::TagLib::MPEG::Header
IV layer()
Returns the layer version. This will be between the values 1-3.
BOOL protectionEnabled()
Returns true if the MPEG protection bit is enabled.
PV channelMode()
Returns the channel mode for this frame.
see Audio::TagLib::MPEG::Header
BOOL isCopyrighted()
Returns true if the copyrighted bit is set.
BOOL isOriginal()
Returns true if the "original" bit is set.
Download (1.4MB)
Added: 2006-11-09 License: Perl Artistic License Price:
1082 downloads
Audio::TagLib::MPEG::XingHeader 1.42
Audio::TagLib::MPEG::XingHeader is an implementation of the Xing VBR headers. more>>
Audio::TagLib::MPEG::XingHeader is an implementation of the Xing VBR headers.
SYNOPSIS
use Audio::TagLib::MPEG::XingHeader;
my $i = Audio::TagLib::MPEG::XingHeader->new($data);
print $i->isValid() ? "valid" : "invalid", "n";
This is a minimalistic implementation of the Xing VBR headers. Xing headers are often added to VBR (variable bit rate) MP3 streams to make it easy to compute the length and quality of a VBR stream. Our implementation is only concerned with the total size of the stream (so that we can calculate the total playing time and the average bitrate). It uses http://home.pcisys.net/~melanson/codecs/mp3extensions.txt and the XMMS sources as references.
new(ByteVector $data)
Parses a Xing header based on $data. The data must be at least 16 bytes long (anything longer than this is discarded).
DESTROY()
Destroy this XingHeader instance
BOOL isValid()
Returns true if the data was parsed properly and if there is a vaild Xing header present.
UV totalFrames()
Returns the total number of frames.
UV totalSize()
Returns the total size of stream in bytes.
IV xingHeaderOffset(PV $version, PV $channelMode) [static]
Returns the offset for the start of this Xing header, given the version and channels of the frame
see Audio::TagLib::MPEG::Header
<<lessSYNOPSIS
use Audio::TagLib::MPEG::XingHeader;
my $i = Audio::TagLib::MPEG::XingHeader->new($data);
print $i->isValid() ? "valid" : "invalid", "n";
This is a minimalistic implementation of the Xing VBR headers. Xing headers are often added to VBR (variable bit rate) MP3 streams to make it easy to compute the length and quality of a VBR stream. Our implementation is only concerned with the total size of the stream (so that we can calculate the total playing time and the average bitrate). It uses http://home.pcisys.net/~melanson/codecs/mp3extensions.txt and the XMMS sources as references.
new(ByteVector $data)
Parses a Xing header based on $data. The data must be at least 16 bytes long (anything longer than this is discarded).
DESTROY()
Destroy this XingHeader instance
BOOL isValid()
Returns true if the data was parsed properly and if there is a vaild Xing header present.
UV totalFrames()
Returns the total number of frames.
UV totalSize()
Returns the total size of stream in bytes.
IV xingHeaderOffset(PV $version, PV $channelMode) [static]
Returns the offset for the start of this Xing header, given the version and channels of the frame
see Audio::TagLib::MPEG::Header
Download (1.4MB)
Added: 2006-11-14 License: Perl Artistic License Price:
1076 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above audio taglib ogg flac file 1.42 search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed