/*************************************************************************** * __________ __ ___. * Open \______ \ ____ ____ | | _\_ |__ _______ ___ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ * $Id$ * * Copyright (C) 2005 by Linus Nielsen Feltzing * * All files in this archive are subject to the GNU General Public License. * See the file COPYING in the source tree root for full license agreement. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ****************************************************************************/ #ifndef SOUND_H #define SOUND_H #include #ifdef HAVE_UDA1380 #include "uda1380.h" #elif defined(HAVE_WM8751) #include "wm8751.h" #elif defined(HAVE_WM8975) #include "wm8975.h" #elif defined(HAVE_WM8758) #include "wm8758.h" #elif defined(HAVE_WM8731) || defined(HAVE_WM8721) #include "wm8731l.h" #elif defined(HAVE_TLV320) #include "tlv320.h" #elif defined(HAVE_AS3514) #include "as3514.h" #endif extern void audiohw_postinit(void); enum { SOUND_VOLUME = 0, SOUND_BASS, SOUND_TREBLE, SOUND_BALANCE, SOUND_CHANNELS, SOUND_STEREO_WIDTH, #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) SOUND_LOUDNESS, SOUND_AVC, SOUND_MDB_STRENGTH, SOUND_MDB_HARMONICS, SOUND_MDB_CENTER, SOUND_MDB_SHAPE, SOUND_MDB_ENABLE, SOUND_SUPERBASS, #endif #if CONFIG_CODEC == MAS3587F || defined(HAVE_UDA1380) || defined(HAVE_TLV320)\ || defined(HAVE_WM8975) || defined(HAVE_WM8758) || defined(HAVE_WM8731) SOUND_LEFT_GAIN, SOUND_RIGHT_GAIN, SOUND_MIC_GAIN, #endif }; enum { SOUND_CHAN_STEREO = 0, SOUND_CHAN_MONO, SOUND_CHAN_CUSTOM, SOUND_CHAN_MONO_LEFT, SOUND_CHAN_MONO_RIGHT, SOUND_CHAN_KARAOKE, SOUND_CHAN_NUM_MODES }; typedef void sound_set_type(int value); const char *sound_unit(int setting); int sound_numdecimals(int setting); int sound_steps(int setting); int sound_min(int setting); int sound_max(int setting); int sound_default(int setting); sound_set_type* sound_get_fn(int setting); void sound_set_dsp_callback(int (*func)(int, intptr_t)); void sound_set_volume(int value); void sound_set_balance(int value); void sound_set_bass(int value); void sound_set_treble(int value); void sound_set_channels(int value); void sound_set_stereo_width(int value); #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) void sound_set_loudness(int value); void sound_set_avc(int value); void sound_set_mdb_strength(int value); void sound_set_mdb_harmonics(int value); void sound_set_mdb_center(int value); void sound_set_mdb_shape(int value); void sound_set_mdb_enable(int value); void sound_set_superbass(int value); #endif /* (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) */ void sound_set(int setting, int value); int sound_val2phys(int setting, int value); #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) void sound_set_pitch(int permille); int sound_get_pitch(void); #endif #endif