#!/usr/bin/perl ########################################### # addcd -- Add a CD to the database # Mike Schilli, 2002 (m@perlmeister.com) ########################################### use warnings; use strict; use CD; use CDDB_get qw(get_cddb); use Log::Log4perl qw(:easy); Log::Log4perl->easy_init({ level => $DEBUG, layout => "%m%n"}); my @cddat=get_cddb({ CDDB_HOST => "freedb.freedb.org", CDDB_PORT => 8880, CDDB_MODE => "cddb", CD_DEVICE => "/dev/cdrom", input => 1, # interactive }); unless ($cddat[0]) { LOGDIE "No cddb entry found"; } my %cddat = @cddat; if(CD::Collection::Slot->search( artist => $cddat{artist}, title => $cddat{title}, )) { LOGDIE "$cddat{artist}/$cddat{title}" . " already in DB - exiting."; } INFO "Adding $cddat{artist}/$cddat{title}"; my $cd = CD::Collection::Slot->create( { cddbid => $cddat{id}, artist => $cddat{artist}, title => $cddat{title}, category => $cddat{cat}, } ); my $n=1; foreach my $song ( @{$cddat{track}} ) { INFO "Adding track $n: $song"; $cd->add_to_tracks( { track => $n, song => $song, }); $n++; }