mirror of
https://github.com/owntone/owntone-server.git
synced 2025-02-09 04:38:10 -05:00
Add path token to playlist parser
This commit is contained in:
parent
4d14d11dff
commit
13a5b089c0
20
ChangeLog
20
ChangeLog
@ -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
|
||||||
|
@ -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])])
|
||||||
|
|
||||||
|
@ -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:
|
||||||
|
@ -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); }
|
||||||
|
|
||||||
|
@ -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; }
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user