]> mj.ucw.cz Git - ursary.git/blobdiff - ursaryd.h
Muting of sources
[ursary.git] / ursaryd.h
index 8b743345e3e341f68be14f74c91a8378ff5ea474..d60a426f8f6aac20c4430e97a9986acbe0d6e6fc 100644 (file)
--- a/ursaryd.h
+++ b/ursaryd.h
@@ -53,6 +53,18 @@ struct pulse_client {
   char *host;
 };
 
+struct pulse_source {
+  cnode n;
+  int idx;
+  char *name;
+  uint channels;
+  uint volume;
+  uint base_volume;
+  bool mute;
+  bool suspended;
+  char *active_port;
+};
+
 struct pulse_sink {
   cnode n;
   int idx;
@@ -77,11 +89,16 @@ struct pulse_sink_input {
   int noct_group_idx;          // Used by the high-level logic below
 };
 
-extern clist pulse_client_list, pulse_sink_list, pulse_sink_input_list;
+extern clist pulse_client_list, pulse_source_list, pulse_sink_list, pulse_sink_input_list;
 
 void pulse_init(void);
 void pulse_dump(void);
 bool pulse_is_ready(void);
+struct pulse_source *pulse_source_by_name(const char *name);
+struct pulse_source *pulse_source_by_idx(int idx);
+void pulse_source_set_volume(int idx, pa_cvolume *cvol);
+void pulse_source_set_mute(int idx, bool mute);
+void pulse_source_set_port(int idx, const char *port);
 struct pulse_sink *pulse_sink_by_name(const char *name);
 struct pulse_sink *pulse_sink_by_idx(int idx);
 void pulse_sink_set_volume(int idx, pa_cvolume *cvol);