1/* $NetBSD: hdaudio_mixer.h,v 1.1 2015/03/28 14:09:59 jmcneill Exp $ */
2
3/*
4 * Copyright (c) 2009 Precedence Technologies Ltd <support@precedence.co.uk>
5 * Copyright (c) 2009 Jared D. McNeill <jmcneill@invisible.ca>
6 * All rights reserved.
7 *
8 * This code is derived from software contributed to The NetBSD Foundation
9 * by Precedence Technologies Ltd
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. The name of the author may not be used to endorse or promote products
17 * derived from this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 */
31
32#ifndef _HDAUDIO_MIXER_H
33#define _HDAUDIO_MIXER_H
34
35/* From src/lib/libossaudio/soundcard.h */
36
37#define HDAUDIO_MIXER_NRDEVICES 25
38#define HDAUDIO_MIXER_VOLUME 0
39#define HDAUDIO_MIXER_BASS 1
40#define HDAUDIO_MIXER_TREBLE 2
41#define HDAUDIO_MIXER_SYNTH 3
42#define HDAUDIO_MIXER_PCM 4
43#define HDAUDIO_MIXER_SPEAKER 5
44#define HDAUDIO_MIXER_LINE 6
45#define HDAUDIO_MIXER_MIC 7
46#define HDAUDIO_MIXER_CD 8
47#define HDAUDIO_MIXER_IMIX 9
48#define HDAUDIO_MIXER_ALTPCM 10
49#define HDAUDIO_MIXER_RECLEV 11
50#define HDAUDIO_MIXER_IGAIN 12
51#define HDAUDIO_MIXER_OGAIN 13
52#define HDAUDIO_MIXER_LINE1 14
53#define HDAUDIO_MIXER_LINE2 15
54#define HDAUDIO_MIXER_LINE3 16
55#define HDAUDIO_MIXER_DIGITAL1 17
56#define HDAUDIO_MIXER_DIGITAL2 18
57#define HDAUDIO_MIXER_DIGITAL3 19
58#define HDAUDIO_MIXER_PHONEIN 20
59#define HDAUDIO_MIXER_PHONEOUT 21
60#define HDAUDIO_MIXER_VIDEO 22
61#define HDAUDIO_MIXER_RADIO 23
62#define HDAUDIO_MIXER_MONITOR 24
63
64#define HDAUDIO_MASK(x) (1 << (HDAUDIO_MIXER_##x))
65
66#define HDAUDIO_DEVICE_NAMES { \
67 AudioNmaster, AudioNbass, AudioNtreble, AudioNfmsynth, AudioNdac, \
68 "beep", AudioNline, AudioNmicrophone, AudioNcd, \
69 AudioNrecord, AudioNdac"2", "reclvl", AudioNinput, AudioNoutput, \
70 AudioNline"1", AudioNline"2", AudioNline"3", \
71 "dig1", "dig2", "dig3", "phin", "phout", \
72 AudioNvideo, "radio", AudioNmonitor \
73 }
74
75#endif /* !_HDAUDIO_MIXER_H */
76