version 1.100, 2005/12/11 12:24:01 |
version 1.101, 2006/03/08 00:14:20 |
Line 762 uaudio_add_mixer(struct uaudio_softc *sc |
|
Line 762 uaudio_add_mixer(struct uaudio_softc *sc |
|
uaudio_determine_class(&iot[id], &mix); |
uaudio_determine_class(&iot[id], &mix); |
mix.type = MIX_SIGNED_16; |
mix.type = MIX_SIGNED_16; |
mix.ctlunit = AudioNvolume; |
mix.ctlunit = AudioNvolume; |
#define BIT(bno) ((bm[bno / 8] >> (7 - bno % 8)) & 1) |
#define _BIT(bno) ((bm[bno / 8] >> (7 - bno % 8)) & 1) |
for (p = i = 0; i < d->bNrInPins; i++) { |
for (p = i = 0; i < d->bNrInPins; i++) { |
chs = uaudio_get_cluster(d->baSourceId[i], iot).bNrChannels; |
chs = uaudio_get_cluster(d->baSourceId[i], iot).bNrChannels; |
mc = 0; |
mc = 0; |
Line 770 uaudio_add_mixer(struct uaudio_softc *sc |
|
Line 770 uaudio_add_mixer(struct uaudio_softc *sc |
|
mo = 0; |
mo = 0; |
for (o = 0; o < ochs; o++) { |
for (o = 0; o < ochs; o++) { |
bno = (p + c) * ochs + o; |
bno = (p + c) * ochs + o; |
if (BIT(bno)) |
if (_BIT(bno)) |
mo++; |
mo++; |
} |
} |
if (mo == 1) |
if (mo == 1) |
Line 781 uaudio_add_mixer(struct uaudio_softc *sc |
|
Line 781 uaudio_add_mixer(struct uaudio_softc *sc |
|
for (c = 0; c < chs; c++) |
for (c = 0; c < chs; c++) |
for (o = 0; o < ochs; o++) { |
for (o = 0; o < ochs; o++) { |
bno = (p + c) * ochs + o; |
bno = (p + c) * ochs + o; |
if (BIT(bno)) |
if (_BIT(bno)) |
mix.wValue[k++] = |
mix.wValue[k++] = |
MAKE(p+c+1, o+1); |
MAKE(p+c+1, o+1); |
} |
} |
Line 793 uaudio_add_mixer(struct uaudio_softc *sc |
|
Line 793 uaudio_add_mixer(struct uaudio_softc *sc |
|
} else { |
} else { |
/* XXX */ |
/* XXX */ |
} |
} |
#undef BIT |
#undef _BIT |
p += chs; |
p += chs; |
} |
} |
|
|