mirror of
https://github.com/owntone/owntone-server.git
synced 2025-04-01 10:13:45 -04:00
Add smart playlist clause to playlist query
This commit is contained in:
parent
f7bd776d5f
commit
158a76ae16
@ -171,7 +171,7 @@ DAAP_ITEMS taglist[] = {
|
|||||||
{ 0x01, "aeSP", "com.apple.itunes.smart-playlist" },
|
{ 0x01, "aeSP", "com.apple.itunes.smart-playlist" },
|
||||||
/* iTunes 4.5+ */
|
/* iTunes 4.5+ */
|
||||||
{ 0x01, "msas", "dmap.authenticationschemes" },
|
{ 0x01, "msas", "dmap.authenticationschemes" },
|
||||||
{ 0x05, "ascd", "daap.songcodectype" },
|
{ 0x05, "ascd", "daap.songcodectype" }, /* there is a songcodec subtype, too */
|
||||||
{ 0x09, "agrp", "daap.songgrouping" },
|
{ 0x09, "agrp", "daap.songgrouping" },
|
||||||
{ 0x05, "aeSV", "com.apple.itunes.music-sharing-version" },
|
{ 0x05, "aeSV", "com.apple.itunes.music-sharing-version" },
|
||||||
{ 0x05, "aePI", "com.apple.itunes.itms-playlistid" },
|
{ 0x05, "aePI", "com.apple.itunes.itms-playlistid" },
|
||||||
@ -179,6 +179,10 @@ DAAP_ITEMS taglist[] = {
|
|||||||
{ 0x05, "aeGI", "com.apple.iTunes.itms-genreid" },
|
{ 0x05, "aeGI", "com.apple.iTunes.itms-genreid" },
|
||||||
{ 0x05, "aeAI", "com.apple.iTunes.itms-artistid" },
|
{ 0x05, "aeAI", "com.apple.iTunes.itms-artistid" },
|
||||||
{ 0x05, "aeSI", "com.apple.iTunes.itms-songid" },
|
{ 0x05, "aeSI", "com.apple.iTunes.itms-songid" },
|
||||||
|
|
||||||
|
/* mt-daapd specific */
|
||||||
|
{ 0x09, "MSPS", "org.mt-daapd.smart-playlist-spec" },
|
||||||
|
|
||||||
{ 0x00, NULL, NULL }
|
{ 0x00, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -220,6 +224,8 @@ static METAMAP db_metamap[] = {
|
|||||||
{ "daap.songtracknumber", metaSongTrackNumber },
|
{ "daap.songtracknumber", metaSongTrackNumber },
|
||||||
{ "daap.songuserrating", metaSongUserRating },
|
{ "daap.songuserrating", metaSongUserRating },
|
||||||
{ "daap.songyear", metaSongYear },
|
{ "daap.songyear", metaSongYear },
|
||||||
|
/* mt-daapd specific */
|
||||||
|
{ "org.mt-daapd.smart-playlist-spec", metaMTDSmartPlaylistSpec },
|
||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -64,7 +64,10 @@ typedef enum {
|
|||||||
metaSongTrackCount,
|
metaSongTrackCount,
|
||||||
metaSongTrackNumber,
|
metaSongTrackNumber,
|
||||||
metaSongUserRating,
|
metaSongUserRating,
|
||||||
metaSongYear
|
metaSongYear,
|
||||||
|
|
||||||
|
/* mt-daapd specific */
|
||||||
|
metaMTDSmartPlaylistSpec
|
||||||
} MetaFieldName_t;
|
} MetaFieldName_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -810,6 +810,8 @@ int db_sqlite_get_size(DBQUERYINFO *pinfo, char **valarray) {
|
|||||||
size += 12; /* mimc */
|
size += 12; /* mimc */
|
||||||
size += 9; /* aeSP */
|
size += 9; /* aeSP */
|
||||||
size += (8 + strlen(valarray[1])); /* minm */
|
size += (8 + strlen(valarray[1])); /* minm */
|
||||||
|
if((valarray[2]) && atoi(valarray[2])) /* MSPS */
|
||||||
|
size += (8 + strlen(valarray[4]));
|
||||||
return size;
|
return size;
|
||||||
break;
|
break;
|
||||||
case queryTypeItems:
|
case queryTypeItems:
|
||||||
@ -963,6 +965,8 @@ int db_sqlite_build_dmap(DBQUERYINFO *pinfo, char **valarray, char *presult, int
|
|||||||
current += db_dmap_add_int(current,"mimc",atoi(valarray[3]));
|
current += db_dmap_add_int(current,"mimc",atoi(valarray[3]));
|
||||||
current += db_dmap_add_char(current,"aeSP",atoi(valarray[2]));
|
current += db_dmap_add_char(current,"aeSP",atoi(valarray[2]));
|
||||||
current += db_dmap_add_string(current,"minm",valarray[1]);
|
current += db_dmap_add_string(current,"minm",valarray[1]);
|
||||||
|
if((valarray[2]) && atoi(valarray[2]))
|
||||||
|
current += db_dmap_add_string(current,"MSPS",valarray[4]);
|
||||||
break;
|
break;
|
||||||
case queryTypeItems:
|
case queryTypeItems:
|
||||||
case queryTypePlaylistItems: /* essentially the same query */
|
case queryTypePlaylistItems: /* essentially the same query */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user