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