AnyData::Format::Mp3(3pm) User Contributed Perl Documentation AnyData::Format::Mp3(3pm)NAME
AnyData::Format::Mp3 - tied hash and DBI access to Mp3 files
SYNOPSIS
use AnyData;
my $playlist = adTie( 'Passwd', ['c:/My Music/'] );
while (my $song = each %$playlist){
print $song->{artist} if $song->{genre} eq 'Reggae'
}
OR
use DBI
my $dbh = DBI->connect('dbi:AnyData:');
$dbh->func('playlist','Mp3,['c:/My Music'],'ad_catalog');
my $playlist = $dbh->selectall_arrayref( qq{
SELECT artist, title FROM playlist WHERE genre = 'Reggae'
});
# ... other DBI/SQL operations
DESCRIPTION
This module provides a tied hash interface and a DBI/SQL interface to MP files. It creates an in-memory database or hash from the Mp3
files themselves without actually creating a separate database file. This means that the database is automatically updated just by moving
files in or out of the directories.
Many mp3 (mpeg three) music files contain a header describing the song name, artist, and other information about the music.
Simply choose 'Mp3' as the format and give a reference to an array of directories containing mp3 files. Each file in those directories
will become a record containing the fields:
song
artist
album
year
genre
filename
filesize
This module is a submodule of the AnyData.pm and DBD::AnyData.pm modules. Refer to their documentation for further details.
AUTHOR & COPYRIGHT
copyright 2000, Jeff Zucker <jeff@vpservices.com> all rights reserved
perl v5.10.1 2004-08-17 AnyData::Format::Mp3(3pm)
Check Out this Related Man Page
MP3::Tag::File(3pm) User Contributed Perl Documentation MP3::Tag::File(3pm)NAME
MP3::Tag::File - Module for reading / writing files
SYNOPSIS
my $mp3 = MP3::Tag->new($filename);
($title, $artist, $no, $album, $year) = $mp3->parse_filename();
see MP3::Tag
DESCRIPTION
MP3::Tag::File is designed to be called from the MP3::Tag module.
It offers possibilities to read/write data from files via read(), write(), truncate(), seek(), tell(), open(), close(); one can find the
filename via the filename() method.
parse_filename()
($title, $artist, $no, $album, $year) = $mp3->parse_filename($what, $filename);
parse_filename() tries to extract information about artist, title, track number, album and year from the filename. (For backward
compatibility it may be also called by deprecated name read_filename().)
This is likely to fail for a lot of filenames, especially the album will be often wrongly guessed, as the name of the parent directory
is taken as album name.
$what and $filename are optional. $what maybe title, track, artist, album or year. If $what is defined parse_filename() will return
only this element.
If $filename is defined this filename will be used and not the real filename which was set by MP3::Tag with "MP3::Tag->new($filename)".
Otherwise the actual filename is used (subject to configuration variable "decode_encoding_filename").
Following formats will be hopefully recognized:
- album name/artist name - song name.mp3
- album_name/artist_name-song_name.mp3
- album.name/artist.name_song.name.mp3
- album name/(artist name) song name.mp3
- album name/01. artist name - song name.mp3
- album name/artist name - 01 - song.name.mp3
If artist or title end in "(NUMBER)" with 4-digit NUMBER, it is considered the year.
title()
$title = $mp3->title($filename);
Returns the title, guessed from the filename. See also parse_filename(). (For backward compatibility, can be called by deprecated name
song().)
$filename is optional and will be used instead of the real filename if defined.
artist()
$artist = $mp3->artist($filename);
Returns the artist name, guessed from the filename. See also parse_filename()
$filename is optional and will be used instead of the real filename if defined.
track()
$track = $mp3->track($filename);
Returns the track number, guessed from the filename. See also parse_filename()
$filename is optional and will be used instead of the real filename if defined.
year()
$year = $mp3->year($filename);
Returns the year, guessed from the filename. See also parse_filename()
$filename is optional and will be used instead of the real filename if defined.
album()
$album = $mp3->album($filename);
Returns the album name, guessed from the filename. See also parse_filename() The album name is guessed from the parent directory, so it
is very likely to fail.
$filename is optional and will be used instead of the real filename if defined.
comment()
$comment = $mp3->comment($filename); # Always undef
genre()
$genre = $mp3->genre($filename); # Always undef
perl v5.14.2 2009-11-28 MP3::Tag::File(3pm)