commit c6b78397381f653a50bf8652b0a170bf04f7921a Author: Christophe Fergeau <t...@gnome.org> Date: Wed Sep 29 22:07:19 2010 +0200
Handle "not-binary-and" as smart playlist action This appearead as part of ebook handling on recent iOS databases. Without this action, a warning appears in the console. src/itdb.h | 1 + src/itdb_playlist.c | 8 ++++++++ 2 files changed, 9 insertions(+), 0 deletions(-) --- diff --git a/src/itdb.h b/src/itdb.h index 7e7586a..2cd6f5a 100644 --- a/src/itdb.h +++ b/src/itdb.h @@ -495,6 +495,7 @@ typedef enum { ITDB_SPLACTION_IS_NOT_LESS_THAN = 0x02000040, ITDB_SPLACTION_IS_NOT_IN_THE_RANGE = 0x02000100, ITDB_SPLACTION_IS_NOT_IN_THE_LAST = 0x02000200, + ITDB_SPLACTION_NOT_BINARY_AND = 0x02000400, ITDB_SPLACTION_BINARY_UNKNOWN2 = 0x02000800, diff --git a/src/itdb_playlist.c b/src/itdb_playlist.c index 85cef97..dac871f 100644 --- a/src/itdb_playlist.c +++ b/src/itdb_playlist.c @@ -71,6 +71,7 @@ gboolean itdb_spl_action_known (ItdbSPLAction action) case ITDB_SPLACTION_IS_NOT: case ITDB_SPLACTION_DOES_NOT_CONTAIN: case ITDB_SPLACTION_BINARY_AND: + case ITDB_SPLACTION_NOT_BINARY_AND: case ITDB_SPLACTION_BINARY_UNKNOWN1: case ITDB_SPLACTION_BINARY_UNKNOWN2: result = TRUE; @@ -189,6 +190,7 @@ ItdbSPLActionType itdb_splr_get_action_type (const Itdb_SPLRule *splr) case ITDB_SPLACTION_IS_IN_THE_LAST: case ITDB_SPLACTION_IS_NOT_IN_THE_LAST: case ITDB_SPLACTION_BINARY_AND: + case ITDB_SPLACTION_NOT_BINARY_AND: case ITDB_SPLACTION_BINARY_UNKNOWN1: case ITDB_SPLACTION_BINARY_UNKNOWN2: return ITDB_SPLAT_INVALID; @@ -211,6 +213,7 @@ ItdbSPLActionType itdb_splr_get_action_type (const Itdb_SPLRule *splr) case ITDB_SPLACTION_IS_IN_THE_RANGE: return ITDB_SPLAT_RANGE_INT; case ITDB_SPLACTION_BINARY_AND: + case ITDB_SPLACTION_NOT_BINARY_AND: case ITDB_SPLACTION_BINARY_UNKNOWN1: case ITDB_SPLACTION_BINARY_UNKNOWN2: case ITDB_SPLACTION_IS_STRING: @@ -257,6 +260,7 @@ ItdbSPLActionType itdb_splr_get_action_type (const Itdb_SPLRule *splr) case ITDB_SPLACTION_IS_NOT: case ITDB_SPLACTION_DOES_NOT_CONTAIN: case ITDB_SPLACTION_BINARY_AND: + case ITDB_SPLACTION_NOT_BINARY_AND: case ITDB_SPLACTION_BINARY_UNKNOWN1: case ITDB_SPLACTION_BINARY_UNKNOWN2: return ITDB_SPLAT_INVALID; @@ -268,6 +272,7 @@ ItdbSPLActionType itdb_splr_get_action_type (const Itdb_SPLRule *splr) case ITDB_SPLACTION_BINARY_UNKNOWN2: return ITDB_SPLAT_UNKNOWN; case ITDB_SPLACTION_BINARY_AND: + case ITDB_SPLACTION_NOT_BINARY_AND: return ITDB_SPLAT_BINARY_AND; case ITDB_SPLACTION_IS_INT: case ITDB_SPLACTION_IS_NOT_INT: @@ -317,6 +322,7 @@ ItdbSPLActionType itdb_splr_get_action_type (const Itdb_SPLRule *splr) case ITDB_SPLACTION_IS_NOT: case ITDB_SPLACTION_DOES_NOT_CONTAIN: case ITDB_SPLACTION_BINARY_AND: + case ITDB_SPLACTION_NOT_BINARY_AND: case ITDB_SPLACTION_BINARY_UNKNOWN1: case ITDB_SPLACTION_BINARY_UNKNOWN2: return ITDB_SPLAT_INVALID; @@ -559,6 +565,8 @@ gboolean itdb_splr_eval (Itdb_SPLRule *splr, Itdb_Track *track) { case ITDB_SPLACTION_BINARY_AND: return (intcomp & splr->fromvalue)? TRUE:FALSE; + case ITDB_SPLACTION_NOT_BINARY_AND: + return (intcomp & splr->fromvalue)? FALSE:TRUE; } return FALSE; case ITDB_SPLFT_BOOLEAN: ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ gtkpod-cvs2 mailing list gtkpod-cvs2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2