Jaroslav Kysela 88496d
From cd26f244e7f2648a63411741552c658ca67334e9 Mon Sep 17 00:00:00 2001
Jaroslav Kysela 88496d
From: Raymond Yau <superquad.vortex2@gmail.com>
Jaroslav Kysela 88496d
Date: Mon, 28 Feb 2011 15:36:36 +0100
Jaroslav Kysela 88496d
Subject: [PATCH] alsamixer: fix display of active/inactive controls
Jaroslav Kysela 88496d
Jaroslav Kysela 88496d
Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com>
Jaroslav Kysela 88496d
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Jaroslav Kysela 88496d
---
Jaroslav Kysela 88496d
 alsamixer/mixer_widget.c |   11 +++++++++++
Jaroslav Kysela 88496d
 1 files changed, 11 insertions(+), 0 deletions(-)
Jaroslav Kysela 88496d
Jaroslav Kysela 88496d
diff --git a/alsamixer/mixer_widget.c b/alsamixer/mixer_widget.c
Jaroslav Kysela 88496d
index fb352d3..caaf777 100644
Jaroslav Kysela 88496d
--- a/alsamixer/mixer_widget.c
Jaroslav Kysela 88496d
+++ b/alsamixer/mixer_widget.c
Jaroslav Kysela 88496d
@@ -59,10 +59,21 @@ enum channel_mask {
Jaroslav Kysela 88496d
 
Jaroslav Kysela 88496d
 static int elem_callback(snd_mixer_elem_t *elem, unsigned int mask)
Jaroslav Kysela 88496d
 {
Jaroslav Kysela 88496d
+	unsigned int i;
Jaroslav Kysela 88496d
+
Jaroslav Kysela 88496d
 	if (mask & (SND_CTL_EVENT_MASK_REMOVE |
Jaroslav Kysela 88496d
 		    SND_CTL_EVENT_MASK_INFO |
Jaroslav Kysela 88496d
 		    SND_CTL_EVENT_MASK_VALUE))
Jaroslav Kysela 88496d
 		controls_changed = TRUE;
Jaroslav Kysela 88496d
+
Jaroslav Kysela 88496d
+	if (mask & SND_CTL_EVENT_MASK_INFO)
Jaroslav Kysela 88496d
+		for (i = 0; i < controls_count; ++i)
Jaroslav Kysela 88496d
+			if (controls[i].elem == elem) {
Jaroslav Kysela 88496d
+				controls[i].flags &= ~IS_ACTIVE;
Jaroslav Kysela 88496d
+				if (snd_mixer_selem_is_active(controls[i].elem))
Jaroslav Kysela 88496d
+					controls[i].flags |= IS_ACTIVE;
Jaroslav Kysela 88496d
+			}
Jaroslav Kysela 88496d
+
Jaroslav Kysela 88496d
 	return 0;
Jaroslav Kysela 88496d
 }
Jaroslav Kysela 88496d
 
Jaroslav Kysela 88496d
-- 
Jaroslav Kysela 88496d
1.7.6.4
Jaroslav Kysela 88496d
Jaroslav Kysela 88496d
From 3bea722b3bfdbec2e26218aca66e55b019a24436 Mon Sep 17 00:00:00 2001
Jaroslav Kysela 88496d
From: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela 88496d
Date: Fri, 3 Jun 2011 14:28:28 +0200
Jaroslav Kysela 88496d
Subject: [PATCH] alsamixer: Fix 64bit issues
Jaroslav Kysela 88496d
Jaroslav Kysela 88496d
lrint() returns a long int.
Jaroslav Kysela 88496d
Jaroslav Kysela 88496d
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela 88496d
---
Jaroslav Kysela 88496d
 alsamixer/mixer_display.c |    6 +++---
Jaroslav Kysela 88496d
 1 files changed, 3 insertions(+), 3 deletions(-)
Jaroslav Kysela 88496d
Jaroslav Kysela 88496d
diff --git a/alsamixer/mixer_display.c b/alsamixer/mixer_display.c
Jaroslav Kysela 88496d
index 51a1546..8ba396a 100644
Jaroslav Kysela 88496d
--- a/alsamixer/mixer_display.c
Jaroslav Kysela 88496d
+++ b/alsamixer/mixer_display.c
Jaroslav Kysela 88496d
@@ -486,17 +486,17 @@ static void display_control(unsigned int control_index)
Jaroslav Kysela 88496d
 		if (control->flags & IS_ACTIVE)
Jaroslav Kysela 88496d
 			wattrset(mixer_widget.window, attr_mixer_active);
Jaroslav Kysela 88496d
 		if (!(control->flags & HAS_VOLUME_1)) {
Jaroslav Kysela 88496d
-			sprintf(buf, "%d", lrint(volumes[0] * 100));
Jaroslav Kysela 88496d
+			sprintf(buf, "%d", (int)lrint(volumes[0] * 100));
Jaroslav Kysela 88496d
 			display_string_in_field(values_y, frame_left - 2, buf, 8, ALIGN_CENTER);
Jaroslav Kysela 88496d
 		} else {
Jaroslav Kysela 88496d
 			mvwprintw(mixer_widget.window, values_y, frame_left - 2,
Jaroslav Kysela 88496d
-				  "%3d", lrint(volumes[0] * 100));
Jaroslav Kysela 88496d
+				  "%3d", (int)lrint(volumes[0] * 100));
Jaroslav Kysela 88496d
 			if (control->flags & IS_ACTIVE)
Jaroslav Kysela 88496d
 				wattrset(mixer_widget.window, attr_ctl_frame);
Jaroslav Kysela 88496d
 			waddstr(mixer_widget.window, "<>");
Jaroslav Kysela 88496d
 			if (control->flags & IS_ACTIVE)
Jaroslav Kysela 88496d
 				wattrset(mixer_widget.window, attr_mixer_active);
Jaroslav Kysela 88496d
-			wprintw(mixer_widget.window, "%-3d", lrint(volumes[1] * 100));
Jaroslav Kysela 88496d
+			wprintw(mixer_widget.window, "%-3d", (int)lrint(volumes[1] * 100));
Jaroslav Kysela 88496d
 		}
Jaroslav Kysela 88496d
 	}
Jaroslav Kysela 88496d
 
Jaroslav Kysela 88496d
-- 
Jaroslav Kysela 88496d
1.7.6.4
Jaroslav Kysela 88496d