diff options
-rw-r--r-- | apps/main.c | 3 | ||||
-rw-r--r-- | apps/settings.c | 6 | ||||
-rw-r--r-- | firmware/export/mpeg.h | 2 | ||||
-rw-r--r-- | 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) | |||
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 | ||
58 | void mpeg_init(int volume, int bass, int treble, int balance, | 58 | void 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); |
60 | void mpeg_play(int offset); | 60 | void mpeg_play(int offset); |
61 | void mpeg_stop(void); | 61 | void mpeg_stop(void); |
62 | void mpeg_pause(void); | 62 | 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) | |||
2809 | } | 2809 | } |
2810 | #endif | 2810 | #endif |
2811 | 2811 | ||
2812 | void mpeg_init(int volume, int bass, int treble, int balance, int loudness, int bass_boost, int avc) | 2812 | void 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); |