]> mj.ucw.cz Git - misc.git/commitdiff
Ursary: Code cleanups
authorMartin Mares <mj@ucw.cz>
Sun, 9 Nov 2014 19:18:46 +0000 (20:18 +0100)
committerMartin Mares <mj@ucw.cz>
Sun, 9 Nov 2014 19:18:46 +0000 (20:18 +0100)
ursaryd/nocturn.c
ursaryd/pulse-ucw.c
ursaryd/pulse.c
ursaryd/ursaryd.c
ursaryd/ursaryd.h

index 2e93f5c468c5bf36881d47f9fe05f67d925edd51..f8665ed8a04d9d4d094cd521a328a4a67d4ec24b 100644 (file)
@@ -351,7 +351,7 @@ static void noct_connect(struct main_timer *t)
          desc.idVendor == 0x1235 &&
          desc.idProduct == 0x000a)
        {
-         msg(L_DEBUG, "Found device: bus %d, addr %d", libusb_get_bus_number(dev), libusb_get_device_address(dev));
+         msg(L_INFO, "Nocturn found at bus %d, addr %d", libusb_get_bus_number(dev), libusb_get_device_address(dev));
          if (found_dev)
            {
              msg(L_ERROR, "Multiple Nocturn devices found. Using the first one.");
@@ -369,7 +369,7 @@ static void noct_connect(struct main_timer *t)
       return;
     }
 
-  msg(L_DEBUG, "Initializing Nocturn");
+  DBG("Initializing Nocturn");
 
   if ((err = libusb_open(found_dev, &usb_dev)) < 0)
     return noct_error(err, "libusb_open failed");
index 3ccb70de3e5ce34d9a570a352ad53564c0d7823b..4ef032c36ad0122675e7d2b192c06b9dc22cf026 100644 (file)
@@ -13,8 +13,6 @@
 #include <sys/poll.h>
 #include <sys/time.h>
 
-#include <pulse/pulseaudio.h>
-
 #include "ursaryd.h"
 
 struct pmain_io {
index a22021f19f92b47acd4f6e3fef963e82769cc4c9..08f51be9b36c9138462cb6b46763afa22cd31968 100644 (file)
@@ -4,7 +4,7 @@
  *     (c) 2014 Martin Mares <mj@ucw.cz>
  */
 
-#define LOCAL_DEBUG
+#undef LOCAL_DEBUG
 
 #include <ucw/lib.h>
 #include <ucw/clists.h>
@@ -15,8 +15,6 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include <pulse/pulseaudio.h>
-
 #include "ursaryd.h"
 
 enum pulse_state pulse_state;
@@ -125,6 +123,7 @@ static void pulse_sink_input_cb(pa_context *ctx UNUSED, const pa_sink_input_info
       if (op->is_init)
        {
          PULSE_STATE(PS_ONLINE);
+         msg(L_INFO, "PulseAudio is ready");
          schedule_update();
        }
       pulse_op_done(op);
@@ -356,6 +355,7 @@ static void pulse_state_cb(pa_context *ctx, void *userdata UNUSED)
     {
       if (pulse_state != PS_OFFLINE)
        {
+         msg(L_INFO, "Lost connection to PulseAudio");
          PULSE_STATE(PS_OFFLINE);
          pulse_op_cancel_all();
          pulse_shutdown();
@@ -368,7 +368,7 @@ static void pulse_state_cb(pa_context *ctx, void *userdata UNUSED)
 
 static void pulse_connect(struct main_timer *t)
 {
-  DBG("Pulse: Connecting");
+  msg(L_DEBUG, "Connecting to PulseAudio");
   timer_del(t);
 
   clist_init(&pulse_op_list);
index 7f9d00c879d40374d8ce0393fc80533a712d022e..c8a87a2ed3fda4d207ff47470214a6ea51d9a15e 100644 (file)
 #include <string.h>
 #include <stdlib.h>
 
-#include <pulse/pulseaudio.h>
-
 #include "ursaryd.h"
 
-/*** High-level logic ***/
-
-static struct main_timer update_timer;
+/*** Sink controls ***/
 
 static double volume_from_pa(pa_volume_t vol)
 {
@@ -72,6 +68,21 @@ static void update_sink_from_rotary(int delta, const char *sink_name)
   pulse_sink_set_volume(s->idx, &cvol);
 }
 
+static void update_sink_mute_from_button(int on, const char *sink_name)
+{
+  if (!on)
+    return;
+
+  struct pulse_sink *s = pulse_sink_by_name(sink_name);
+  if (!s)
+    return;
+
+  DBG("## Setting mute of sink %s to %d", s->name, !s->mute);
+  pulse_sink_set_mute(s->idx, !s->mute);
+}
+
+/*** Client controls ***/
+
 struct client_map {
   int rotary;
   const char *client;
@@ -189,6 +200,35 @@ static void update_client_from_rotary(int rotary, int delta)
     }
 }
 
+static void update_client_from_button(int button, int on)
+{
+  if (button >= 8 || !on)
+    return;
+
+  int i = find_client_by_rotary(button);
+  if (i < 0)
+    return;
+  struct client_state *cs = &client_state[i];
+
+  calc_clients();
+  if (!cs->have_muted[0] && !cs->have_muted[1])
+    return;
+  uns mute = !cs->have_muted[1];
+
+  CLIST_FOR_EACH(struct pulse_sink_input *, s, pulse_sink_input_list)
+    {
+      if (s->noct_client_idx == i)
+       {
+         DBG("@@ Client #%d, sink input #%d: setting mute=%u", s->client_idx, s->idx, mute);
+         pulse_sink_input_set_mute(s->idx, mute);
+       }
+    }
+}
+
+/*** Main update routines ***/
+
+static struct main_timer update_timer;
+
 static void do_update(struct main_timer *t)
 {
   timer_del(t);
@@ -260,44 +300,6 @@ void notify_rotary(int rotary, int delta)
     }
 }
 
-static void update_sink_mute_from_button(int on, const char *sink_name)
-{
-  if (!on)
-    return;
-
-  struct pulse_sink *s = pulse_sink_by_name(sink_name);
-  if (!s)
-    return;
-
-  DBG("## Setting mute of sink %s to %d", s->name, !s->mute);
-  pulse_sink_set_mute(s->idx, !s->mute);
-}
-
-static void update_client_from_button(int button, int on)
-{
-  if (button >= 8 || !on)
-    return;
-
-  int i = find_client_by_rotary(button);
-  if (i < 0)
-    return;
-  struct client_state *cs = &client_state[i];
-
-  calc_clients();
-  if (!cs->have_muted[0] && !cs->have_muted[1])
-    return;
-  uns mute = !cs->have_muted[1];
-
-  CLIST_FOR_EACH(struct pulse_sink_input *, s, pulse_sink_input_list)
-    {
-      if (s->noct_client_idx == i)
-       {
-         DBG("@@ Client #%d, sink input #%d: setting mute=%u", s->client_idx, s->idx, mute);
-         pulse_sink_input_set_mute(s->idx, mute);
-       }
-    }
-}
-
 void notify_button(int button, int on)
 {
   if (pulse_state != PS_ONLINE)
@@ -319,6 +321,8 @@ void notify_button(int button, int on)
     }
 }
 
+/*** Main entry point ***/
+
 int main(int argc UNUSED, char **argv)
 {
   log_init(argv[0]);
@@ -326,11 +330,9 @@ int main(int argc UNUSED, char **argv)
   update_timer.handler = do_update;
 
   noct_init();
-
-  msg(L_INFO, "Initializing PulseAudio");
   pulse_init();
 
-  msg(L_INFO, "Entering main loop");
+  msg(L_DEBUG, "Entering main loop");
   main_loop();
 
   return 0;
index 46ec0973424d8d5ba86199bdbdaf67f6200fa395..8fa213a6f2311ca408cd066afcb6b3ddc68d6762 100644 (file)
@@ -4,6 +4,8 @@
  *     (c) 2014 Martin Mares <mj@ucw.cz>
  */
 
+#include <pulse/pulseaudio.h>
+
 /* ursary.c */
 
 void schedule_update(void);