X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/460b9539a7c15580e41a71bbc0f47ae776238915..3ffa2d1599e2f5ae06f402352c2da05b90652171:/disobedience/disobedience.h diff --git a/disobedience/disobedience.h b/disobedience/disobedience.h index a63cf44..9443864 100644 --- a/disobedience/disobedience.h +++ b/disobedience/disobedience.h @@ -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 */ @@ -167,6 +174,35 @@ GtkWidget *choose_widget(void); 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 */ /* @@ -177,4 +213,3 @@ fill-column:79 indent-tabs-mode:nil End: */ -/* arch-tag:5DbN8e67AvkhPmNqSQyZFQ */