Deleted Added
full compact
26c26
< * $FreeBSD: head/sys/dev/sound/pcm/mixer.c 70291 2000-12-23 03:16:13Z cg $
---
> * $FreeBSD: head/sys/dev/sound/pcm/mixer.c 70618 2001-01-03 01:29:47Z jhb $
256a257,292
> static int hwvol_step = 5;
> SYSCTL_INT(_hw_snd, OID_AUTO, hwvol_step, CTLFLAG_RW, &hwvol_step, 0, "");
>
> static int hwvol_mixer = SOUND_MIXER_VOLUME;
> SYSCTL_INT(_hw_snd, OID_AUTO, hwvol_mixer, CTLFLAG_RW, &hwvol_mixer, 0, "");
>
> void
> mixer_hwmute(device_t dev)
> {
> snddev_info *d;
>
> d = device_get_softc(dev);
> mixer_set(d->mixer, hwvol_mixer, 0);
> }
>
> void
> mixer_hwstep(device_t dev, int left_step, int right_step)
> {
> snddev_info *d;
> int level, left, right;
>
> d = device_get_softc(dev);
> level = mixer_get(d->mixer, hwvol_mixer);
> if (level != -1) {
> left = level & 0xff;
> right = level >> 8;
> left += left_step * hwvol_step;
> if (left < 0)
> left = 0;
> right += right_step * hwvol_step;
> if (right < 0)
> right = 0;
> mixer_set(d->mixer, hwvol_mixer, left | right << 8);
> }
> }
>