chiark / gitweb /
spot changes to playing track via monitor list
[disorder] / disobedience / disobedience.h
index 1745764f76d073ba1bcef64176c2f9c877b650fe..9443864d56caf14bd7ebe20597aa575262086431 100644 (file)
@@ -89,6 +89,10 @@ extern int volume_l, volume_r;          /* current volume */
 extern double goesupto;                 /* volume upper bound */
 extern int choosealpha;                 /* break up choose by letter */
 
+extern const disorder_eclient_log_callbacks log_callbacks;
+
+typedef void monitor_callback(void *u);
+
 /* Functions --------------------------------------------------------------- */
 
 disorder_eclient *gtkclient(void);
@@ -111,6 +115,13 @@ GdkPixbuf *find_image(const char *name);
 void popup_error(const char *msg);
 /* Pop up an error message */
 
+void register_monitor(monitor_callback *callback,
+                      void *u,
+                      unsigned long mask);
+/* Register a state monitor */
+
+void all_update(void);
+/* Update everything */
 
 /* Main menu */
 
@@ -127,9 +138,8 @@ void menu_update(int page);
 GtkWidget *control_widget(void);
 /* Make the controls widget */
 
-void control_update(void);
-/* Called whenever we think the control widget needs changing */
-
+void volume_update(void);
+/* Called whenever we think the volume control has changed */
 
 /* Queue/Recent */
 
@@ -147,9 +157,6 @@ void queue_select_all(struct queuelike *ql);
 void queue_properties(struct queuelike *ql);
 /* Pop up properties of selected items in some queue */
 
-void playing_update(void);
-/* Called whenever we think the currently playing track might have changed */
-
 int queued(const char *track);
 /* Return nonzero iff TRACK is queued or playing */
 
@@ -185,6 +192,17 @@ void choose_update(void);
 #define WT(what) struct neverused
 #endif
 
+#if MTRACK
+extern const char *mtag;
+#define MTAG(x) do { mtag = x; } while(0)
+#define MTAG_PUSH(x) do { const char *save_mtag = mtag; mtag = x; (void)0
+#define MTAG_POP() mtag = save_mtag; } while(0)
+#else
+#define MTAG(x) do { } while(0)
+#define MTAG_PUSH(x) do {} while(0)
+#define MTAG_POP() do {} while(0)
+#endif
+
 #endif /* DISOBEDIENCE_H */
 
 /*