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.zip
rockbox-d731cdd0db2e5e0ba2272f89df47f44348943500.tar.gz
rockbox-d731cdd0db2e5e0ba2272f89df47f44348943500.tar.bz2
rockbox-d731cdd0db2e5e0ba2272f89df47f44348943500.tar.xz
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 caa5517..38a0c87 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -150,7 +150,8 @@ void init(void)
global_settings.bass,
global_settings.treble,
global_settings.loudness,
- global_settings.bass_boost );
+ global_settings.bass_boost,
+ global_settings.avc );
status_init();
usb_start_monitoring();
diff --git a/apps/settings.c b/apps/settings.c
index 84ac584..5eebc61 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -54,6 +54,7 @@ offset abs
0x0e 0x22 <shuffle mode & directory filter byte>
0x0f 0x23 <scroll speed & WPS display byte>
0x10 0x24 <playlist options byte>
+0x11 0x25 <AVC byte>
<all unused space filled with 0xff>
@@ -216,6 +217,8 @@ int settings_save( void )
((global_settings.scroll_speed << 3) |
(global_settings.wps_display & 7));
+ rtc_config_block[0x11] = (unsigned char)global_settings.avc;
+
memcpy(&rtc_config_block[0x24], &global_settings.total_uptime, 4);
memcpy(&rtc_config_block[0x28], &global_settings.total_boots, 2);
@@ -277,6 +280,9 @@ void settings_load(void)
c = rtc_config_block[0xf] & 7;
if (c != 7)
global_settings.wps_display = c;
+
+ if (rtc_config_block[0x11] != 0xFF)
+ global_settings.avc = rtc_config_block[0x11];
if (rtc_config_block[0x24] != 0xFF)
memcpy(&global_settings.total_uptime, &rtc_config_block[0x24], 4);
@@ -300,6 +306,7 @@ void settings_reset(void) {
global_settings.treble = mpeg_sound_default(SOUND_TREBLE);
global_settings.loudness = DEFAULT_LOUDNESS_SETTING;
global_settings.bass_boost = DEFAULT_BASS_BOOST_SETTING;
+ global_settings.avc = DEFAULT_AVC_SETTING;
global_settings.contrast = DEFAULT_CONTRAST_SETTING;
global_settings.poweroff = DEFAULT_POWEROFF_SETTING;
global_settings.backlight = DEFAULT_BACKLIGHT_SETTING;
diff --git a/apps/settings.h b/apps/settings.h
index 3921fb1..6a9f0ea 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -38,7 +38,8 @@ struct user_settings
int treble; /* treble eq: 0-100 0=low 100=high */
int loudness; /* loudness eq: 0-100 0=off 100=max */
int bass_boost; /* bass boost eq: 0-100 0=off 100=max */
-
+ int avc; /* auto volume correct: 0=disable, 1=2s 2=4s 3=8s */
+
/* device settings */
int contrast; /* lcd contrast: 0-100 0=low 100=high */
@@ -94,6 +95,7 @@ extern struct user_settings global_settings;
#define DEFAULT_TREBLE_SETTING 50/2
#define DEFAULT_LOUDNESS_SETTING 0
#define DEFAULT_BASS_BOOST_SETTING 0
+#define DEFAULT_AVC_SETTING 0
#define DEFAULT_CONTRAST_SETTING 0
#define DEFAULT_POWEROFF_SETTING 0
#define DEFAULT_BACKLIGHT_SETTING 5
diff --git a/apps/sound_menu.c b/apps/sound_menu.c
index 015e8d0..2fd7a00 100644
--- a/apps/sound_menu.c
+++ b/apps/sound_menu.c
@@ -128,6 +128,13 @@ static void bass_boost(void)
{
set_sound("Bass boost", &global_settings.bass_boost, SOUND_SUPERBASS);
};
+
+static void avc(void)
+{
+ char* names[] = { "off", "2s ", "4s ", "8s " };
+ set_option("[AVC decay time]", &global_settings.avc, names, 4 );
+ mpeg_sound_set(SOUND_AVC, global_settings.avc);
+}
#endif /* ARCHOS_RECORDER */
void sound_menu(void)
@@ -139,7 +146,8 @@ void sound_menu(void)
{ "Treble", treble },
#ifdef ARCHOS_RECORDER
{ "Loudness", loudness },
- { "Bass Boost", bass_boost }
+ { "Bass Boost", bass_boost },
+ { "AVC", avc }
#endif
};