
InfoSys::FreeDB::Entry - FreeDB entry

require InfoSys::FreeDB;
require InfoSys::FreeDB::Entry;
# Read entry from the default CD device
my $entry = InfoSys::FreeDB::Entry->new_from_cdparanoia();
# Create a HTTP connection
my $fact = InfoSys::FreeDB->new();
my $conn = $fact->create_connection( {
client_name => 'testing-InfoSys::FreeDB',
client_version => $InfoSys::FreeDB::VERSION,
} );
# Query FreeDB
my $res_q = $conn->query( $entry );
scalar( $res_q->get_match() ) ||
die 'no matches found for the disck in the default CD-Rom drive';
# Read the first match
my $res_r = $conn->read( ( $res_q->get_match() )[0] );
# Write the entry to STDERR
use IO::Handle;
my $fh = IO::Handle->new_from_fd( fileno(STDERR), 'w' );
$res_r->get_entry()->write_fh( $fh );

FreeDB entry

InfoSys::FreeDB::Entry contains information on FreeDB entries.

Creates a new InfoSys::FreeDB::Entry object. OPT_HASH_REF is a hash reference used to pass initialization options. On error an exception Error::Simple is thrown.
Options for OPT_HASH_REF may include:
artistPassed to set_artist().
client_commentPassed to set_client_comment().
client_namePassed to set_client_name().
client_versionPassed to set_client_version().
disc_lengthPassed to set_disc_length().
discidPassed to set_discid().
extdPassed to set_extd().
genrePassed to set_genre().
revisionPassed to set_revision().
titlePassed to set_title().
trackPassed to set_track(). Must be an ARRAY reference.
yearPassed to set_year().
Creates a new InfoSys::FreeDB::Entry object from the specified array reference. ARRAY_REF is an array reference containing the lines of the entry file. On error an exception Error::Simple is thrown.
Creates a new InfoSys::FreeDB::Entry object using cdparanoia. If specified, DEVICE is used as CD-Rom device name. Otherwise the default cdparanoia CD-Rom device is used. On error an exception Error::Simple is thrown.
Creates a new InfoSys::FreeDB::Entry object from the specified file handle. FILE_HANDLE is a IO::Handle object. On error an exception Error::Simple is thrown.
Creates a new InfoSys::FreeDB::Entry object from the specified file. FILE is a file name. On error an exception Error::Simple is thrown.

Returns the count of items in ARRAY that are in the entry track list.
Returns the entry artist.
Returns the entry client comment.
Returns the entry client name.
Returns the entry client version.
Returns the entry disc length.
Returns the entry discid.
Returns the entry extd.
Returns the entry genre.
Returns the entry revision.
Returns the entry title.
Returns an ARRAY containing the entry track list. INDEX_ARRAY is an optional list of indexes which when specified causes only the indexed elements in the ordered list to be returned. If not specified, all elements are returned.
Returns the entry year.
Calculates the FreeDB disc ID and stores it through method set_discid(). Note that in the InfoSys::FreeDB::Connectionclasses the method discid() lets the FreeDB server calculate the disc ID.
Pop and return an element off the entry track list. On error an exception Error::Simple is thrown.
Push additional values on the entry track list. ARRAY is the list value. On error an exception Error::Simple is thrown.
Set the entry artist. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry client comment. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry client name. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry client version. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry disc length. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry discid. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry extd. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry genre. VALUE is the value. On error an exception Error::Simple is thrown.
Set value in the entry track list. INDEX is the integer index which is greater than or equal to 0. VALUE is the value.
Set value in the entry track list. NUMBER is the integer index which is greater than 0. VALUE is the value.
Set the entry revision. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry title. VALUE is the value. On error an exception Error::Simple is thrown.
Set the entry track list absolutely. ARRAY is the list value. On error an exception Error::Simple is thrown.
Set the entry year. VALUE is the value. On error an exception Error::Simple is thrown.
Shift and return an element off the entry track list. On error an exception Error::Simple is thrown.
Unshift additional values on the entry track list. ARRAY is the list value. On error an exception Error::Simple is thrown.
Writes the entry to an ARRAY and retuens a reference to the ARRAY. On error an exception Error::Simple is thrown.
Writes the entry to the specified file handle. FILE_HANDLE is a IO::Handle object. On error an exception Error::Simple is thrown.
Writes the entry to the specified file. FILE is file name. On error an exception Error::Simple is thrown.

InfoSys::FreeDB, InfoSys::FreeDB::Connection, InfoSys::FreeDB::Connection::CDDBP, InfoSys::FreeDB::Connection::HTTP, InfoSys::FreeDB::Entry::Track, InfoSys::FreeDB::Match, InfoSys::FreeDB::Response, InfoSys::FreeDB::Response::DiscId, InfoSys::FreeDB::Response::Hello, InfoSys::FreeDB::Response::LsCat, InfoSys::FreeDB::Response::Motd, InfoSys::FreeDB::Response::Proto, InfoSys::FreeDB::Response::Query, InfoSys::FreeDB::Response::Quit, InfoSys::FreeDB::Response::Read, InfoSys::FreeDB::Response::SignOn, InfoSys::FreeDB::Response::Sites, InfoSys::FreeDB::Response::Stat, InfoSys::FreeDB::Response::Ver, InfoSys::FreeDB::Response::Whom, InfoSys::FreeDB::Response::Write::1, InfoSys::FreeDB::Response::Write::2, InfoSys::FreeDB::Site

None known (yet.)

First development: September 2003 Last update: November 2003

Vincenzo Zocca

Copyright 2003 by Vincenzo Zocca

This file is part of the InfoSys::FreeDB module hierarchy for Perl by Vincenzo Zocca.
The InfoSys::FreeDB module hierarchy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
The InfoSys::FreeDB module hierarchy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the InfoSys::FreeDB module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA