summaryrefslogtreecommitdiff
path: root/src/audiocd.c
diff options
context:
space:
mode:
authorPaul Gevers <elbrus@debian.org>2013-04-26 21:50:18 +0200
committerPaul Gevers <elbrus@debian.org>2013-04-26 21:50:18 +0200
commit73cc5ebf6fd9c26a19242959575ae29f5bdd1847 (patch)
treeb800ce561a5aea24d14997d0dff9b5d06511d8b2 /src/audiocd.c
parent1ed2c140879a11bd25c960775eb9cbf4218ffc2c (diff)
Imported Upstream version 8.2.0
Diffstat (limited to 'src/audiocd.c')
-rw-r--r--src/audiocd.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/audiocd.c b/src/audiocd.c
index 0ea0b77..537c405 100644
--- a/src/audiocd.c
+++ b/src/audiocd.c
@@ -23,12 +23,12 @@ char tag[MAX_TAG], label[max_phrase_len];
extern char cd_dev[];
extern char daisy_title[], bookmark_title[], sound_dev[];
int current, displaying, total_items, max_y, cddb_flag;
-extern daisy_t daisy[];
+extern daisy_t daisy[];
pid_t player_pid, daisy_player_pid;
float speed, total_time;
+extern sox_effects_chain_t *effects_chain;
int get_tag_or_label (xmlTextReaderPtr);
-extern FILE *jos;
float calc_track_time (char *file)
{
@@ -79,6 +79,12 @@ void get_cddb_info ()
} // if
if (strcasestr (str, "TTITLE"))
{
+ char l[MAX_STR + 1];
+
+ snprintf (l, MAX_STR, "TTITLE%d=", i);
+// some titles are spanned over more lines
+ if (strstr (str, l) == NULL)
+ continue;
strncpy (daisy[i].label, strchr (str, '=') + 1, max_phrase_len - 1);
if (strchr (daisy[i].label, '\n'))
*strchr (daisy[i].label, '\n') = 0;
@@ -105,7 +111,7 @@ void get_toc_audiocd (char *dev)
{
snprintf (daisy[current].label, 15, "Track %2d", current + 1);
snprintf (daisy[current].filename, MAX_STR - 1,
- "%s/Track %d.wav", dir, current + 1); // jos
+ "%s/Track %d.wav", dir, current + 1);
daisy[current].first_lsn = cdio_get_track_lsn (cd,
first_track + current);
if (displaying == max_y)
@@ -129,3 +135,12 @@ void get_toc_audiocd (char *dev)
if (cddb_flag != 'n')
get_cddb_info ();
} // get_toc_audiocd
+
+void set_drive_speed (char *dev, int drive_speed)
+{
+ CdIo_t *cd;
+
+ cd = cdio_open (dev, DRIVER_UNKNOWN);
+ cdio_set_speed (cd, drive_speed);
+ cdio_destroy (cd);
+} // set_drive_speed