From ebe0752469021dfb09f2fb2b0752e192833e9f23 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Fri, 14 Feb 2003 01:49:50 +0000 Subject: Correct saving of channel config (patch by Remo Hofer) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3252 a1c6a512-1295-4272-9138-f99709370657 --- apps/main.c | 3 ++- apps/settings.c | 6 ++++-- firmware/export/mpeg.h | 2 +- firmware/mpeg.c | 9 ++++++--- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/apps/main.c b/apps/main.c index fd9b3760bf..5e14297f3c 100644 --- a/apps/main.c +++ b/apps/main.c @@ -169,7 +169,8 @@ void init(void) global_settings.balance, global_settings.loudness, global_settings.bass_boost, - global_settings.avc ); + global_settings.avc, + global_settings.channel_config ); status_init(); usb_start_monitoring(); diff --git a/apps/settings.c b/apps/settings.c index 200f9e17a9..bc78e823dd 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -320,8 +320,9 @@ int settings_save( void ) config_block[0x10] = (unsigned char) ((global_settings.ff_rewind_min_step & 15) << 4 | (global_settings.ff_rewind_accel & 15)); - config_block[0x11] = (unsigned char)(global_settings.avc || - global_settings.channel_config << 2); + config_block[0x11] = (unsigned char) + ((global_settings.avc & 0x03) | + ((global_settings.channel_config & 0x03) << 2)); memcpy(&config_block[0x12], &global_settings.resume_index, 4); memcpy(&config_block[0x16], &global_settings.resume_offset, 4); @@ -448,6 +449,7 @@ void settings_apply(void) mpeg_sound_set(SOUND_TREBLE, global_settings.treble); mpeg_sound_set(SOUND_BALANCE, global_settings.balance); mpeg_sound_set(SOUND_VOLUME, global_settings.volume); + mpeg_sound_set(SOUND_CHANNELS, global_settings.channel_config); #ifdef HAVE_MAS3587F mpeg_sound_set(SOUND_LOUDNESS, global_settings.loudness); diff --git a/firmware/export/mpeg.h b/firmware/export/mpeg.h index 75ec710a37..9b7388c544 100644 --- a/firmware/export/mpeg.h +++ b/firmware/export/mpeg.h @@ -56,7 +56,7 @@ struct mpeg_debug }; void mpeg_init(int volume, int bass, int treble, int balance, - int loudness, int bass_boost, int avc); + int loudness, int bass_boost, int avc, int channel_config); void mpeg_play(int offset); void mpeg_stop(void); void mpeg_pause(void); diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 5335c3d422..d86b51fbd3 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c @@ -2809,10 +2809,12 @@ static void mpeg_thread(void) } #endif -void mpeg_init(int volume, int bass, int treble, int balance, int loudness, int bass_boost, int avc) +void mpeg_init(int volume, int bass, int treble, int balance, int loudness, + int bass_boost, int avc, int channel_config) { #ifdef SIMULATOR - volume = bass = treble = balance = loudness = bass_boost = avc; + volume = bass = treble = balance = loudness + = bass_boost = avc = channel_config; create_thread(mpeg_thread, mpeg_stack, sizeof(mpeg_stack), mpeg_thread_name); #else @@ -2893,7 +2895,7 @@ void mpeg_init(int volume, int bass, int treble, int balance, int loudness, int mas_writereg(MAS_REG_KPRESCALE, 0xe9400); dac_config(0x04); /* DAC on, all else off */ - mpeg_sound_channel_config(MPEG_SOUND_STEREO); + mpeg_sound_channel_config(channel_config); #endif #ifdef HAVE_MAS3587F @@ -2910,6 +2912,7 @@ void mpeg_init(int volume, int bass, int treble, int balance, int loudness, int mpeg_sound_set(SOUND_VOLUME, volume); #ifdef HAVE_MAS3587F + mpeg_sound_channel_config(channel_config); mpeg_sound_set(SOUND_LOUDNESS, loudness); mpeg_sound_set(SOUND_SUPERBASS, bass_boost); mpeg_sound_set(SOUND_AVC, avc); -- cgit v1.2.3