summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2003-02-14 01:49:50 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2003-02-14 01:49:50 +0000
commitebe0752469021dfb09f2fb2b0752e192833e9f23 (patch)
treebd7a31557614be6a258b18a9afbd51c36ad9e2b0
parentcc9b62f6b2814cc29b104f9a7b5635cbeb104cc0 (diff)
downloadrockbox-ebe0752469021dfb09f2fb2b0752e192833e9f23.tar.gz
rockbox-ebe0752469021dfb09f2fb2b0752e192833e9f23.zip
Correct saving of channel config (patch by Remo Hofer)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3252 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/main.c3
-rw-r--r--apps/settings.c6
-rw-r--r--firmware/export/mpeg.h2
-rw-r--r--firmware/mpeg.c9
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)
169 global_settings.balance, 169 global_settings.balance,
170 global_settings.loudness, 170 global_settings.loudness,
171 global_settings.bass_boost, 171 global_settings.bass_boost,
172 global_settings.avc ); 172 global_settings.avc,
173 global_settings.channel_config );
173 174
174 status_init(); 175 status_init();
175 usb_start_monitoring(); 176 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 )
320 config_block[0x10] = (unsigned char) 320 config_block[0x10] = (unsigned char)
321 ((global_settings.ff_rewind_min_step & 15) << 4 | 321 ((global_settings.ff_rewind_min_step & 15) << 4 |
322 (global_settings.ff_rewind_accel & 15)); 322 (global_settings.ff_rewind_accel & 15));
323 config_block[0x11] = (unsigned char)(global_settings.avc || 323 config_block[0x11] = (unsigned char)
324 global_settings.channel_config << 2); 324 ((global_settings.avc & 0x03) |
325 ((global_settings.channel_config & 0x03) << 2));
325 326
326 memcpy(&config_block[0x12], &global_settings.resume_index, 4); 327 memcpy(&config_block[0x12], &global_settings.resume_index, 4);
327 memcpy(&config_block[0x16], &global_settings.resume_offset, 4); 328 memcpy(&config_block[0x16], &global_settings.resume_offset, 4);
@@ -448,6 +449,7 @@ void settings_apply(void)
448 mpeg_sound_set(SOUND_TREBLE, global_settings.treble); 449 mpeg_sound_set(SOUND_TREBLE, global_settings.treble);
449 mpeg_sound_set(SOUND_BALANCE, global_settings.balance); 450 mpeg_sound_set(SOUND_BALANCE, global_settings.balance);
450 mpeg_sound_set(SOUND_VOLUME, global_settings.volume); 451 mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
452 mpeg_sound_set(SOUND_CHANNELS, global_settings.channel_config);
451 453
452#ifdef HAVE_MAS3587F 454#ifdef HAVE_MAS3587F
453 mpeg_sound_set(SOUND_LOUDNESS, global_settings.loudness); 455 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
56}; 56};
57 57
58void mpeg_init(int volume, int bass, int treble, int balance, 58void mpeg_init(int volume, int bass, int treble, int balance,
59 int loudness, int bass_boost, int avc); 59 int loudness, int bass_boost, int avc, int channel_config);
60void mpeg_play(int offset); 60void mpeg_play(int offset);
61void mpeg_stop(void); 61void mpeg_stop(void);
62void mpeg_pause(void); 62void 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)
2809} 2809}
2810#endif 2810#endif
2811 2811
2812void mpeg_init(int volume, int bass, int treble, int balance, int loudness, int bass_boost, int avc) 2812void mpeg_init(int volume, int bass, int treble, int balance, int loudness,
2813 int bass_boost, int avc, int channel_config)
2813{ 2814{
2814#ifdef SIMULATOR 2815#ifdef SIMULATOR
2815 volume = bass = treble = balance = loudness = bass_boost = avc; 2816 volume = bass = treble = balance = loudness
2817 = bass_boost = avc = channel_config;
2816 create_thread(mpeg_thread, mpeg_stack, 2818 create_thread(mpeg_thread, mpeg_stack,
2817 sizeof(mpeg_stack), mpeg_thread_name); 2819 sizeof(mpeg_stack), mpeg_thread_name);
2818#else 2820#else
@@ -2893,7 +2895,7 @@ void mpeg_init(int volume, int bass, int treble, int balance, int loudness, int
2893 mas_writereg(MAS_REG_KPRESCALE, 0xe9400); 2895 mas_writereg(MAS_REG_KPRESCALE, 0xe9400);
2894 dac_config(0x04); /* DAC on, all else off */ 2896 dac_config(0x04); /* DAC on, all else off */
2895 2897
2896 mpeg_sound_channel_config(MPEG_SOUND_STEREO); 2898 mpeg_sound_channel_config(channel_config);
2897#endif 2899#endif
2898 2900
2899#ifdef HAVE_MAS3587F 2901#ifdef HAVE_MAS3587F
@@ -2910,6 +2912,7 @@ void mpeg_init(int volume, int bass, int treble, int balance, int loudness, int
2910 mpeg_sound_set(SOUND_VOLUME, volume); 2912 mpeg_sound_set(SOUND_VOLUME, volume);
2911 2913
2912#ifdef HAVE_MAS3587F 2914#ifdef HAVE_MAS3587F
2915 mpeg_sound_channel_config(channel_config);
2913 mpeg_sound_set(SOUND_LOUDNESS, loudness); 2916 mpeg_sound_set(SOUND_LOUDNESS, loudness);
2914 mpeg_sound_set(SOUND_SUPERBASS, bass_boost); 2917 mpeg_sound_set(SOUND_SUPERBASS, bass_boost);
2915 mpeg_sound_set(SOUND_AVC, avc); 2918 mpeg_sound_set(SOUND_AVC, avc);