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]);
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";