+/** @brief Locate a track by ID */
+struct queue_entry *dcgi_findtrack(const char *id) {
+ struct queue_entry **qq;
+
+ if(queuemap && (qq = hash_find(queuemap, id)))
+ return *qq;
+ dcgi_lookup(DCGI_PLAYING);
+ if(queuemap && (qq = hash_find(queuemap, id)))
+ return *qq;
+ dcgi_lookup(DCGI_QUEUE);
+ if(queuemap && (qq = hash_find(queuemap, id)))
+ return *qq;
+ dcgi_lookup(DCGI_RECENT);
+ if(queuemap && (qq = hash_find(queuemap, id)))
+ return *qq;
+ return NULL;
+}
+
+void dcgi_lookup_reset(void) {
+ /* Forget everything we knew */
+ flags = 0;
+ queuemap = 0;
+ dcgi_recent = 0;
+ dcgi_queue = 0;
+ dcgi_playing = 0;
+ dcgi_rights = 0;
+ dcgi_new = 0;
+ dcgi_nnew = 0;
+ dcgi_enabled = 0;
+ dcgi_random_enabled = 0;
+ dcgi_volume_left = dcgi_volume_right = 0;
+}
+
+