View | Details | Raw Unified | Return to bug 30761 | Differences between
and this patch

Collapse All | Expand All

(-)ripit/Makefile (-8 / +7 lines)
Lines 6-29 Link Here
6
#
6
#
7
7
8
PORTNAME=	ripit
8
PORTNAME=	ripit
9
PORTVERSION=	1.8
9
PORTVERSION=	2.0
10
PORTREVISION=	1
11
CATEGORIES=	audio
10
CATEGORIES=	audio
12
MASTER_SITES=	http://www.initio.no/~oyvindmo/distfiles/
11
MASTER_SITES=	http://www.initio.no/~oyvindmo/distfiles/
13
12
14
MAINTAINER=	oyvindmo@initio.no
13
MAINTAINER=	oyvindmo@initio.no
15
14
16
RUN_DEPENDS=	bladeenc:${PORTSDIR}/audio/bladeenc \
15
# See pkg-message about other dependencies.
17
		lame:${PORTSDIR}/audio/lame \
16
RUN_DEPENDS=	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/CDDB_get.pm:${PORTSDIR}/audio/p5-CDDB_get \
18
		gogo:${PORTSDIR}/audio/gogo \
17
		mp3info:${PORTSDIR}/audio/mp3info
19
		tosha:${PORTSDIR}/audio/tosha \
20
		cdda2wav:${PORTSDIR}/sysutils/cdrtools \
21
		cda:${PORTSDIR}/audio/xmcd
22
18
23
NO_BUILD=	yes
19
NO_BUILD=	yes
24
USE_PERL5=	yes
20
USE_PERL5=	yes
25
21
26
do-install:
22
do-install:
27
	@ ${INSTALL_SCRIPT} ${WRKSRC}/ripit.pl ${PREFIX}/bin
23
	@ ${INSTALL_SCRIPT} ${WRKSRC}/ripit.pl ${PREFIX}/bin
24
25
post-install:
26
	@ ${CAT} ${PKGMESSAGE}
28
27
29
.include <bsd.port.mk>
28
.include <bsd.port.mk>
(-)ripit/distinfo (-1 / +1 lines)
Line 1 Link Here
1
MD5 (ripit-1.8.tar.gz) = f2cf29b275525e1c91fe726479e71172
1
MD5 (ripit-2.0.tar.gz) = b1d8cdff1346849ea47e766e40e14111
(-)ripit/files/patch-aa (-103 / +196 lines)
Lines 1-84 Link Here
1
--- ripit.pl.orig	Mon May 22 15:27:36 2000
1
--- ripit.pl.orig	Sat Aug 25 18:20:06 2001
2
+++ ripit.pl	Sun Sep 24 03:38:07 2000
2
+++ ripit.pl	Wed Oct  3 21:50:36 2001
3
@@ -15,25 +15,32 @@
3
@@ -9,41 +9,49 @@
4
 #	--bitrate [rate] 	- Encode MP3 at this bitrate 
4
 #		Create an M3U file
5
 #
6
 # Options:
7
-#	[start_track] 		- rips from this track to last track
8
-#	--halt 			- powers off the machine when finished
9
-#			  	  if your configuration supports it
10
-#	--bitrate [rate] 	- Encode MP3 at this bitrate 
11
+#	[start_track]		- rips from this track to last track
12
+#	--halt			- powers off the machine when finished
13
+#				  if your configuration supports it
14
+#	--bitrate [rate]	- Encode MP3 at this bitrate 
5
 #	--year [year]		- Tag MP3 with this year (included as CDDB
15
 #	--year [year]		- Tag MP3 with this year (included as CDDB
6
 #				  does not store this information)
16
 #				  does not store this information)
7
-#       --device                - CDROM device to rip from
17
-#       --genre [genre]		- Overrides CDDB genre, e.g. rock,funk
8
+#	--device                - CDROM device to rip from
18
-#       --device [device]       - CDROM device to rip from
9
+#	--numcpu		- Number of parrallel encoders to run
19
+#	--genre [genre]		- Overrides CDDB genre, e.g. rock,funk
10
+#	--outputdir		- Directory in which to place MP3s
20
+#	--device [device]	- CDROM device to rip from
11
+#	--cdripper		- Which cdripper to use
21
 #	--encopt [options]	- Parameters to pass to encoder
12
+#	--encoder		- Which encoder to use
22
 #	--encoder [encoder]	- Encoder to use, see below
13
 #
23
 #	--cdripper [ripper]	- Cdripper to use, see below
14
 # Version 1.8 22/05/00 - Simon Quinn
24
 #	--cdopt [options]	- Parameters to pass to cdripper
15
 #
25
 #	--outputdir [dir]	- Where MP3s should go
16
 # Usage: ripit.pl [--halt] [--bitrate rate] 
26
+#	--numcpu [cpus]		- Number of parallel encoders to run
17
-#                 [--year year] [--device cddevice] [start_track]
27
+#	--auxdev [device]	- Auxiliary CD-ROM device name.  When using
18
+#                 [--year year] [--device cddevice] [--numcpu cpus]
28
+#				  cdda2wav with a SCSI device, use
19
+#                 [--outputdir dir] [--cdripper ripper] [--encoder encoder]
29
+#				  <bus>,<id>,<lun> for --device and e.g.
20
+#                 [start_track]
30
+#				  /dev/sr0 for --auxdev.  The --auxdev value
31
+#				  is given to CDDB_get.pm for CDDB lookup.
32
 #
33
 # Version 2.0 20/08/01 - Simon Quinn
34
 #
35
 # Usage: ripit.pl [--halt] [--bitrate rate] [--year year] [--genre genre]
36
-#                 [--device cddevice] [--encopt options] [--encoder encoder]
37
+#		  [--device cddevice] [--encopt options] [--encoder encoder]
38
 #		  [--cdripper cdripper] [--cdopt options] [--outputdir dir] 
39
-#	 	  [start_track]
40
+#		  [--numcpu cpus] [start_track]
21
 ####################################################################
41
 ####################################################################
22
 #
42
 #
23
 # User configurable variables
43
 # User configurable variables
24
 #
44
 #
25
 
45
 
26
 $cddev 		= "/dev/cdrom";		# CD Audio device
46
 $cddev 		= "/dev/cdrom";		# CD Audio device
27
-$outputdir 	= "/dosc/cdrip/";	# Where the MP3s should go
47
-$outputdir 	= "/tmp/cdrip/";	# Where the MP3s should go, 
28
+$outputdir 	= "/dosc/cdrip";	# Where the MP3s should go
48
-					# must have trailing /
49
+$cdauxdev	= "/dev/sr0";		# Auxiliary CD-ROM device, when using
50
+                                        # cdda2wav and SCSI devices
51
+$outputdir 	= "/tmp/cdrip/";	# Where the MP3s should go
29
 $bitrate	= 160;			# Bitrate for MP3s
52
 $bitrate	= 160;			# Bitrate for MP3s
30
 $encoder	= 1; 			# 0 - Bladeenc, 1 - Lame, 2 - Gogo
53
-$encoder	= 0; 			# 0 - Lame, 1 - OggVorbis
54
+$encoder	= 0; 			# 0 - Lame, 1 - Gogo, 2 - OggVorbis
31
 $encopt		= "";			# options for mp3 encoder
55
 $encopt		= "";			# options for mp3 encoder
32
 $cdripper	= 0;			# 0 - cdparanoia, 1 - cdda2wav,
56
 $cdripper	= 0;			# 0 - dagrab,
33
-					# 2 - tosha, 3 - cdd
57
 					# 1 - cdparanoia, 2 - cdda2wav,
34
+					# 2 - tosha, 3 - cdd, 4 - dagrab
58
 					# 3 - tosha, 4 - cdd
35
 $cdopt		= "";			# options for cdaudio ripper
59
 $cdopt		= "";			# options for cdaudio ripper
36
+$numcpu		= 1;			# Number of parallel encoders to run
60
+$numcpu		= 1;			# Number of parallel encoders to run
37
 
61
 
38
 $use_underscore = 0;	# Use _ instead of spaces in filenames (1 yes, 0 no)
62
 $CDDB_HOST	= "freedb.freedb.org";  # set cddb host
39
 
63
 $CDDB_PORT	= 8880;                 # set cddb port
40
@@ -53,6 +60,9 @@
64
@@ -77,6 +85,9 @@
41
 require "flush.pl";
65
 $nocddbinfo	= 1;    # Assume no CDDB info exists
42
 use Getopt::Long;
66
 $trackselection = "";   # Passed from command line
43
 
67
 
44
+$ripper_died = 0;
68
+$ripper_died = 0;
45
+$SIG{HUP} = \&catch_hup;
69
+$SIG{HUP} = \$catch_hup;
46
+
70
+
47
 # Initialise global variables
71
 ####################################################
48
 #
72
 # Do the following:
49
 $year		= "";	# Year of Audio CD - written to MP3 tag
73
 #  1. Get command line parameters
50
@@ -75,9 +85,19 @@
74
@@ -90,19 +101,25 @@
75
 
76
 # Get the parameters from the command line
51
 if ( ! &GetOptions("halt" => \$haltonfinish, 
77
 if ( ! &GetOptions("halt" => \$haltonfinish, 
52
                   "bitrate=i" => \$bitrate,
78
-                  "bitrate=i" => \$bitrate,
53
 		  "year=i" => \$year,
79
-		  "year=i" => \$year,
54
-		  "device=s" => \$cddev) ) {
80
-		  "genre=s" => \$genre,
55
+		  "device=s" => \$cddev,
81
-		  "device=s" => \$cddev,
56
+		  "numcpu=i" => \$numcpu,
82
-		  "encopt=s" => \$encopt,
57
+		  "outputdir=s" => \$outputdir,
83
-		  "encoder=i" => \$encoder,
58
+		  "cdripper=i" => \$cdripper,
84
-		  "cdripper=i" => \$cdripper,
59
+		  "cdopt=s" => \$cdopt,
85
-		  "cdopt=s" => \$cdopt,
60
+		  "encoder=i" => \$encoder,
86
-		  "outputdir=s" => \$outputdir ) ) {
61
+		  "encopt=s" => \$encopt) ) {
87
-   print "Usage: ripit.pl [--halt] [--bitrate rate] [--year year]
62
    print "Usage: ripit.pl [--halt] [--bitrate rate] [--year year]
88
+		   "bitrate=i" => \$bitrate,
63
-                [--device cddevice] [start_track]\n";
89
+		   "year=i" => \$year,
64
+                [--device cddevice] [--numcpu cpus] [--outputdir dir]
90
+		   "genre=s" => \$genre,
65
+                [--cdripper cdripper] [--encoder encoder] [start_track]
91
+		   "device=s" => \$cddev,
66
+                CD Rippers: 0 - cdparanoia, 1 - cdda2wav, 2 - tosha, 3 - cdd, 4 - dagrab
92
+		   "encopt=s" => \$encopt,
67
+                Encoders:   0 - Bladeenc, 1 - Lame, 2 - Gogo\n";
93
+		   "encoder=i" => \$encoder,
68
+
94
+		   "cdripper=i" => \$cdripper,
95
+		   "cdopt=s" => \$cdopt,
96
+		   "outputdir=s" => \$outputdir,
97
+		   "numcpu=i" => \$numcpu,
98
+		   "auxdev=s" => \$cdauxdev) ) {
99
+   print "
100
+Usage: ripit.pl [--halt] [--bitrate rate] [--year year] [--genre genre]
101
                 [--device cddevice] [--encopt options] [--encoder encoder]
102
 		[--cdripper cdripper] [--cdopt options] [--outputdir dir] 
103
-		[start_track]\n";
104
+		[--numcpu cpus] [--auxdev cddevice] [start_track]
105
+Rippers: 0 - dagrab, 1 - cdparanoia, 2 - cdda2wav, 3 - tosha, 4 - cdd
106
+Encoders: 0 - Lame, 1 - Gogo, 2 - OggVorbis
107
+";
69
    exit 1;
108
    exit 1;
70
 }
109
 }
71
 
110
 
72
@@ -113,7 +133,7 @@
111
@@ -112,6 +129,9 @@
112
 
113
 if ($haltonfinish == 1) {print "Will halt machine when finished.\n";}
114
 
115
+# Robustify outputdir by adding trailing slash if not already there
116
+$outputdir .= "/" unless $outputdir =~ /\/$/;
117
+
118
 # Get starting track parameter if it has been given
119
 if ($ARGV[0] ne '') {
120
   $trackselection = $ARGV[0];
121
@@ -132,8 +152,8 @@
122
 &create_dirs();				# Create directories MP3 files
73
 &rip_cd();				# Rip, Encode & Tag
123
 &rip_cd();				# Rip, Encode & Tag
74
 
124
 
75
 print "Waiting for MP3 Encoder to finish...\n";
125
-print "Waiting for MP3 Encoder to finish...\n";
76
-wait; 
126
-wait; 
77
+while (wait != -1) {}; 
127
+print "Waiting for MP3 Encoder(s) to finish...\n";
128
+while (wait != -1) {};
78
 
129
 
79
 &create_m3u();			# Create the M3U file for the MP3 files
130
 &create_m3u();			# Create the M3U file for the MP3 files
80
 
131
 
81
@@ -137,6 +157,10 @@
132
@@ -157,6 +177,10 @@
82
 
133
 
83
 exit;
134
 exit;
84
 
135
 
Lines 89-104 Link Here
89
 #
140
 #
90
 # Create the track selection from the parameters passed
141
 # Create the track selection from the parameters passed
91
 # on the command line
142
 # on the command line
92
@@ -286,7 +310,7 @@
143
@@ -208,7 +232,13 @@
93
   # Directory created will be: /outputdir/Artist - Album/
144
   $config{CDDB_HOST} = $CDDB_HOST;      
94
   # The value must end in /
145
   $config{CDDB_PORT} = $CDDB_PORT;       
146
   $config{CDDB_MODE} = $CDDB_MODE; 
147
-  $config{CD_DEVICE} = $cddev;
148
+  # CD device for CDDB lookup needs special care when using cdda2wav with
149
+  # a SCSI device.  See the usage comment in the top of the file.
150
+  if ($cdripper == 2 && $cddev =~ /^[0-9]+,[0-9]+,[0-9]+$/) {
151
+      $config{CD_DEVICE} = $cdauxdev;
152
+  } else {
153
+      $config{CD_DEVICE} = $cddev;
154
+  }
155
   $config{input} = $CDDB_INPUT;
95
 
156
 
96
-  $mp3dir = $outputdir.$artist." - ".$album."/";
157
   my %cd=get_cddb(\%config); 			# Get CD TOC from CDDB_get
97
+  $mp3dir = $outputdir."/".$artist." - ".$album."/";
158
@@ -241,9 +271,14 @@
159
   }
98
 
160
 
99
   if ($use_underscore == 1) { $mp3dir =~ s/ /_/g; }
161
   if($genre ne "") {
162
-    if(system("lame --genre-list | grep -i \"$genre\" >/dev/null 2>&1")) {
163
-      die "Genre $genre is invalid!";
164
-    }      
165
+    if(system("mp3info -G | grep -i \"[0-9] $genre [^a-z0-9&+/-]\" >/dev/null 2>&1")) {
166
+      print "Genre $genre is invalid!  Using 'Unknown' as genre.";
167
+      $genre = 'Unknown';
168
+      # We do the above instead of dying, since the genre validity
169
+      # check is a bit fragile.  It works with mp3info-0.8.4, but breaks
170
+      # with at least some earlier versions and possibly with future
171
+      # ones.   <oyvindmo@initio.no>
172
+    }
173
   }
100
 
174
 
101
@@ -340,24 +364,29 @@
175
   print "\nCD TOC\n";
176
@@ -336,31 +371,37 @@
102
     $riptrackname = &get_trackname($_, $tracklist[$_ - 1]);
177
     $riptrackname = &get_trackname($_, $tracklist[$_ - 1]);
103
     $riptrackno = $_;
178
     $riptrackno = $_;
104
 
179
 
Lines 108-173 Link Here
108
 
183
 
109
     # Choose the cdaudio ripper to use
184
     # Choose the cdaudio ripper to use
110
     if ($cdripper == 0) {
185
     if ($cdripper == 0) {
186
       if (system("dagrab -d $cddev -v $cdopt -f \"$riptrackname.rip\" $riptrackno")) {
187
-         &printflush(RIPLOG,"cdparanoia failed on $tracklist[$_ - 1]\n");
188
+         &printflush(RIPLOG,"dagrab failed on $tracklist[$_ - 1]\n");
189
+         kill 1, @encoders;
190
          die "dagrab failed on $tracklist[$_ - 1]";
191
       }
192
     }
193
     elsif ($cdripper == 1) {
111
       if (system("cdparanoia -d $cddev $cdopt $riptrackno \"$riptrackname.rip\"")) {
194
       if (system("cdparanoia -d $cddev $cdopt $riptrackno \"$riptrackname.rip\"")) {
112
          &printflush(RIPLOG,"cdparanoia failed on $tracklist[$_ - 1]\n");
195
          &printflush(RIPLOG,"cdparanoia failed on $tracklist[$_ - 1]\n");
113
+         kill 1, @encoders;
196
+         kill 1, @encoders;
114
          die "cdparanoia failed on $tracklist[$_ - 1]";
197
          die "cdparanoia failed on $tracklist[$_ - 1]";
115
       }
198
       }
116
     }
199
     }
117
     elsif ($cdripper == 1) {
200
     elsif ($cdripper == 2) {
118
-      if (system("cdda2wav -D $cddev -Q -H $cdopt -t $riptrackno \"$riptrackname.rip\"")) {
201
-      if (system("cdda2wav -D $cddev -Q -H $cdopt -t $riptrackno \"$riptrackname.rip\"")) {
119
+      if (system("cdda2wav -D $cddev -q -Q -H $cdopt -t $riptrackno - > \"$riptrackname.rip\"")) {
202
+      if (system("cdda2wav -D $cddev -q -Q -H $cdopt -t $riptrackno \"$riptrackname.rip\"")) {
120
          &printflush(RIPLOG,"cdda2wav failed on $tracklist[$_ - 1]\n");
203
          &printflush(RIPLOG,"cdda2wav failed on $tracklist[$_ - 1]\n");
121
+         kill 1, @encoders;
204
+         kill 1, @encoders;
122
          die "cdda2wav failed on $tracklist[$_ - 1]";
205
          die "cdda2wav failed on $tracklist[$_ - 1]";
123
       }
206
       }
124
     }
207
     }
125
     elsif ($cdripper == 2) {
208
     elsif ($cdripper == 3) {
126
       if (system("tosha -d $cddev -f wav -t $riptrackno -o \"$riptrackname.rip\"")) {
209
       if (system("tosha -d $cddev -f wav -t $riptrackno -o \"$riptrackname.rip\"")) {
127
        &printflush(RIPLOG,"tosha failed on $tracklist[$_ - 1]\n");
210
-       &printflush(RIPLOG,"tosha failed on $tracklist[$_ - 1]\n");
128
+       kill 1, @encoders;
211
-       die "tosha failed on $tracklist[$_ - 1]";
129
        die "tosha failed on $tracklist[$_ - 1]";
212
+        &printflush(RIPLOG,"tosha failed on $tracklist[$_ - 1]\n");
213
+        kill 1, @encoders;
214
+        die "tosha failed on $tracklist[$_ - 1]";
130
       }
215
       }
131
     }
216
     }
132
@@ -370,6 +399,13 @@
217
     elsif ($cdripper == 4) {
218
@@ -369,6 +410,7 @@
219
       $cdd_dev =~ s/c$//;
220
       if (system("cdd -t $riptrackno -q -f $cdd_dev - 2>/dev/null | sox -t cdr -x - \"$riptrackname.rip\"")) {
221
         &printflush(RIPLOG,"cdd failed on $tracklist[$_ - 1]\n");
222
+        kill 1, @encoders;
133
         die "cdd failed on $tracklist[$_ - 1]";
223
         die "cdd failed on $tracklist[$_ - 1]";
134
       }
224
       }
135
     }
225
     }
136
+    elsif ($cdripper == 4) {
226
@@ -381,11 +423,13 @@
137
+      if (system("dagrab -d $cddev -f \"$riptrackname.rip\" $riptrackno")) {
138
+         &printflush(RIPLOG,"dagrab failed on $tracklist[$_ - 1]\n");
139
+         kill 1, @encoders;
140
+         die "dagrab failed on $tracklist[$_ - 1]";
141
+      }
142
+    }
143
     else {
144
       die "No CD Ripper defined";
145
     }
146
@@ -379,11 +415,13 @@
147
     rename "$riptrackname.rip","$riptrackname.wav";
227
     rename "$riptrackname.rip","$riptrackname.wav";
148
 
228
 
149
     &printflush(RIPLOG,"Rip complete $tracklist[$_ - 1]\n");
229
     &printflush(RIPLOG,"Rip complete $tracklist[$_ - 1]\n");
150
+    }
230
+    }
151
 
231
 
152
     # Start the Encoder in the background. but only once
232
-    # Start the Encoder in the background. but only once
153
-    if ($startenc == 0) { 
233
-    if ($startenc == 0) { 
154
-      $startenc = 1;
234
-      $startenc = 1;
155
-      unless (fork) { &enc_cd(); }
235
-      unless (fork) { &enc_cd(); }
236
+    # Start the Encoder in the background. but only once per CPU
156
+    if ($startenc < $numcpu) { 
237
+    if ($startenc < $numcpu) { 
157
+      sleep $startenc*5;
238
+      sleep $startenc * 5;
158
+      $startenc = $startenc + 1;
239
+      $startenc = $startenc + 1;
159
+      unless ($encoders[$startenc]=fork) { &enc_cd(); }
240
+      unless ($encoders[$startenc]=fork) { &enc_cd(); }
160
     }
241
     }
161
 
242
 
162
   }
243
   }
163
@@ -399,24 +437,25 @@
244
@@ -407,25 +451,33 @@
164
 sub enc_cd {
245
     $riptrackno = $_;
165
   my($i,$x,$ncount,$enc);
166
 
167
-
168
   foreach (@seltrack) {
169
 
170
     $riptrackname = &get_trackname($_, $tracklist[$_ - 1]);
171
     $ncount++;
246
     $ncount++;
172
  
247
  
173
-    print "\nMP3 Encoding track ".$ncount." of ".($#seltrack + 1)."\n";
248
-    print "\nMP3 Encoding track ".$ncount." of ".($#seltrack + 1)."\n";
Lines 180-186 Link Here
180
+    while( ! -r "$riptrackname.wav" && ! -r "$riptrackname.mp3" ){ 
255
+    while( ! -r "$riptrackname.wav" && ! -r "$riptrackname.mp3" ){ 
181
       $x++; 
256
       $x++; 
182
       if ($x > 179) { die "MP3 encoder waited 30 minutes before giving up"; } 
257
       if ($x > 179) { die "MP3 encoder waited 30 minutes before giving up"; } 
183
+      if ($ripper_died) { die "CD Ripper seems to have died - exiting"; } 
258
+      if ($ripper_died) { die "CD Ripper seems to have died - exiting"; }
184
       sleep 10;
259
       sleep 10;
185
     }
260
     }
186
 
261
 
Lines 190-220 Link Here
190
+
265
+
191
     # Set the encoder we are going to use
266
     # Set the encoder we are going to use
192
     if ($encoder == 0) {
267
     if ($encoder == 0) {
193
       $enc = "bladeenc $encopt -QUIT -$bitrate \"$riptrackname.wav\" ";
268
       $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\"";
194
@@ -427,6 +466,9 @@
269
     }
195
     elsif ($encoder == 2) {
270
     elsif ($encoder == 1) {
196
       $enc = "gogo \"$riptrackname.wav\" \"$riptrackname.mp3\" $encopt -b $bitrate";
271
+      $enc = "gogo \"$riptrackname.wav\" \"$riptrackname.mp3\" $encopt -b $bitrate";
272
+    }
273
+    elsif ($encoder == 2) {
274
       $enc = "oggenc $encopt -b $bitrate -t \"$tracklist[$_ - 1]\" -a \"$artist\" -l \"$album\" -d \"$year\" -N $riptrackno -o \"$riptrackname.ogg\" \"$riptrackname.wav\"";
197
     }
275
     }
198
+    else {
276
+    else {
199
+      die "No Encoder defined";
277
+      die "No encoder defined";
200
+    }
278
+    }
201
 
279
 
202
     if ( ! system("$enc >$enclog 2>&1 </dev/null")) {
280
     if ( ! system("$enc >$enclog 2>&1 </dev/null")) {
203
  
281
  
204
@@ -443,6 +485,7 @@
282
@@ -438,7 +490,8 @@
205
       &printflush(RIPLOG,"MP3 Encoder Failed on $tracklist[$_ - 1]\n");
283
       &printflush(RIPLOG,"MP3 Encoder Failed on $tracklist[$_ - 1]\n");
206
       die "MP3 Encoder Failed on $tracklist[$_ - 1]";
284
       die "MP3 Encoder Failed on $tracklist[$_ - 1]";
207
     }
285
     }
286
-
208
+    }
287
+    }
209
 
288
+  
210
   }
289
   }
211
   exit ;
290
   exit ;
212
@@ -457,7 +500,7 @@
291
 }
292
@@ -452,10 +505,18 @@
213
   $file="$artist.m3u";
293
   $file="$artist.m3u";
214
   if ($use_underscore == 1) { $file =~ s/ /_/g; }
294
   if ($use_underscore == 1) { $file =~ s/ /_/g; }
215
 
295
 
216
-  system("cd \"$mp3dir\" ; ls -rt *.mp3 >\"$file\"");
296
-  if($encoder == 1) {
217
+  system("cd \"$mp3dir\" ; ls *.mp3 | sort >\"$file\"");
297
-    system("cd \"$mp3dir\" ; ls -rt *.ogg >\"$file\"");
298
+  if ($encoder == 2) {
299
+      if ($numcpu == 1) { 
300
+	  system("cd \"$mp3dir\" ; ls -rt *.ogg >\"$file\"");
301
+      } else {
302
+	  system("cd \"$mp3dir\" ; ls *.ogg | sort >\"$file\"");
303
+      }
304
   }
305
   else {
306
-    system("cd \"$mp3dir\" ; ls -rt *.mp3 >\"$file\"");
307
+      if ($numcpu == 1) { 
308
+	  system("cd \"$mp3dir\" ; ls -rt *.mp3 >\"$file\"");
309
+      } else {
310
+	  system("cd \"$mp3dir\" ; ls *.mp3 | sort >\"$file\"");
311
+      }
312
   }
218
 }
313
 }
219
 
220
 # Writes the MP3 tag to the file. The standard is to use the 
(-)ripit/pkg-descr (-2 / +5 lines)
Lines 2-9 Link Here
2
-----
2
-----
3
3
4
ripit is a small front-end program written in perl for ripping,
4
ripit is a small front-end program written in perl for ripping,
5
encoding & tagging MP3s. It is a console program that needs no user
5
encoding and tagging MP3s or Ogg/Vorbis files from audio CDs. It
6
intervention. It requires tosha, bladeenc and xmcd (for CDDB access).
6
is a console program that needs no user intervention. It requires
7
p5-CDDB for CDDB access and mp3info for genre checking.  A track
8
ripper program and an encoder are also needed, but are not installed
9
automatically by this port, since users' preferences vary.
7
10
8
WWW: http://www.bigfoot.com/~simon.quinn/ripit.html
11
WWW: http://www.bigfoot.com/~simon.quinn/ripit.html
9
12
(-)ripit/pkg-message (+7 lines)
Line 0 Link Here
1
ripit can use a number of different programs to do the actual track
2
extraction and audio encoding.  For ripit to be useful you need to
3
have at least one extract program and one encoder program installed.
4
However, since the choices are many and the users' needs and wants
5
are varied, none of these are automatically installed as part of
6
the ripit install.  Remember to make sure you install the extractor(s)
7
and encoder(s) you want.

Return to bug 30761