blob: 696ea172d6917f33a4647945dd92b554dfa19d33 (
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
|
diff --git a/cue_parser.y b/cue_parser.y
index bb3e181..a9a7b2b 100644
--- a/cue_parser.y
+++ b/cue_parser.y
@@ -122,7 +122,8 @@ Cd *cue_parse_string(const char*);
/* REM */
%type <ival> rem_item
%token <ival> DATE
-%token <ival> XXX_GENRE /* parsed in REM but stored in CD-TEXT */
+%token <ival> XXX_GENRE /* XXX = parsed in REM but stored in CD-TEXT */
+%token <ival> XXX_COMPOSER
%token <ival> REPLAYGAIN_ALBUM_GAIN
%token <ival> REPLAYGAIN_ALBUM_PEAK
%token <ival> REPLAYGAIN_TRACK_GAIN
@@ -307,6 +308,7 @@ time
rem
: rem_item STRING '\n' { rem_set($1, $2, rem); }
| XXX_GENRE STRING '\n' { cdtext_set($1, $2, cdtext); }
+ | XXX_COMPOSER STRING '\n' { cdtext_set($1, $2, cdtext); }
;
rem_item
diff --git a/cue_scanner.l b/cue_scanner.l
index feb7778..0bdb68f 100644
--- a/cue_scanner.l
+++ b/cue_scanner.l
@@ -102,6 +102,7 @@ REM { BEGIN(REM); /* exclusive rules for special exceptions */ }
<REM>DATE { BEGIN(NAME); yylval.ival = REM_DATE; return DATE; }
<REM>GENRE { BEGIN(NAME); yylval.ival = PTI_GENRE; return XXX_GENRE; }
+<REM>COMPOSER { BEGIN(NAME); yylval.ival = PTI_COMPOSER; return XXX_COMPOSER; }
<REM>REPLAYGAIN_ALBUM_GAIN { BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_ALBUM_GAIN;
return REPLAYGAIN_ALBUM_GAIN; }
<REM>REPLAYGAIN_ALBUM_PEAK { BEGIN(RPG); yylval.ival = REM_REPLAYGAIN_ALBUM_PEAK;
|