2 * The Ursary Audio Controls
4 * (c) 2014 Martin Mares <mj@ucw.cz>
7 #include <pulse/pulseaudio.h>
11 void schedule_update(void);
13 void notify_rotary(int rotary, int delta);
14 void notify_button(int button, int on);
19 bool noct_is_ready(void);
20 void noct_set_ring(int ring, int mode, int val);
21 void noct_set_button(int button, int val);
44 extern enum pulse_state pulse_state;
45 extern char *pulse_default_sink_name;
64 struct pulse_sink_input {
73 int noct_client_idx; // Used by the high-level logic below
76 extern clist pulse_client_list, pulse_sink_list, pulse_sink_input_list;
78 void pulse_init(void);
79 void pulse_dump(void);
80 struct pulse_sink *pulse_sink_by_name(const char *name);
81 void pulse_sink_set_volume(int idx, pa_cvolume *cvol);
82 void pulse_sink_set_mute(int idx, bool mute);
83 void pulse_sink_input_set_volume(int idx, pa_cvolume *cvol);
84 void pulse_sink_input_set_mute(int idx, bool mute);
85 struct pulse_client *pulse_client_by_idx(int idx);
86 void pulse_server_set_default_sink(const char *name);
90 extern struct pa_mainloop_api pmain_api;
92 void pmain_init(void);