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);
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 */
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 */
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 */
void choose_update(void);
/* Called when we think the choose tree might need updating */
+/* Widget leakage debugging rubbish ---------------------------------------- */
+
+#if MDEBUG
+#define NW(what) do { \
+ if(++current##what % 100 > max##what) { \
+ fprintf(stderr, "%s:%d: %d %s\n", \
+ __FILE__, __LINE__, current##what, #what); \
+ max##what = current##what; \
+ } \
+} while(0)
+#define WT(what) static int current##what, max##what
+#define DW(what) (--current##what)
+#else
+#define NW(what) do { } while(0)
+#define DW(what) do { } while(0)
+#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 */
/*
indent-tabs-mode:nil
End:
*/
-/* arch-tag:5DbN8e67AvkhPmNqSQyZFQ */