922173cb1e
it in the proper repository directory. git-svn-id: https://samskivert.googlecode.com/svn/trunk@537 6335cc39-0255-0410-8fd6-9bcaacd3b74c
56 lines
1.4 KiB
Perl
Executable File
56 lines
1.4 KiB
Perl
Executable File
#!/usr/bin/perl -w
|
|
#
|
|
# $Id: quickrip,v 1.1 2002/01/19 04:35:53 mdb Exp $
|
|
#
|
|
# Rips and encodes a CD and places it into the repository directory having
|
|
# been given some necessary parameters.
|
|
|
|
my $usage = "$0 branchdir entryid [trackno]\n";
|
|
my $root = "/export/robodj/repository";
|
|
|
|
# read our arguments
|
|
my $branchdir = shift or die $usage;
|
|
my $entryid = shift or die $usage;
|
|
my $trackno = shift;
|
|
|
|
# figure out how many tracks there are to rip
|
|
my $trackcount = 0;
|
|
open(SCAN, "cdparanoia -Q 2>&1|") or die "Can't invoke cdparanoia: $!\n";
|
|
while (<SCAN>) {
|
|
# parse track info lines just to get the track counts
|
|
if (/^\s*(\d+)\.\s+(\d+)\s\[\S*\]\s+(\d+)/) {
|
|
$trackcount = $1;
|
|
}
|
|
}
|
|
|
|
# create the target directory
|
|
my $target = "$root/$branchdir/$entryid";
|
|
system("mkdir -p $target");
|
|
|
|
# do our main business
|
|
if (defined $trackno) {
|
|
# either rip a single track
|
|
rip_track($trackno);
|
|
|
|
} else {
|
|
# or rip the whole kit and kaboodle
|
|
for ($i = 1; $i <= $trackcount; $i++) {
|
|
rip_track($i);
|
|
}
|
|
}
|
|
|
|
sub rip_track
|
|
{
|
|
my ($track) = @_;
|
|
my $tno = sprintf("%02d", $track);
|
|
my $tmp = "/tmp/track$tno";
|
|
# rip the track
|
|
system("cdparanoia -w $track $tmp.wav\n");
|
|
# encode it
|
|
system("lame --nohist -v $tmp.wav $tmp.mp3\n");
|
|
# move it into the repository
|
|
system("mv $tmp.mp3 $target/$tno.mp3");
|
|
# and clean up after ourselves
|
|
unlink("$tmp.wav");
|
|
}
|