commit c6b78397381f653a50bf8652b0a170bf04f7921a
Author: Christophe Fergeau <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2