]> mj.ucw.cz Git - misc.git/commitdiff
Ursary: FIXMEs
authorMartin Mares <mj@ucw.cz>
Sun, 9 Nov 2014 17:03:54 +0000 (18:03 +0100)
committerMartin Mares <mj@ucw.cz>
Sun, 9 Nov 2014 17:03:54 +0000 (18:03 +0100)
ursaryd/nocturn.c
ursaryd/ut.c

index 96044e915c190460164ecba0a524a33056d1335b..d38fa2ae613ebcf6d91be53ecfb041e26ed89304 100644 (file)
@@ -325,12 +325,6 @@ static void noct_write_init(void)
   noct_write_xfer = libusb_alloc_transfer(0);
   libusb_fill_interrupt_transfer(noct_write_xfer, usb_dev, 0x02, xmalloc(8), 0, noct_write_done, NULL, 1000);
 
-#if 0 // FIXME
-  noct_button_state[2] = 1;
-  noct_ring_mode[0] = 4;
-  noct_ring_val[0] = 0x40;
-#endif
-
   noct_dirty_button = 0xffff;
   noct_dirty_ring_mode = 0xff;
   noct_dirty_ring_val = 0x1ff;
@@ -397,12 +391,6 @@ static void noct_connect(struct main_timer *t)
        return noct_error(err, stk_printf("Partial send of init packet (%d < %d)", done, noct_magic[i][0]));
     }
 
-#if 0
-  byte xxx[] = { 0x7f, 0x01 };
-  int done;
-  libusb_interrupt_transfer(usb_dev, 0x02, xxx, 2, &done, 5000);
-#endif
-
   noct_read_init();
   noct_write_init();
   schedule_update();
@@ -470,7 +458,7 @@ static void noct_error(int usb_err, char *text)
 
 bool noct_is_ready(void)
 {
-  return !!usb_dev;    // FIXME
+  return !!usb_dev;
 }
 
 void noct_init(void)
index 825584841cefe0062f9a2558a0a8fa8b37185356..a1277441d00e4399fb9c5fce3eddd82e10fe0abc 100644 (file)
@@ -96,6 +96,7 @@ struct pulse_sink_input {
   char *name;
   int client_idx;
   int sink_idx;
+  uns channels;
   uns volume;
   uns mute;
 };
@@ -126,14 +127,15 @@ static void pulse_sink_input_cb(pa_context *ctx UNUSED, const pa_sink_input_info
       return;
     }
 
-  DBG("Pulse: SINK INPUT #%u: %s client=%d sink=%d has_vol=%d vol_rw=%d volume=%u mute=%d",
-    i->index, i->name, i->client, i->sink, i->has_volume, i->volume_writable, i->volume.values[0], i->mute);
+  DBG("Pulse: SINK INPUT #%u: %s client=%d sink=%d chans=%d has_vol=%d vol_rw=%d volume=%u mute=%d",
+    i->index, i->name, i->client, i->sink, i->channel_map.channels, i->has_volume, i->volume_writable, i->volume.values[0], i->mute);
   pulse_dump_proplist(i->proplist);
 
   struct pulse_sink_input *s = pulse_sink_input_lookup(i->index);
   SET_STRING(s->name, i->name);
   s->client_idx = i->client;
   s->sink_idx = i->sink;
+  s->channels = i->channel_map.channels;
   s->volume = pa_cvolume_avg(&i->volume);
   s->mute = i->mute;
   schedule_update();
@@ -150,6 +152,7 @@ static void pulse_sink_input_gone(int idx)
 struct pulse_sink {
   int idx;
   char *name;
+  uns channels;
   uns volume;
   uns base_volume;
   int mute;
@@ -179,12 +182,13 @@ static void pulse_sink_cb(pa_context *ctx, const pa_sink_info *i, int eol, void
       return;
     }
 
-  DBG("Pulse: SINK #%u: %s (%s) flags=%08x volume=%u mute=%d base_vol=%u state=%u",
-    i->index, i->name, i->description, i->flags, i->volume.values[0], i->mute, i->base_volume, i->state);
+  DBG("Pulse: SINK #%u: %s (%s) flags=%08x channels=%u volume=%u mute=%d base_vol=%u state=%u",
+    i->index, i->name, i->description, i->flags, i->channel_map.channels, i->volume.values[0], i->mute, i->base_volume, i->state);
   pulse_dump_proplist(i->proplist);
 
   struct pulse_sink *s = pulse_sink_lookup(i->index);
   SET_STRING(s->name, i->name);
+  s->channels = i->channel_map.channels;
   s->volume = pa_cvolume_avg(&i->volume);
   s->base_volume = i->base_volume;
   s->mute = i->mute;
@@ -344,15 +348,15 @@ static void pulse_dump(void)
 
   HASH_FOR_ALL(pulse_sink, s)
     {
-      DBG("## Sink #%d: %s volume=%u base_vol=%u mute=%u",
-       s->idx, s->name, s->volume, s->base_volume, s->mute);
+      DBG("## Sink #%d: %s channels=%u volume=%u base_vol=%u mute=%u",
+       s->idx, s->name, s->channels, s->volume, s->base_volume, s->mute);
     }
   HASH_END_FOR;
 
   HASH_FOR_ALL(pulse_sink_input, s)
     {
-      DBG("## Sink input #%d: %s client=%d sink=%d volume=%u mute=%u",
-       s->idx, s->name, s->client_idx, s->sink_idx, s->volume, s->mute);
+      DBG("## Sink input #%d: %s client=%d sink=%d channels=%u volume=%u mute=%u",
+       s->idx, s->name, s->client_idx, s->sink_idx, s->channels, s->volume, s->mute);
     }
   HASH_END_FOR;
 }
@@ -550,7 +554,7 @@ static void do_update(struct main_timer *t)
 
 void schedule_update(void)
 {
-  timer_add_rel(&update_timer, 10);    // FIXME
+  timer_add_rel(&update_timer, 10);
 }
 
 static void update_sink_from_rotary(int delta, const char *sink_name)
@@ -566,7 +570,7 @@ static void update_sink_from_rotary(int delta, const char *sink_name)
   if (pavol == s->volume)
     return;
   pa_cvolume cvol;
-  pa_cvolume_set(&cvol, 2, pavol);
+  pa_cvolume_set(&cvol, s->channels, pavol);
 
   DBG("## Setting volume of sink %s to %d", s->name, cvol.values[0]);
   PULSE_ASYNC_RUN(pa_context_set_sink_volume_by_index, pulse_ctx, s->idx, &cvol, pulse_success_cb);
@@ -592,7 +596,7 @@ static void update_client_from_rotary(int rotary, int delta)
        {
          DBG("@@ Client #%d, sink input #%d: setting volume=%u", s->client_idx, s->idx, pavol);
          pa_cvolume cvol;
-         pa_cvolume_set(&cvol, 2, pavol);      // FIXME: #channels
+         pa_cvolume_set(&cvol, s->channels, pavol);
          PULSE_ASYNC_RUN(pa_context_set_sink_input_volume, pulse_ctx, s->idx, &cvol, pulse_success_cb);
        }
     }