xref: /haiku/src/add-ons/kernel/drivers/audio/ac97/es1370/multi.h (revision 922e7ba1f3228e6f28db69b0ded8f86eb32dea17)
1 /*
2  * ES1370 Haiku Driver for ES1370 audio
3  *
4  * Copyright 2002-2007, Haiku, Inc.
5  * Distributed under the terms of the MIT License.
6  *
7  * Authors:
8  *		Jerome Duval, jerome.duval@free.fr
9  */
10 
11 #ifndef _MULTI_H_
12 #define _MULTI_H_
13 
14 typedef struct _multi_mixer_control {
15 	struct _multi_dev 	*multi;
16 	void	(*get) (void *card, const void *cookie, int32 type, float *values);
17 	void	(*set) (void *card, const void *cookie, int32 type, float *values);
18 	const void    *cookie;
19 	int32 type;
20 	multi_mix_control	mix_control;
21 } multi_mixer_control;
22 
23 #define EMU_MULTI_CONTROL_FIRSTID	1024
24 #define EMU_MULTI_CONTROL_MASTERID	0
25 
26 typedef struct _multi_dev {
27 	void	*card;
28 #define EMU_MULTICONTROLSNUM 64
29 	multi_mixer_control controls[EMU_MULTICONTROLSNUM];
30 	uint32 control_count;
31 
32 #define EMU_MULTICHANNUM 64
33 	multi_channel_info chans[EMU_MULTICHANNUM];
34 	uint32 output_channel_count;
35 	uint32 input_channel_count;
36 	uint32 output_bus_channel_count;
37 	uint32 input_bus_channel_count;
38 	uint32 aux_bus_channel_count;
39 } multi_dev;
40 
41 #endif
42