diff --git a/src/lexer.l b/src/lexer.l index 3dd206b8..d860b7e3 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -54,6 +54,7 @@ composer { yylval.ival=COMPOSER; return(COMPOSER); } orchestra { yylval.ival=ORCHESTRA; return(ORCHESTRA); } conductor { yylval.ival=CONDUCTOR; return(CONDUCTOR); } grouping { yylval.ival=GROUPING; return(GROUPING); } +type { yylval.ival=TYPE; return(TYPE); } year { yylval.ival=YEAR; return(YEAR); } bpm { yylval.ival=BPM; return(BPM); } diff --git a/src/parser.y b/src/parser.y index 7064308a..63918722 100644 --- a/src/parser.y +++ b/src/parser.y @@ -62,6 +62,7 @@ int pl_number=2; %token ORCHESTRA %token CONDUCTOR %token GROUPING +%token TYPE %token EQUALS %token LESS @@ -160,6 +161,7 @@ strtag: ARTIST | ORCHESTRA | CONDUCTOR | GROUPING +| TYPE ; strbool: IS { $$=$1; } diff --git a/src/playlist.c b/src/playlist.c index f487c0b2..a4a0e1c7 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -116,6 +116,9 @@ void pl_dump_node(PL_NODE *pnode, int indent) { case GROUPING: printf("GROUPING "); break; + case TYPE: + printf("TYPE "); + break; case YEAR: printf("YEAR "); break; @@ -307,6 +310,9 @@ int pl_eval_node(MP3FILE *pmp3, PL_NODE *pnode) { case GROUPING: cval=pmp3->grouping; break; + case TYPE: + cval=pmp3->description; + break; case YEAR: ival=pmp3->year; break;