summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-07-25 15:55:22 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-07-25 15:55:22 +0000
commitd731cdd0db2e5e0ba2272f89df47f44348943500 (patch)
treecbb5f68f6808c8e86d508c599375370d24a32f6d /apps
parente4b9dbb9c5ccc69a09f6a696b269c6a52aad1def (diff)
downloadrockbox-d731cdd0db2e5e0ba2272f89df47f44348943500.tar.gz
rockbox-d731cdd0db2e5e0ba2272f89df47f44348943500.zip
Automatic Volume Control for Recorder by Heikki Hannikainen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1447 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/main.c3
-rw-r--r--apps/settings.c7
-rw-r--r--apps/settings.h4
-rw-r--r--apps/sound_menu.c10
4 files changed, 21 insertions, 3 deletions
diff --git a/apps/main.c b/apps/main.c
index caa5517c4d..38a0c878d8 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -150,7 +150,8 @@ void init(void)
150 global_settings.bass, 150 global_settings.bass,
151 global_settings.treble, 151 global_settings.treble,
152 global_settings.loudness, 152 global_settings.loudness,
153 global_settings.bass_boost ); 153 global_settings.bass_boost,
154 global_settings.avc );
154 155
155 status_init(); 156 status_init();
156 usb_start_monitoring(); 157 usb_start_monitoring();
diff --git a/apps/settings.c b/apps/settings.c
index 84ac584951..5eebc61b41 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -54,6 +54,7 @@ offset abs
540x0e 0x22 <shuffle mode & directory filter byte> 540x0e 0x22 <shuffle mode & directory filter byte>
550x0f 0x23 <scroll speed & WPS display byte> 550x0f 0x23 <scroll speed & WPS display byte>
560x10 0x24 <playlist options byte> 560x10 0x24 <playlist options byte>
570x11 0x25 <AVC byte>
57 58
58 <all unused space filled with 0xff> 59 <all unused space filled with 0xff>
59 60
@@ -216,6 +217,8 @@ int settings_save( void )
216 ((global_settings.scroll_speed << 3) | 217 ((global_settings.scroll_speed << 3) |
217 (global_settings.wps_display & 7)); 218 (global_settings.wps_display & 7));
218 219
220 rtc_config_block[0x11] = (unsigned char)global_settings.avc;
221
219 memcpy(&rtc_config_block[0x24], &global_settings.total_uptime, 4); 222 memcpy(&rtc_config_block[0x24], &global_settings.total_uptime, 4);
220 memcpy(&rtc_config_block[0x28], &global_settings.total_boots, 2); 223 memcpy(&rtc_config_block[0x28], &global_settings.total_boots, 2);
221 224
@@ -277,6 +280,9 @@ void settings_load(void)
277 c = rtc_config_block[0xf] & 7; 280 c = rtc_config_block[0xf] & 7;
278 if (c != 7) 281 if (c != 7)
279 global_settings.wps_display = c; 282 global_settings.wps_display = c;
283
284 if (rtc_config_block[0x11] != 0xFF)
285 global_settings.avc = rtc_config_block[0x11];
280 286
281 if (rtc_config_block[0x24] != 0xFF) 287 if (rtc_config_block[0x24] != 0xFF)
282 memcpy(&global_settings.total_uptime, &rtc_config_block[0x24], 4); 288 memcpy(&global_settings.total_uptime, &rtc_config_block[0x24], 4);
@@ -300,6 +306,7 @@ void settings_reset(void) {
300 global_settings.treble = mpeg_sound_default(SOUND_TREBLE); 306 global_settings.treble = mpeg_sound_default(SOUND_TREBLE);
301 global_settings.loudness = DEFAULT_LOUDNESS_SETTING; 307 global_settings.loudness = DEFAULT_LOUDNESS_SETTING;
302 global_settings.bass_boost = DEFAULT_BASS_BOOST_SETTING; 308 global_settings.bass_boost = DEFAULT_BASS_BOOST_SETTING;
309 global_settings.avc = DEFAULT_AVC_SETTING;
303 global_settings.contrast = DEFAULT_CONTRAST_SETTING; 310 global_settings.contrast = DEFAULT_CONTRAST_SETTING;
304 global_settings.poweroff = DEFAULT_POWEROFF_SETTING; 311 global_settings.poweroff = DEFAULT_POWEROFF_SETTING;
305 global_settings.backlight = DEFAULT_BACKLIGHT_SETTING; 312 global_settings.backlight = DEFAULT_BACKLIGHT_SETTING;
diff --git a/apps/settings.h b/apps/settings.h
index 3921fb1f52..6a9f0ea636 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -38,7 +38,8 @@ struct user_settings
38 int treble; /* treble eq: 0-100 0=low 100=high */ 38 int treble; /* treble eq: 0-100 0=low 100=high */
39 int loudness; /* loudness eq: 0-100 0=off 100=max */ 39 int loudness; /* loudness eq: 0-100 0=off 100=max */
40 int bass_boost; /* bass boost eq: 0-100 0=off 100=max */ 40 int bass_boost; /* bass boost eq: 0-100 0=off 100=max */
41 41 int avc; /* auto volume correct: 0=disable, 1=2s 2=4s 3=8s */
42
42 /* device settings */ 43 /* device settings */
43 44
44 int contrast; /* lcd contrast: 0-100 0=low 100=high */ 45 int contrast; /* lcd contrast: 0-100 0=low 100=high */
@@ -94,6 +95,7 @@ extern struct user_settings global_settings;
94#define DEFAULT_TREBLE_SETTING 50/2 95#define DEFAULT_TREBLE_SETTING 50/2
95#define DEFAULT_LOUDNESS_SETTING 0 96#define DEFAULT_LOUDNESS_SETTING 0
96#define DEFAULT_BASS_BOOST_SETTING 0 97#define DEFAULT_BASS_BOOST_SETTING 0
98#define DEFAULT_AVC_SETTING 0
97#define DEFAULT_CONTRAST_SETTING 0 99#define DEFAULT_CONTRAST_SETTING 0
98#define DEFAULT_POWEROFF_SETTING 0 100#define DEFAULT_POWEROFF_SETTING 0
99#define DEFAULT_BACKLIGHT_SETTING 5 101#define DEFAULT_BACKLIGHT_SETTING 5
diff --git a/apps/sound_menu.c b/apps/sound_menu.c
index 015e8d08a9..2fd7a00946 100644
--- a/apps/sound_menu.c
+++ b/apps/sound_menu.c
@@ -128,6 +128,13 @@ static void bass_boost(void)
128{ 128{
129 set_sound("Bass boost", &global_settings.bass_boost, SOUND_SUPERBASS); 129 set_sound("Bass boost", &global_settings.bass_boost, SOUND_SUPERBASS);
130}; 130};
131
132static void avc(void)
133{
134 char* names[] = { "off", "2s ", "4s ", "8s " };
135 set_option("[AVC decay time]", &global_settings.avc, names, 4 );
136 mpeg_sound_set(SOUND_AVC, global_settings.avc);
137}
131#endif /* ARCHOS_RECORDER */ 138#endif /* ARCHOS_RECORDER */
132 139
133void sound_menu(void) 140void sound_menu(void)
@@ -139,7 +146,8 @@ void sound_menu(void)
139 { "Treble", treble }, 146 { "Treble", treble },
140#ifdef ARCHOS_RECORDER 147#ifdef ARCHOS_RECORDER
141 { "Loudness", loudness }, 148 { "Loudness", loudness },
142 { "Bass Boost", bass_boost } 149 { "Bass Boost", bass_boost },
150 { "AVC", avc }
143#endif 151#endif
144 }; 152 };
145 153