diff options
author | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2001-10-07 16:58:18 +0000 |
---|---|---|
committer | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2001-10-07 16:58:18 +0000 |
commit | 4a73519d34531ef2a3d1af1c1d5ab3e338ed2dbb (patch) | |
tree | 3a75ed6c8f5b7ec88598bf64865bf8f63368f2d1 /audio/ripit | |
parent | 03eba9ebb6a8ac34d3d9466004ba36d36d7bc3e0 (diff) | |
download | ports-4a73519d34531ef2a3d1af1c1d5ab3e338ed2dbb.tar.gz ports-4a73519d34531ef2a3d1af1c1d5ab3e338ed2dbb.zip |
Notes
Diffstat (limited to 'audio/ripit')
-rw-r--r-- | audio/ripit/Makefile | 17 | ||||
-rw-r--r-- | audio/ripit/distinfo | 2 | ||||
-rw-r--r-- | audio/ripit/files/patch-aa | 226 | ||||
-rw-r--r-- | audio/ripit/pkg-descr | 7 |
4 files changed, 137 insertions, 115 deletions
diff --git a/audio/ripit/Makefile b/audio/ripit/Makefile index 2e503b10e0c8..6f4712231d34 100644 --- a/audio/ripit/Makefile +++ b/audio/ripit/Makefile @@ -6,24 +6,25 @@ # PORTNAME= ripit -PORTVERSION= 1.8 -PORTREVISION= 1 +PORTVERSION= 2.0 CATEGORIES= audio MASTER_SITES= http://www.initio.no/~oyvindmo/distfiles/ MAINTAINER= oyvindmo@initio.no -RUN_DEPENDS= bladeenc:${PORTSDIR}/audio/bladeenc \ - lame:${PORTSDIR}/audio/lame \ - gogo:${PORTSDIR}/audio/gogo \ - tosha:${PORTSDIR}/audio/tosha \ - cdda2wav:${PORTSDIR}/sysutils/cdrtools \ - cda:${PORTSDIR}/audio/xmcd +# See pkg-message about other dependencies. +RUN_DEPENDS= ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/CDDB_get.pm:${PORTSDIR}/audio/p5-CDDB_get NO_BUILD= yes USE_PERL5= yes +post-patch: + @ ${PERL} -pi -ne "s|#!/usr/bin/perl|#!${PERL}|" ${WRKSRC}/ripit.pl + do-install: @ ${INSTALL_SCRIPT} ${WRKSRC}/ripit.pl ${PREFIX}/bin +post-install: + @ ${CAT} ${PKGMESSAGE} + .include <bsd.port.mk> diff --git a/audio/ripit/distinfo b/audio/ripit/distinfo index cf89ba828a0c..6d2b1e2d4e48 100644 --- a/audio/ripit/distinfo +++ b/audio/ripit/distinfo @@ -1 +1 @@ -MD5 (ripit-1.8.tar.gz) = f2cf29b275525e1c91fe726479e71172 +MD5 (ripit-2.0.tar.gz) = b1d8cdff1346849ea47e766e40e14111 diff --git a/audio/ripit/files/patch-aa b/audio/ripit/files/patch-aa index 8bbb686e6ff1..5a1ccff7c836 100644 --- a/audio/ripit/files/patch-aa +++ b/audio/ripit/files/patch-aa @@ -1,84 +1,101 @@ ---- ripit.pl.orig Mon May 22 15:27:36 2000 -+++ ripit.pl Sun Sep 24 03:38:07 2000 -@@ -15,25 +15,32 @@ - # --bitrate [rate] - Encode MP3 at this bitrate +--- ripit-orig.pl Sun Sep 23 14:12:08 2001 ++++ ripit.pl Sun Sep 23 14:12:09 2001 +@@ -9,41 +9,43 @@ + # Create an M3U file + # + # Options: +-# [start_track] - rips from this track to last track +-# --halt - powers off the machine when finished +-# if your configuration supports it +-# --bitrate [rate] - Encode MP3 at this bitrate ++# [start_track] - rips from this track to last track ++# --halt - powers off the machine when finished ++# if your configuration supports it ++# --bitrate [rate] - Encode MP3 at this bitrate # --year [year] - Tag MP3 with this year (included as CDDB # does not store this information) --# --device - CDROM device to rip from -+# --device - CDROM device to rip from -+# --numcpu - Number of parrallel encoders to run -+# --outputdir - Directory in which to place MP3s -+# --cdripper - Which cdripper to use -+# --encoder - Which encoder to use +-# --genre [genre] - Overrides CDDB genre, e.g. rock,funk +-# --device [device] - CDROM device to rip from ++# --genre [genre] - Overrides CDDB genre, e.g. rock,funk ++# --device [device] - CDROM device to rip from + # --encopt [options] - Parameters to pass to encoder + # --encoder [encoder] - Encoder to use, see below + # --cdripper [ripper] - Cdripper to use, see below + # --cdopt [options] - Parameters to pass to cdripper + # --outputdir [dir] - Where MP3s should go ++# --numcpu [cpus] - Number of parallel encoders to run # - # Version 1.8 22/05/00 - Simon Quinn + # Version 2.0 20/08/01 - Simon Quinn # - # Usage: ripit.pl [--halt] [--bitrate rate] --# [--year year] [--device cddevice] [start_track] -+# [--year year] [--device cddevice] [--numcpu cpus] -+# [--outputdir dir] [--cdripper ripper] [--encoder encoder] -+# [start_track] + # Usage: ripit.pl [--halt] [--bitrate rate] [--year year] [--genre genre] +-# [--device cddevice] [--encopt options] [--encoder encoder] ++# [--device cddevice] [--encopt options] [--encoder encoder] + # [--cdripper cdripper] [--cdopt options] [--outputdir dir] +-# [start_track] ++# [--numcpu cpus] [start_track] #################################################################### # # User configurable variables # $cddev = "/dev/cdrom"; # CD Audio device --$outputdir = "/dosc/cdrip/"; # Where the MP3s should go -+$outputdir = "/dosc/cdrip"; # Where the MP3s should go +-$outputdir = "/tmp/cdrip/"; # Where the MP3s should go, ++$outputdir = "/tmp/cdrip/"; # Where the MP3s should go, + # must have trailing / $bitrate = 160; # Bitrate for MP3s - $encoder = 1; # 0 - Bladeenc, 1 - Lame, 2 - Gogo +-$encoder = 0; # 0 - Lame, 1 - OggVorbis ++$encoder = 0; # 0 - Lame, 1 - Gogo, 2 - OggVorbis $encopt = ""; # options for mp3 encoder - $cdripper = 0; # 0 - cdparanoia, 1 - cdda2wav, -- # 2 - tosha, 3 - cdd -+ # 2 - tosha, 3 - cdd, 4 - dagrab + $cdripper = 0; # 0 - dagrab, + # 1 - cdparanoia, 2 - cdda2wav, + # 3 - tosha, 4 - cdd $cdopt = ""; # options for cdaudio ripper +$numcpu = 1; # Number of parallel encoders to run - $use_underscore = 0; # Use _ instead of spaces in filenames (1 yes, 0 no) - -@@ -53,6 +60,9 @@ - require "flush.pl"; - use Getopt::Long; + $CDDB_HOST = "freedb.freedb.org"; # set cddb host + $CDDB_PORT = 8880; # set cddb port +@@ -77,6 +79,9 @@ + $nocddbinfo = 1; # Assume no CDDB info exists + $trackselection = ""; # Passed from command line +$ripper_died = 0; -+$SIG{HUP} = \&catch_hup; ++$SIG{HUP} = \$catch_hup; + - # Initialise global variables - # - $year = ""; # Year of Audio CD - written to MP3 tag -@@ -75,9 +85,19 @@ - if ( ! &GetOptions("halt" => \$haltonfinish, - "bitrate=i" => \$bitrate, - "year=i" => \$year, -- "device=s" => \$cddev) ) { -+ "device=s" => \$cddev, -+ "numcpu=i" => \$numcpu, + #################################################### + # Do the following: + # 1. Get command line parameters +@@ -98,11 +103,16 @@ + "encoder=i" => \$encoder, + "cdripper=i" => \$cdripper, + "cdopt=s" => \$cdopt, +- "outputdir=s" => \$outputdir ) ) { +- print "Usage: ripit.pl [--halt] [--bitrate rate] [--year year] + "outputdir=s" => \$outputdir, -+ "cdripper=i" => \$cdripper, -+ "cdopt=s" => \$cdopt, -+ "encoder=i" => \$encoder, -+ "encopt=s" => \$encopt) ) { - print "Usage: ripit.pl [--halt] [--bitrate rate] [--year year] -- [--device cddevice] [start_track]\n"; -+ [--device cddevice] [--numcpu cpus] [--outputdir dir] -+ [--cdripper cdripper] [--encoder encoder] [start_track] -+ CD Rippers: 0 - cdparanoia, 1 - cdda2wav, 2 - tosha, 3 - cdd, 4 - dagrab -+ Encoders: 0 - Bladeenc, 1 - Lame, 2 - Gogo\n"; -+ ++ "numcpu=i" => \$numcpu ) ) { ++ print " ++Usage: ripit.pl [--halt] [--bitrate rate] [--year year] + [--device cddevice] [--encopt options] [--encoder encoder] + [--cdripper cdripper] [--cdopt options] [--outputdir dir] +- [start_track]\n"; ++ [--numcpu cpus] [start_track] ++Rippers: 0 - dagrab, 1 - cdparanoia, 2 - cdda2wav, 3 - tosha, 4 - cdd ++Encoders: 0 - Lame, 1 - Gogo, 2 - OggVorbis ++"; exit 1; } -@@ -113,7 +133,7 @@ +@@ -132,8 +142,8 @@ + &create_dirs(); # Create directories MP3 files &rip_cd(); # Rip, Encode & Tag - print "Waiting for MP3 Encoder to finish...\n"; +-print "Waiting for MP3 Encoder to finish...\n"; -wait; -+while (wait != -1) {}; ++print "Waiting for MP3 Encoder(s) to finish...\n"; ++while (wait != -1) {}; &create_m3u(); # Create the M3U file for the MP3 files -@@ -137,6 +157,10 @@ +@@ -157,6 +167,10 @@ exit; @@ -89,16 +106,7 @@ # # Create the track selection from the parameters passed # on the command line -@@ -286,7 +310,7 @@ - # Directory created will be: /outputdir/Artist - Album/ - # The value must end in / - -- $mp3dir = $outputdir.$artist." - ".$album."/"; -+ $mp3dir = $outputdir."/".$artist." - ".$album."/"; - - if ($use_underscore == 1) { $mp3dir =~ s/ /_/g; } - -@@ -340,24 +364,29 @@ +@@ -336,31 +350,37 @@ $riptrackname = &get_trackname($_, $tracklist[$_ - 1]); $riptrackno = $_; @@ -108,66 +116,66 @@ # Choose the cdaudio ripper to use if ($cdripper == 0) { + if (system("dagrab -d $cddev -v $cdopt -f \"$riptrackname.rip\" $riptrackno")) { +- &printflush(RIPLOG,"cdparanoia failed on $tracklist[$_ - 1]\n"); ++ &printflush(RIPLOG,"dagrab failed on $tracklist[$_ - 1]\n"); ++ kill 1, @encoders; + die "dagrab failed on $tracklist[$_ - 1]"; + } + } + elsif ($cdripper == 1) { if (system("cdparanoia -d $cddev $cdopt $riptrackno \"$riptrackname.rip\"")) { &printflush(RIPLOG,"cdparanoia failed on $tracklist[$_ - 1]\n"); + kill 1, @encoders; die "cdparanoia failed on $tracklist[$_ - 1]"; } } - elsif ($cdripper == 1) { + elsif ($cdripper == 2) { - if (system("cdda2wav -D $cddev -Q -H $cdopt -t $riptrackno \"$riptrackname.rip\"")) { -+ if (system("cdda2wav -D $cddev -q -Q -H $cdopt -t $riptrackno - > \"$riptrackname.rip\"")) { ++ if (system("cdda2wav -D $cddev -q -Q -H $cdopt -t $riptrackno \"$riptrackname.rip\"")) { &printflush(RIPLOG,"cdda2wav failed on $tracklist[$_ - 1]\n"); + kill 1, @encoders; die "cdda2wav failed on $tracklist[$_ - 1]"; } } - elsif ($cdripper == 2) { + elsif ($cdripper == 3) { if (system("tosha -d $cddev -f wav -t $riptrackno -o \"$riptrackname.rip\"")) { - &printflush(RIPLOG,"tosha failed on $tracklist[$_ - 1]\n"); -+ kill 1, @encoders; - die "tosha failed on $tracklist[$_ - 1]"; +- &printflush(RIPLOG,"tosha failed on $tracklist[$_ - 1]\n"); +- die "tosha failed on $tracklist[$_ - 1]"; ++ &printflush(RIPLOG,"tosha failed on $tracklist[$_ - 1]\n"); ++ kill 1, @encoders; ++ die "tosha failed on $tracklist[$_ - 1]"; } } -@@ -370,6 +399,13 @@ + elsif ($cdripper == 4) { +@@ -369,6 +389,7 @@ + $cdd_dev =~ s/c$//; + if (system("cdd -t $riptrackno -q -f $cdd_dev - 2>/dev/null | sox -t cdr -x - \"$riptrackname.rip\"")) { + &printflush(RIPLOG,"cdd failed on $tracklist[$_ - 1]\n"); ++ kill 1, @encoders; die "cdd failed on $tracklist[$_ - 1]"; } } -+ elsif ($cdripper == 4) { -+ if (system("dagrab -d $cddev -f \"$riptrackname.rip\" $riptrackno")) { -+ &printflush(RIPLOG,"dagrab failed on $tracklist[$_ - 1]\n"); -+ kill 1, @encoders; -+ die "dagrab failed on $tracklist[$_ - 1]"; -+ } -+ } - else { - die "No CD Ripper defined"; - } -@@ -379,11 +415,13 @@ +@@ -381,11 +402,13 @@ rename "$riptrackname.rip","$riptrackname.wav"; &printflush(RIPLOG,"Rip complete $tracklist[$_ - 1]\n"); + } - # Start the Encoder in the background. but only once +- # Start the Encoder in the background. but only once - if ($startenc == 0) { - $startenc = 1; - unless (fork) { &enc_cd(); } ++ # Start the Encoder in the background. but only once per CPU + if ($startenc < $numcpu) { -+ sleep $startenc*5; ++ sleep $startenc * 5; + $startenc = $startenc + 1; + unless ($encoders[$startenc]=fork) { &enc_cd(); } } } -@@ -399,24 +437,25 @@ - sub enc_cd { - my($i,$x,$ncount,$enc); - -- - foreach (@seltrack) { - - $riptrackname = &get_trackname($_, $tracklist[$_ - 1]); +@@ -407,25 +430,33 @@ + $riptrackno = $_; $ncount++; - print "\nMP3 Encoding track ".$ncount." of ".($#seltrack + 1)."\n"; @@ -180,7 +188,7 @@ + while( ! -r "$riptrackname.wav" && ! -r "$riptrackname.mp3" ){ $x++; if ($x > 179) { die "MP3 encoder waited 30 minutes before giving up"; } -+ if ($ripper_died) { die "CD Ripper seems to have died - exiting"; } ++ if ($ripper_died) { die "CD Ripper seems to have died - exiting"; } sleep 10; } @@ -190,31 +198,41 @@ + # Set the encoder we are going to use if ($encoder == 0) { - $enc = "bladeenc $encopt -QUIT -$bitrate \"$riptrackname.wav\" "; -@@ -427,6 +466,9 @@ - elsif ($encoder == 2) { - $enc = "gogo \"$riptrackname.wav\" \"$riptrackname.mp3\" $encopt -b $bitrate"; + $enc = "lame $encopt -S -b $bitrate --tt \"$tracklist[$_ - 1]\" --ta \"$artist\" --tl \"$album\" --ty \"$year\" --tg \"$genre\" --tn $riptrackno --add-id3v2 \"$riptrackname.wav\" \"$riptrackname.mp3\""; + } + elsif ($encoder == 1) { ++ $enc = "gogo \"$riptrackname.wav\" \"$riptrackname.mp3\" $encopt -b $bitrate"; ++ } ++ elsif ($encoder == 2) { + $enc = "oggenc $encopt -b $bitrate -t \"$tracklist[$_ - 1]\" -a \"$artist\" -l \"$album\" -d \"$year\" -N $riptrackno -o \"$riptrackname.ogg\" \"$riptrackname.wav\""; } + else { -+ die "No Encoder defined"; ++ die "No encoder defined"; + } if ( ! system("$enc >$enclog 2>&1 </dev/null")) { -@@ -443,6 +485,7 @@ +@@ -438,7 +469,8 @@ &printflush(RIPLOG,"MP3 Encoder Failed on $tracklist[$_ - 1]\n"); die "MP3 Encoder Failed on $tracklist[$_ - 1]"; } +- + } - ++ } exit ; -@@ -457,7 +500,7 @@ + } +@@ -452,10 +484,10 @@ $file="$artist.m3u"; if ($use_underscore == 1) { $file =~ s/ /_/g; } -- system("cd \"$mp3dir\" ; ls -rt *.mp3 >\"$file\""); -+ system("cd \"$mp3dir\" ; ls *.mp3 | sort >\"$file\""); +- if($encoder == 1) { +- system("cd \"$mp3dir\" ; ls -rt *.ogg >\"$file\""); ++ if($encoder == 2) { ++ system("cd \"$mp3dir\" ; ls *.ogg | sort >\"$file\""); + } + else { +- system("cd \"$mp3dir\" ; ls -rt *.mp3 >\"$file\""); ++ system("cd \"$mp3dir\" ; ls *.mp3 | sort >\"$file\""); + } } - - # Writes the MP3 tag to the file. The standard is to use the diff --git a/audio/ripit/pkg-descr b/audio/ripit/pkg-descr index 2b549f2e1912..9de5566580fe 100644 --- a/audio/ripit/pkg-descr +++ b/audio/ripit/pkg-descr @@ -2,8 +2,11 @@ ripit ----- ripit is a small front-end program written in perl for ripping, -encoding & tagging MP3s. It is a console program that needs no user -intervention. It requires tosha, bladeenc and xmcd (for CDDB access). +encoding and tagging MP3s or Ogg/Vorbis files from audio CDs. It +is a console program that needs no user intervention. It requires +p5-CDDB for CDDB access. A track ripper program and an encoder are +also needed, but are not installed automatically by this port, +since users' preferences vary. WWW: http://www.bigfoot.com/~simon.quinn/ripit.html |