From 39100f184d45c66b131ccf23dacb8eeca3573ce6 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sat, 29 Jan 2000 10:21:51 +0000 Subject: [PATCH] Added support for subtypes... --- alsactl/setup.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/alsactl/setup.c b/alsactl/setup.c index b2f7784..7b157aa 100644 --- a/alsactl/setup.c +++ b/alsactl/setup.c @@ -644,12 +644,15 @@ static void soundcard_setup_write_switch(FILE * out, const char *space, int inte break; case SND_SW_TYPE_BYTE: s = "byte"; - sprintf(v, "%u", (unsigned int) sw->value.data8[0]); + if (sw->subtype == SND_SW_SUBTYPE_HEXA) { + sprintf(v, "0x%x", (unsigned int) sw->value.data8[0]); + } else { + sprintf(v, "%u", (unsigned int) sw->value.data8[0]); + } break; case SND_SW_TYPE_WORD: s = "word"; - if (interface == SND_INTERFACE_CONTROL && - !strcmp(sw->name, SND_CTL_SW_JOYSTICK_ADDRESS)) { + if (sw->subtype == SND_SW_SUBTYPE_HEXA) { sprintf(v, "0x%x", (unsigned int) sw->value.data16[0]); } else { sprintf(v, "%u", (unsigned int) sw->value.data16[0]); @@ -657,7 +660,11 @@ static void soundcard_setup_write_switch(FILE * out, const char *space, int inte break; case SND_SW_TYPE_DWORD: s = "dword"; - sprintf(v, "%u", sw->value.data32[0]); + if (sw->subtype == SND_SW_SUBTYPE_HEXA) { + sprintf(v, "0x%x", sw->value.data32[0]); + } else { + sprintf(v, "%u", sw->value.data32[0]); + } break; case SND_SW_TYPE_USER: s = "user"; -- 2.47.1