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
14typedef 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
26typedef 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