You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
46 lines
1.2 KiB
--- a/src/io.c
|
|
+++ b/src/io.c
|
|
@@ -2665,6 +2665,8 @@
|
|
g_error("Unexpected output in cdda2wav toc-output\n");
|
|
}
|
|
trackinfo[tocnr]->track_nr = atoi(p1);
|
|
+ if (trackinfo[tocnr]->track_nr == 0)
|
|
+ cdinfo.nr_tracks++;
|
|
trackinfo[tocnr]->isosize = -1;
|
|
|
|
/* reststring into tmp2 - strip to remove leading spaces */
|
|
@@ -8401,6 +8403,9 @@
|
|
if (extract_quoted(tmp) != 0)
|
|
return;
|
|
|
|
+ if (matchnr == 0 && trackinfo[matchnr]->track_nr == 0)
|
|
+ matchnr++;
|
|
+
|
|
if (mode == 0) {
|
|
if (matchnr >= cdinfo.nr_tracks) {
|
|
g_warning("invalid track count from cddb-server\n");
|
|
@@ -8482,14 +8487,20 @@
|
|
|
|
/* build of command line */
|
|
if (mode == 0 || mode == 2) {
|
|
+ gint ntr = cdinfo.nr_tracks;
|
|
+
|
|
+ if (ntr > 0 && trackinfo[0]->track_nr == 0)
|
|
+ ntr--;
|
|
g_snprintf(tmp,MAXLINE,"cddb query %s %d ",
|
|
- cdinfo.cddb_discid, cdinfo.nr_tracks);
|
|
+ cdinfo.cddb_discid, ntr);
|
|
for (i = 0; i < cdinfo.nr_tracks; i++) {
|
|
+ if (trackinfo[i]->track_nr == 0)
|
|
+ continue;
|
|
g_snprintf(tmp2,MAXLINE,"%d ",
|
|
trackinfo[i]->start_sec + 150);
|
|
strcat(tmp,tmp2);
|
|
}
|
|
- g_snprintf(tmp2,MAXLINE,"%d",cdinfo.total_size / 75);
|
|
+ g_snprintf(tmp2,MAXLINE,"%d",(cdinfo.leadout + 150) / 75);
|
|
strcat(tmp,tmp2);
|
|
} else {
|
|
/* get data from toc file */
|
|
|