summaryrefslogtreecommitdiffstats
path: root/apps/tagcache.h
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2007-07-21 17:35:19 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2007-07-21 17:35:19 +0000
commit9d756e2760a0926aa416b22e276c4a5b2685e84e (patch)
tree21502b59d472d57f6cdb267eb96177784beec706 /apps/tagcache.h
parent6ed7722db0f7e911684f5deb84cc4ae93d15ccac (diff)
downloadrockbox-9d756e2760a0926aa416b22e276c4a5b2685e84e.tar.gz
rockbox-9d756e2760a0926aa416b22e276c4a5b2685e84e.tar.bz2
rockbox-9d756e2760a0926aa416b22e276c4a5b2685e84e.zip
Queue song statistical data to the tagcache system and update entirely in background. Fixes ratings disappearing or not saving in the DB at all. Fixes also UI delay when stopping playback and new statistics are committed to DB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13955 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/tagcache.h')
-rw-r--r--apps/tagcache.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/tagcache.h b/apps/tagcache.h
index 70677c602b..3d80c6975f 100644
--- a/apps/tagcache.h
+++ b/apps/tagcache.h
@@ -63,6 +63,11 @@ enum tag_type { tag_artist = 0, tag_album, tag_genre, tag_title,
/* Always strict align entries for best performance and binary compatability. */
#define TAGCACHE_STRICT_ALIGN 1
+/* Max events in the internal tagcache command queue. */
+#define TAGCACHE_COMMAND_QUEUE_LENGTH 32
+/* Idle time before committing events in the command queue. */
+#define TAGCACHE_COMMAND_QUEUE_COMMIT_DELAY HZ*2
+
#define TAGCACHE_MAX_FILTERS 4
#define TAGCACHE_MAX_CLAUSES 32
@@ -170,6 +175,7 @@ long tagcache_increase_serial(void);
long tagcache_get_serial(void);
bool tagcache_import_changelog(void);
bool tagcache_create_changelog(struct tagcache_search *tcs);
+void tagcache_update_numeric(int idx_id, int tag, long data);
bool tagcache_modify_numeric_entry(struct tagcache_search *tcs,
int tag, long data);