summarylogtreecommitdiffstats
path: root/libcdio.patch
blob: ef2ab2575d34a67f6adc0ed8b94087ffb66662f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
diff -Naur audacious-plugins-3.2.4/src/cdaudio-ng/cdaudio-ng.c audacious-plugins-3.2.4.new/src/cdaudio-ng/cdaudio-ng.c
--- audacious-plugins-3.2.4/src/cdaudio-ng/cdaudio-ng.c	2012-06-30 07:05:33.000000000 +0700
+++ audacious-plugins-3.2.4.new/src/cdaudio-ng/cdaudio-ng.c	2013-02-18 02:24:53.075707031 +0700
@@ -26,7 +26,7 @@
 #include <cdio/cdio.h>
 #include <cdio/cdtext.h>
 #include <cdio/track.h>
-#include <cdio/cdda.h>
+#include <cdio/paranoia/cdda.h>
 #include <cdio/audio.h>
 #include <cdio/sector.h>
 #include <cdio/cd_types.h>
@@ -702,23 +702,24 @@
     }
 
     /* get trackinfo[0] cdtext information (the disc) */
+    cdtext_t *pcdtext = NULL;
     if (cdng_cfg.use_cdtext)
     {
         AUDDBG ("getting cd-text information for disc\n");
-        cdtext_t *pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, 0);
-        if (pcdtext == NULL || pcdtext->field[CDTEXT_TITLE] == NULL)
+        pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio);
+        if (pcdtext == NULL)
         {
             AUDDBG ("no cd-text available for disc\n");
         }
         else
         {
             cdaudio_set_strinfo (&trackinfo[0],
-                                 pcdtext->field[CDTEXT_PERFORMER] ? pcdtext->
-                                 field[CDTEXT_PERFORMER] : "",
-                                 pcdtext->field[CDTEXT_TITLE] ? pcdtext->
-                                 field[CDTEXT_TITLE] : "",
-                                 pcdtext->field[CDTEXT_GENRE] ? pcdtext->
-                                 field[CDTEXT_GENRE] : "");
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, 0) ?
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, 0) : "",
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, 0) ?
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, 0) : "",
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, 0) ?
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, 0) : "");
         }
     }
 
@@ -726,27 +727,15 @@
     gboolean cdtext_was_available = FALSE;
     for (trackno = firsttrackno; trackno <= lasttrackno; trackno++)
     {
-        cdtext_t *pcdtext = NULL;
-        if (cdng_cfg.use_cdtext)
-        {
-            AUDDBG ("getting cd-text information for track %d\n", trackno);
-            pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, trackno);
-            if (pcdtext == NULL || pcdtext->field[CDTEXT_PERFORMER] == NULL)
-            {
-                AUDDBG ("no cd-text available for track %d\n", trackno);
-                pcdtext = NULL;
-            }
-        }
-
         if (pcdtext != NULL)
         {
             cdaudio_set_strinfo (&trackinfo[trackno],
-                                 pcdtext->field[CDTEXT_PERFORMER] ? pcdtext->
-                                 field[CDTEXT_PERFORMER] : "",
-                                 pcdtext->field[CDTEXT_TITLE] ? pcdtext->
-                                 field[CDTEXT_TITLE] : "",
-                                 pcdtext->field[CDTEXT_GENRE] ? pcdtext->
-                                 field[CDTEXT_GENRE] : "");
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, trackno) ?
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, trackno) : "",
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, trackno) ?
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, trackno) : "",
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, trackno) ?
+                                 cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, trackno) : "");
             cdtext_was_available = TRUE;
         }
         else