taglib
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 51
TagLib 1.4
TagLib is a C++ library for reading and modifying audio meta data, commonly called tags. more>> <<less
Download (0.70MB)
Added: 2005-07-28 License: GPL (GNU General Public License) Price:
1550 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
Chart Taglibs 0.3
Chart Taglibs is a free taglib (JSP 1.1) library for JFreeChart. more>>
Chart Taglibs is a free taglib (JSP 1.1) library for JFreeChart.
These are easy to use, and allow the developer to draw any graphics supported by JFreeChart using only the tags.
Chart Taglibs currently supports pie charts (2D & 3D), bar charts (2D & 3D), and line charts.
Enhancements:
- New charts are supported: 3D Line charts, Area chars, Ring charts, Stacked Bar charts, Stacked 3D Bar charts, Stacked Area charts, and Waterfall charts.
- A minor bug was fixed to avoid a null pointer exception.
- A new Web page with documentation and screenshots was added.
<<lessThese are easy to use, and allow the developer to draw any graphics supported by JFreeChart using only the tags.
Chart Taglibs currently supports pie charts (2D & 3D), bar charts (2D & 3D), and line charts.
Enhancements:
- New charts are supported: 3D Line charts, Area chars, Ring charts, Stacked Bar charts, Stacked 3D Bar charts, Stacked Area charts, and Waterfall charts.
- A minor bug was fixed to avoid a null pointer exception.
- A new Web page with documentation and screenshots was added.
Download (0.018MB)
Added: 2006-05-25 License: GPL (GNU General Public License) Price:
1249 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::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::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::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::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::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::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::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::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
AxKit2::XSP::SimpleTaglib 1.1
AxKit2::XSP::SimpleTaglib is an alternate XSP taglib helper. more>>
AxKit2::XSP::SimpleTaglib is an alternate XSP taglib helper.
SYNOPSIS
package Your::XSP::Package;
use AxKit2::XSP::SimpleTaglib;
... more initialization stuff, start_document handler, utility functions, whatever
you like, but no parse_start/end handler needed - if in doubt, just leave empty ...
sub some_tag : XSP_attrib(id) XSP_attribOrChild(some-param) XSP_node(result) XSP_keepWhitespace {
my ($tag, $attr, $stack, $struct) = @_;
return do_something($$attr{some-param},$$attr{id});
}
# old style usage no longer documented, but still supported
This taglib helper allows you to easily write tag handlers with most of the common behaviours needed. It manages all Design Patterns from the XSP man page plus several other useful tag styles, including object-like access as in ESQL.
Simple handler subs
A tag " " will trigger a call to sub "foo" during the closing tag event. What happens in between can be configured in many ways using Perl function attributes. In the rare cases where some action has to happen during the opening tag event, you may provide a sub "foo__open" (double underscore) which will be called at the appropriate time. Usually you would only do that for if- style tags which enclose some block of code. if-style tags usually also need the XSP_compile flag.
Contrary to the former behaviour, your tag handler is called during the XSP execution stage, so you should directly return the result value. The XSP_compile flag is available to have your handler called in the parse stage, when the XSP script is being constructed. Then, it is the responsibility of the handler to return a Perl code fragment to be appended to the XSP script.
As a comparison, TaglibHelper subs are strictly run-time called, while plain taglibs without any helper are strictly compile-time called.
Warning: The old usage is still fully supported, but you should not use it anymore. It may become deprecated in a future release and will be removed entirely afterwards. Porting it to the new style usage is quite easy: remove the line reading "package your-taglib::Handler;", then prefix "XSP_" to all Perl attributes (e.g., "childStruct" becomes "XSP_childStruct"), and add "XSP_compile" to every handler sub. If after your refactoring some handler sub doesnt carry any Perl attribute anymore, add a plain "XSP" Perl attribute.
Perl attributes without the XSP_ prefix cause a warning (actually, sometimes even two, one from Perl and one from SimpleTaglib), as lower-case Perl attributes are reserved for Perl itself.
<<lessSYNOPSIS
package Your::XSP::Package;
use AxKit2::XSP::SimpleTaglib;
... more initialization stuff, start_document handler, utility functions, whatever
you like, but no parse_start/end handler needed - if in doubt, just leave empty ...
sub some_tag : XSP_attrib(id) XSP_attribOrChild(some-param) XSP_node(result) XSP_keepWhitespace {
my ($tag, $attr, $stack, $struct) = @_;
return do_something($$attr{some-param},$$attr{id});
}
# old style usage no longer documented, but still supported
This taglib helper allows you to easily write tag handlers with most of the common behaviours needed. It manages all Design Patterns from the XSP man page plus several other useful tag styles, including object-like access as in ESQL.
Simple handler subs
A tag " " will trigger a call to sub "foo" during the closing tag event. What happens in between can be configured in many ways using Perl function attributes. In the rare cases where some action has to happen during the opening tag event, you may provide a sub "foo__open" (double underscore) which will be called at the appropriate time. Usually you would only do that for if- style tags which enclose some block of code. if-style tags usually also need the XSP_compile flag.
Contrary to the former behaviour, your tag handler is called during the XSP execution stage, so you should directly return the result value. The XSP_compile flag is available to have your handler called in the parse stage, when the XSP script is being constructed. Then, it is the responsibility of the handler to return a Perl code fragment to be appended to the XSP script.
As a comparison, TaglibHelper subs are strictly run-time called, while plain taglibs without any helper are strictly compile-time called.
Warning: The old usage is still fully supported, but you should not use it anymore. It may become deprecated in a future release and will be removed entirely afterwards. Porting it to the new style usage is quite easy: remove the line reading "package your-taglib::Handler;", then prefix "XSP_" to all Perl attributes (e.g., "childStruct" becomes "XSP_childStruct"), and add "XSP_compile" to every handler sub. If after your refactoring some handler sub doesnt carry any Perl attribute anymore, add a plain "XSP" Perl attribute.
Perl attributes without the XSP_ prefix cause a warning (actually, sometimes even two, one from Perl and one from SimpleTaglib), as lower-case Perl attributes are reserved for Perl itself.
Download (0.63MB)
Added: 2006-09-12 License: Perl Artistic License Price:
1137 downloads
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
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 taglib 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