Add path token to playlist parser

This commit is contained in:
Ron Pedde 2004-03-07 06:22:44 +00:00
parent 4d14d11dff
commit 13a5b089c0
6 changed files with 28 additions and 9 deletions

View File

@ -1,25 +1,33 @@
2004-03-03 <ron@hafnium.corbey.com> 2004-03-07 Ron Pedde <ron@pedde.com>
* src/playlist.c: add support for "path" in playlist
2004-03-06 Ron Pedde <ron@pedde.com>
* src/mp3-scanner.c: first pass at .m4a support
2004-03-03 Ron Pedde <ron@pedde.com>
* src/db-gdbm.c: Add gdbm backed database * src/db-gdbm.c: Add gdbm backed database
2004-03-01 2004-03-01 Ron Pedde <ron@pedde.com>
* src/rend-posix.c: merge Apple's Rendezvous drop 58.3 (bug #902244) * src/rend-posix.c: merge Apple's Rendezvous drop 58.3 (bug #902244)
2004-02-24 <ron@mac-laptop> 2004-02-24 Ron Pedde <ron@pedde.com>
* src/db-memory.c: code cleanups from David Imhoff * src/db-memory.c: code cleanups from David Imhoff
* contrib/mt-daapd: fix init script (bug #902248) * contrib/mt-daapd: fix init script (bug #902248)
2004-02-18 <ron@hafnium.corbey.com> 2004-02-18 Ron Pedde <ron@pedde.com>
* src/mp3-scanner.c: Support TPOS tag (feature #898348) * src/mp3-scanner.c: Support TPOS tag (feature #898348)
2004-02-09 <ron@hafnium.corbey.com> 2004-02-09 Ron Pedde <ron@pedde.com>
* src/mp3-scanner.c: Fix for genre > 148 (bug #900664) * src/mp3-scanner.c: Fix for genre > 148 (bug #900664)
2004-01-29 <ron@hafnium.corbey.com> 2004-01-29 Ron Pedde <ron@pedde.com>
* Bump version number to 0.1.1 * Bump version number to 0.1.1
* Add support for Solaris * Add support for Solaris

View File

@ -35,8 +35,6 @@ dnl Darwin's stupid cpp preprocessor....
echo Host type is $host echo Host type is $host
case $host in case $host in
*solaris*) *solaris*)
AM_CONDITIONAL(COND_NEED_STRCASESTR,true)
AM_CONDITIONAL(COND_NEED_STRSEP,true)
CPPFLAGS="$CPPFLAGS -DNOT_HAVE_SA_LEN -D_XPG4_2 " CPPFLAGS="$CPPFLAGS -DNOT_HAVE_SA_LEN -D_XPG4_2 "
CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME" CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME"
LDFLAGS="$LDFLAGS -lnsl -lsocket";; LDFLAGS="$LDFLAGS -lnsl -lsocket";;
@ -95,6 +93,9 @@ AC_ARG_WITH(id3tag,
dnl AC_CHECK_HEADERS(zlib.h,LDFLAGS="${LDFLAGS} -lz",[ dnl AC_CHECK_HEADERS(zlib.h,LDFLAGS="${LDFLAGS} -lz",[
dnl AC_MSG_ERROR([zlib.h not found... try --with-zlib=dir])]) dnl AC_MSG_ERROR([zlib.h not found... try --with-zlib=dir])])
AC_CHECK_FUNC(strcasestr,,AM_CONDITIONAL(COND_NEED_STRCASESTR,true))
AC_CHECK_FUNC(strsep,,AM_CONDITIONAL(COND_NEED_STRSEP,true))
AC_CHECK_HEADERS(id3tag.h,LDFLAGS="${LDFLAGS} -lid3tag",[ AC_CHECK_HEADERS(id3tag.h,LDFLAGS="${LDFLAGS} -lid3tag",[
AC_MSG_ERROR([id3tag.h not found... try --with-id3tag=dir])]) AC_MSG_ERROR([id3tag.h not found... try --with-id3tag=dir])])

View File

@ -14,7 +14,8 @@
# Where valid ID3-tag-names are: # Where valid ID3-tag-names are:
# Artist (string) # Artist (string)
# Album (string) # Album (string)
# Genre (string) # Genre (string)
# Path (string) -- full path to song, including filename
# Year (int) # Year (int)
# #
# Valid operators include: # Valid operators include:

View File

@ -45,6 +45,7 @@ qstring \"[^\"\n]*[\"\n]
artist { yylval.ival=ARTIST; return(ARTIST); } artist { yylval.ival=ARTIST; return(ARTIST); }
album { yylval.ival=ALBUM; return(ALBUM); } album { yylval.ival=ALBUM; return(ALBUM); }
genre { yylval.ival=GENRE; return(GENRE); } genre { yylval.ival=GENRE; return(GENRE); }
path { yylval.ival=PATH; return(PATH); }
year { yylval.ival=YEAR; return(YEAR); } year { yylval.ival=YEAR; return(YEAR); }

View File

@ -56,6 +56,7 @@ int pl_number=2;
%token <ival> ARTIST %token <ival> ARTIST
%token <ival> ALBUM %token <ival> ALBUM
%token <ival> GENRE %token <ival> GENRE
%token <ival> PATH
%token <ival> EQUALS %token <ival> EQUALS
%token <ival> LESS %token <ival> LESS
@ -115,6 +116,7 @@ intbool: EQUALS { $$ = $1; }
strtag: ARTIST strtag: ARTIST
| ALBUM | ALBUM
| GENRE | GENRE
| PATH
; ;
strbool: IS { $$=$1; } strbool: IS { $$=$1; }

View File

@ -95,6 +95,9 @@ void pl_dump_node(PL_NODE *pnode, int indent) {
case GENRE: case GENRE:
printf("GENRE "); printf("GENRE ");
break; break;
case PATH:
printf("PATH ");
break;
case YEAR: case YEAR:
printf("YEAR "); printf("YEAR ");
break; break;
@ -243,6 +246,9 @@ int pl_eval_node(MP3FILE *pmp3, PL_NODE *pnode) {
case GENRE: case GENRE:
cval=pmp3->genre; cval=pmp3->genre;
break; break;
case PATH:
cval=pmp3->path;
break;
case YEAR: case YEAR:
ival=pmp3->year; ival=pmp3->year;
break; break;