Audio-TagLib
view release on metacpan or search on metacpan
Only fatal bugs will be addressed on this thread.
- While all of the tests pass, it's not guaranteed that all of the
TagLib functionality has been tested. YMMV!
- Add Audio:: to MODULE and DISTRIBUTION statements in xs/*
used script fix_dcls.pl
- Updated ppport.h
- Cleaned auto-inserted comments from t/*
- Fixed coding errors in t/*
- Swapped in guitar.* in sample/; adds .wav and .flac
Produced from guitar.wav using Audacity. Where guitar.wav came
from is anybody's guess
1.50_01 10.07.2009
- patch from CHOCOLATE _at_ cpan dot org (#36560)
- patch from Spr _at_ cpan dot org (#24410)
- enable build for taglib v1.5
1.43 Tu 17.01.07
- support for MacOSX
- fix on MakeFile.PL
lib/Audio/TagLib/FileRef.pm view on Meta::CPAN
see L<FileTypeResolver|Audio::TagLib::FileRef::FileTypeResolver>
=item I<BOOL isNull()>
Returns true if the file (and as such other pointers) are null.
=item I<L<File|Audio::TagLib::File> create(PV $fileName, BOOL
$readAudioProperties = TRUE, L<PV|Audio::TagLib::AudioProperties>
$audioPropertiesStyle = "Average")> [static]
A simple implementation of file type guessing. If $readAudioProperties
is true then the audio properties will be read using
$audioPropertiesStyle. If $readAudioProperties is false then
$audioPropertiesStyle will be ignored.
B<NOTE> You generally shouldn't use this method, but instead the
constructor directly.
=back
=head2 OVERLOADED OPERATORS
#ifndef UV_MAX
# define UV_MAX PERL_ULONG_MAX
#endif
#endif
#ifndef IVSIZE
# ifdef LONGSIZE
# define IVSIZE LONGSIZE
# else
# define IVSIZE 4 /* A bold guess, but the best we can make. */
# endif
#endif
#ifndef UVTYPE
# define UVTYPE unsigned IVTYPE
#endif
#ifndef UVSIZE
# define UVSIZE IVSIZE
#endif
#ifndef sv_setuv
t/TagLib_ID3v1_GenreMap_Iterator.t view on Meta::CPAN
isa_ok(Audio::TagLib::ID3v1::GenreMap::Iterator->new(),
"Audio::TagLib::ID3v1::GenreMap::Iterator") or
diag("method new() failed");
isa_ok(Audio::TagLib::ID3v1::GenreMap::Iterator->new($i),
"Audio::TagLib::ID3v1::GenreMap::Iterator") or
diag("method new(i) failed");
# Drum Solo
cmp_ok($i->data(), "==", 123) or
diag("method data() failed");
# Synthpop (I'm guessing)
cmp_ok($i->next()->data(), "==", 148) or
diag("method next() failed");
cmp_ok((--$i)->data(), "==", 123) or
diag("method last() failed");
t/TagLib_ID3v2_FrameList.t view on Meta::CPAN
}
my $j = $tag->frameList();
# $j is List of Frames of Audio::TagLib::ID3v2::Tag and inherits from TagLib::Tag
# framelist returns the FrameList, frames in the order that they were inserted
# i.e., not sorted; see above.
# $i is Audio::TagLib::ID3v2::FrameList
# Framelist is a List of type Frame (List<Frame>)
# insert, begin and end are all methods of type List<T>
# This uses the end() iterator to insert the front item from the framelist $j.
# which (I'm guessing here) is the Title, etc from above.
$i->insert($i->end(), $j->front());
# So, we get the front item from $i, and verify that its the title
# thus verifying that its what was inserted first
like($i->front()->render()->data(), qr/^TIT2.*?title$/) or
diag("method insert(it, item) & front() failed");
# This verifies that in $i back() is the same as fromt()
# i.e., $i is a FrameList with one member
like($i->back()->render()->data(), qr/^TIT2.*?title$/) or
( run in 3.275 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )