diff --git a/ChangeLog b/ChangeLog index 6b73438c..1cf10b94 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,25 +1,33 @@ -2004-03-03 +2004-03-07 Ron Pedde + + * src/playlist.c: add support for "path" in playlist + +2004-03-06 Ron Pedde + + * src/mp3-scanner.c: first pass at .m4a support + +2004-03-03 Ron Pedde * src/db-gdbm.c: Add gdbm backed database -2004-03-01 +2004-03-01 Ron Pedde * src/rend-posix.c: merge Apple's Rendezvous drop 58.3 (bug #902244) -2004-02-24 +2004-02-24 Ron Pedde * src/db-memory.c: code cleanups from David Imhoff * contrib/mt-daapd: fix init script (bug #902248) -2004-02-18 +2004-02-18 Ron Pedde * src/mp3-scanner.c: Support TPOS tag (feature #898348) -2004-02-09 +2004-02-09 Ron Pedde * src/mp3-scanner.c: Fix for genre > 148 (bug #900664) -2004-01-29 +2004-01-29 Ron Pedde * Bump version number to 0.1.1 * Add support for Solaris diff --git a/configure.in b/configure.in index d3f0e210..2f214429 100644 --- a/configure.in +++ b/configure.in @@ -35,8 +35,6 @@ dnl Darwin's stupid cpp preprocessor.... echo Host type is $host case $host in *solaris*) - AM_CONDITIONAL(COND_NEED_STRCASESTR,true) - AM_CONDITIONAL(COND_NEED_STRSEP,true) CPPFLAGS="$CPPFLAGS -DNOT_HAVE_SA_LEN -D_XPG4_2 " CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME" LDFLAGS="$LDFLAGS -lnsl -lsocket";; @@ -95,6 +93,9 @@ AC_ARG_WITH(id3tag, dnl AC_CHECK_HEADERS(zlib.h,LDFLAGS="${LDFLAGS} -lz",[ 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_MSG_ERROR([id3tag.h not found... try --with-id3tag=dir])]) diff --git a/contrib/mt-daapd.playlist b/contrib/mt-daapd.playlist index a0374dee..f17f5902 100644 --- a/contrib/mt-daapd.playlist +++ b/contrib/mt-daapd.playlist @@ -14,7 +14,8 @@ # Where valid ID3-tag-names are: # Artist (string) # Album (string) -# Genre (string) +# Genre (string) +# Path (string) -- full path to song, including filename # Year (int) # # Valid operators include: diff --git a/src/lexer.l b/src/lexer.l index 9b87c28b..6e6f0a25 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -45,6 +45,7 @@ qstring \"[^\"\n]*[\"\n] artist { yylval.ival=ARTIST; return(ARTIST); } album { yylval.ival=ALBUM; return(ALBUM); } genre { yylval.ival=GENRE; return(GENRE); } +path { yylval.ival=PATH; return(PATH); } year { yylval.ival=YEAR; return(YEAR); } diff --git a/src/parser.y b/src/parser.y index 0111b291..58b610cb 100644 --- a/src/parser.y +++ b/src/parser.y @@ -56,6 +56,7 @@ int pl_number=2; %token ARTIST %token ALBUM %token GENRE +%token PATH %token EQUALS %token LESS @@ -115,6 +116,7 @@ intbool: EQUALS { $$ = $1; } strtag: ARTIST | ALBUM | GENRE +| PATH ; strbool: IS { $$=$1; } diff --git a/src/playlist.c b/src/playlist.c index b3f0ec60..df28d513 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -95,6 +95,9 @@ void pl_dump_node(PL_NODE *pnode, int indent) { case GENRE: printf("GENRE "); break; + case PATH: + printf("PATH "); + break; case YEAR: printf("YEAR "); break; @@ -243,6 +246,9 @@ int pl_eval_node(MP3FILE *pmp3, PL_NODE *pnode) { case GENRE: cval=pmp3->genre; break; + case PATH: + cval=pmp3->path; + break; case YEAR: ival=pmp3->year; break;