1
0
Fork 0
forked from len0rd/rockbox

mpegplayer sync_audio_setting(): simplify / clarify

fix fuze+ yellow

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30739 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rafaël Carré 2011-10-10 01:39:56 +00:00
parent 0aa12a9717
commit b8f0b09916

View file

@ -397,65 +397,39 @@ static const char* backlight_brightness_formatter(char *buf, size_t length,
/* Sync a particular audio setting to global or mpegplayer forced off */
static void sync_audio_setting(int setting, bool global)
{
int val0, val1;
switch (setting)
{
case MPEG_AUDIO_TONE_CONTROLS:
#if defined(AUDIOHW_HAVE_BASS) || defined(AUDIOHW_HAVE_TREBLE)
if (global || settings.tone_controls)
{
#ifdef AUDIOHW_HAVE_BASS
val0 = rb->global_settings->bass;
#endif
#ifdef AUDIOHW_HAVE_TREBLE
val1 = rb->global_settings->treble;
#endif
}
else
{
#ifdef AUDIOHW_HAVE_BASS
val0 = rb->sound_default(SOUND_BASS);
rb->sound_set(SOUND_BASS, (global || settings.tone_controls)
? rb->global_settings->bass
: rb->sound_default(SOUND_BASS));
#endif
#ifdef AUDIOHW_HAVE_TREBLE
val1 = rb->sound_default(SOUND_TREBLE);
rb->sound_set(SOUND_TREBLE, (global || settings.tone_controls)
? rb->global_settings->treble
: rb->sound_default(SOUND_TREBLE);
#endif
}
#ifdef AUDIOHW_HAVE_BASS
rb->sound_set(SOUND_BASS, val0);
#endif
#ifdef AUDIOHW_HAVE_TREBLE
rb->sound_set(SOUND_TREBLE, val1);
#endif
#endif /* AUDIOHW_HAVE_BASS || AUDIOHW_HAVE_TREBLE */
#ifdef AUDIOHW_HAVE_EQ
for (val1 = 0;; val1++)
for (int band = 0;; band++)
{
int setting = rb->sound_enum_hw_eq_band_setting(val1, AUDIOHW_EQ_GAIN);
int setting = rb->sound_enum_hw_eq_band_setting(band, AUDIOHW_EQ_GAIN);
if (setting == -1)
break;
if (global || settings.tone_controls)
{
val0 = rb->global_settings->hw_eq_bands[val1].gain;
}
else
{
val0 = rb->sound_default(setting);
}
rb->sound_set(setting, val0);
rb->sound_set(setting, (global || settings.tone_controls)
? rb->global_settings->hw_eq_bands[band].gain
: rb->sound_default(setting));
}
#endif /* AUDIOHW_HAVE_EQ */
break;
case MPEG_AUDIO_CHANNEL_MODES:
val0 = (global || settings.channel_modes) ?
rb->global_settings->channel_config :
SOUND_CHAN_STEREO;
rb->sound_set(SOUND_CHANNELS, val0);
rb->sound_set(SOUND_CHANNELS, (global || settings.channel_modes)
? rb->global_settings->channel_config
: SOUND_CHAN_STEREO);
break;
case MPEG_AUDIO_CROSSFEED: