]> mj.ucw.cz Git - ursary.git/blobdiff - ursaryd.h
Add a silly README
[ursary.git] / ursaryd.h
index 87f4854d844cf291f59333f1d008501a9f8233c5..ddfc18d2fc6de7c6f85ae9963b4a6e7c29bb5c83 100644 (file)
--- a/ursaryd.h
+++ b/ursaryd.h
@@ -6,6 +6,8 @@
 
 #include <pulse/pulseaudio.h>
 
+#define SET_STRING(_field, _val) do { if (!_field || strcmp(_field, _val)) { xfree(_field); _field = xstrdup(_val); } } while (0)
+
 /* ursary.c */
 
 void schedule_update(void);
@@ -59,9 +61,9 @@ struct pulse_sink {
   cnode n;
   int idx;
   char *name;
-  uns channels;
-  uns volume;
-  uns base_volume;
+  uint channels;
+  uint volume;
+  uint base_volume;
   int mute;
 };
 
@@ -71,9 +73,9 @@ struct pulse_sink_input {
   char *name;
   int client_idx;
   int sink_idx;
-  uns channels;
-  uns volume;
-  uns mute;
+  uint channels;
+  uint volume;
+  uint mute;
   int noct_client_idx;         // Used by the high-level logic below
 };
 
@@ -96,3 +98,20 @@ void pulse_server_set_default_sink(const char *name);
 extern struct pa_mainloop_api pmain_api;
 
 void pmain_init(void);
+
+/* mpd.c */
+
+enum mpd_state {
+  MPD_OFFLINE,
+  MPD_CONNECTING,
+  MPD_WAIT_GREETING,
+  MPD_ONLINE,
+};
+
+extern enum mpd_state mpd_state;
+
+void mpd_init(void);
+const char *mpd_get_player_state(void);
+void mpd_play(void);
+void mpd_stop(void);
+void mpd_pause(int arg);