diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2004-06-21 13:42:37 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2004-06-21 13:42:37 +0000 |
commit | 3db9c833647a59edd1dc800808a2d404286e5ceb (patch) | |
tree | 876ce8d0e4be89dc7411729557af0335e4f17265 /apps | |
parent | bdfc932accb1eb2c655887fce74717a8894c6cc3 (diff) | |
download | rockbox-3db9c833647a59edd1dc800808a2d404286e5ceb.tar.gz rockbox-3db9c833647a59edd1dc800808a2d404286e5ceb.zip |
Simplified the settings code by removing the phys2val conversions. This has the side effect of increasing the resolution for the balance setting from 2% steps to 1% steps, and bass boost from 10% steps to 1% steps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4782 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/settings.c | 141 |
1 files changed, 4 insertions, 137 deletions
diff --git a/apps/settings.c b/apps/settings.c index 463fd710be..5d71fac513 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -74,7 +74,6 @@ char rec_base_directory[] = REC_BASE_DIR; | |||
74 | #define CONFIG_BLOCK_VERSION 11 | 74 | #define CONFIG_BLOCK_VERSION 11 |
75 | #define CONFIG_BLOCK_SIZE 512 | 75 | #define CONFIG_BLOCK_SIZE 512 |
76 | #define RTC_BLOCK_SIZE 44 | 76 | #define RTC_BLOCK_SIZE 44 |
77 | #define MARKER 0x7FFFFFFF /* FIXME: to be removed with val2phys/phys2val */ | ||
78 | 77 | ||
79 | #ifdef HAVE_LCD_BITMAP | 78 | #ifdef HAVE_LCD_BITMAP |
80 | #define MAX_LINES 10 | 79 | #define MAX_LINES 10 |
@@ -161,12 +160,12 @@ static struct bit_entry rtc_bits[] = | |||
161 | /* # of bits, offset+size, default, .cfg name, .cfg values */ | 160 | /* # of bits, offset+size, default, .cfg name, .cfg values */ |
162 | /* sound */ | 161 | /* sound */ |
163 | {7, S_O(volume), 70, "volume", NULL }, /* 0...100 */ | 162 | {7, S_O(volume), 70, "volume", NULL }, /* 0...100 */ |
164 | {7 | SIGNED, S_O(balance), 0, "balance", NULL }, /* -50...50 */ | 163 | {8 | SIGNED, S_O(balance), 0, "balance", NULL }, /* -100...100 */ |
165 | {5, S_O(bass), 0, "bass", NULL }, /* 0...30 */ | 164 | {5 | SIGNED, S_O(bass), 0, "bass", NULL }, /* -15..+15 / -12..+12 */ |
166 | {5, S_O(treble), 0, "treble", NULL }, /* 0...30 */ | 165 | {5 | SIGNED, S_O(treble), 0, "treble", NULL }, /* -15..+15 / -12..+12 */ |
167 | #ifdef HAVE_MAS3587F | 166 | #ifdef HAVE_MAS3587F |
168 | {5, S_O(loudness), 0, "loudness", NULL }, /* 0...17 */ | 167 | {5, S_O(loudness), 0, "loudness", NULL }, /* 0...17 */ |
169 | {4, S_O(bass_boost), 0, "bass boost", NULL }, /* 0...10 */ | 168 | {7, S_O(bass_boost), 0, "bass boost", NULL }, /* 0...100 */ |
170 | {2, S_O(avc), 0, "auto volume", "off,2,4,8" }, | 169 | {2, S_O(avc), 0, "auto volume", "off,2,4,8" }, |
171 | #endif | 170 | #endif |
172 | {3, S_O(channel_config), 6, "channels", | 171 | {3, S_O(channel_config), 6, "channels", |
@@ -595,7 +594,6 @@ static void save_bit_table(const struct bit_entry* p_table, int count, int bitst | |||
595 | */ | 594 | */ |
596 | int settings_save( void ) | 595 | int settings_save( void ) |
597 | { | 596 | { |
598 | int restore[6]; /* recover, FIXME: get rid of this */ | ||
599 | DEBUGF( "settings_save()\n" ); | 597 | DEBUGF( "settings_save()\n" ); |
600 | 598 | ||
601 | { | 599 | { |
@@ -609,24 +607,6 @@ int settings_save( void ) | |||
609 | global_settings.topruntime = global_settings.runtime; | 607 | global_settings.topruntime = global_settings.runtime; |
610 | } | 608 | } |
611 | 609 | ||
612 | /* While the mpeg_val2phys business still exists: ( to be removed) */ | ||
613 | /* temporarily replace the hardware levels with the MMI values */ | ||
614 | restore[SOUND_VOLUME] = global_settings.volume; | ||
615 | global_settings.volume = mpeg_val2phys(SOUND_VOLUME, global_settings.volume); | ||
616 | restore[SOUND_BASS] = global_settings.bass; | ||
617 | global_settings.bass = mpeg_val2phys(SOUND_BASS, global_settings.bass); | ||
618 | restore[SOUND_TREBLE] = global_settings.treble; | ||
619 | global_settings.treble = mpeg_val2phys(SOUND_TREBLE, global_settings.treble); | ||
620 | restore[SOUND_BALANCE] = global_settings.balance; | ||
621 | global_settings.balance = mpeg_val2phys(SOUND_BALANCE, global_settings.balance); | ||
622 | #ifdef HAVE_MAS3587F | ||
623 | restore[SOUND_LOUDNESS] = global_settings.loudness; | ||
624 | global_settings.loudness = mpeg_val2phys(SOUND_LOUDNESS, global_settings.loudness); | ||
625 | restore[SOUND_SUPERBASS] = global_settings.bass_boost; | ||
626 | global_settings.bass_boost = mpeg_val2phys(SOUND_SUPERBASS, global_settings.bass_boost); | ||
627 | #endif | ||
628 | |||
629 | |||
630 | /* serialize scalar values into RTC and HD sector, specified via table */ | 610 | /* serialize scalar values into RTC and HD sector, specified via table */ |
631 | save_bit_table(rtc_bits, sizeof(rtc_bits)/sizeof(rtc_bits[0]), 4*8); | 611 | save_bit_table(rtc_bits, sizeof(rtc_bits)/sizeof(rtc_bits[0]), 4*8); |
632 | save_bit_table(hd_bits, sizeof(hd_bits)/sizeof(hd_bits[0]), RTC_BLOCK_SIZE*8); | 612 | save_bit_table(hd_bits, sizeof(hd_bits)/sizeof(hd_bits[0]), RTC_BLOCK_SIZE*8); |
@@ -635,18 +615,6 @@ int settings_save( void ) | |||
635 | strncpy(&config_block[0xcc], global_settings.lang_file, MAX_FILENAME); | 615 | strncpy(&config_block[0xcc], global_settings.lang_file, MAX_FILENAME); |
636 | strncpy(&config_block[0xe0], global_settings.font_file, MAX_FILENAME); | 616 | strncpy(&config_block[0xe0], global_settings.font_file, MAX_FILENAME); |
637 | 617 | ||
638 | |||
639 | /* restore the original values; to be removed with mpeg_val2phys */ | ||
640 | global_settings.volume = restore[SOUND_VOLUME]; | ||
641 | global_settings.bass = restore[SOUND_BASS]; | ||
642 | global_settings.treble = restore[SOUND_TREBLE]; | ||
643 | global_settings.balance = restore[SOUND_BALANCE]; | ||
644 | #ifdef HAVE_MAS3587F | ||
645 | global_settings.loudness = restore[SOUND_LOUDNESS]; | ||
646 | global_settings.bass_boost = restore[SOUND_SUPERBASS]; | ||
647 | #endif | ||
648 | |||
649 | |||
650 | if(save_config_buffer()) | 618 | if(save_config_buffer()) |
651 | { | 619 | { |
652 | lcd_clear_display(); | 620 | lcd_clear_display(); |
@@ -839,31 +807,12 @@ static void load_bit_table(const struct bit_entry* p_table, int count, int bitst | |||
839 | */ | 807 | */ |
840 | void settings_load(int which) | 808 | void settings_load(int which) |
841 | { | 809 | { |
842 | int restore[6]; /* recover, FIXME: get rid of this */ | ||
843 | |||
844 | DEBUGF( "reload_all_settings()\n" ); | 810 | DEBUGF( "reload_all_settings()\n" ); |
845 | 811 | ||
846 | /* load the buffer from the RTC (resets it to all-unused if the block | 812 | /* load the buffer from the RTC (resets it to all-unused if the block |
847 | is invalid) and decode the settings which are set in the block */ | 813 | is invalid) and decode the settings which are set in the block */ |
848 | if (!load_config_buffer(which)) | 814 | if (!load_config_buffer(which)) |
849 | { | 815 | { |
850 | /* While the mpeg_val2phys business still exists: ( FIXME: to be removed) */ | ||
851 | /* temporarily put markers into the values to detect if they got loaded */ | ||
852 | restore[SOUND_VOLUME] = global_settings.volume; | ||
853 | global_settings.volume = MARKER; | ||
854 | restore[SOUND_BASS] = global_settings.bass; | ||
855 | global_settings.bass = MARKER; | ||
856 | restore[SOUND_TREBLE] = global_settings.treble; | ||
857 | global_settings.treble = MARKER; | ||
858 | restore[SOUND_BALANCE] = global_settings.balance; | ||
859 | global_settings.balance = MARKER; | ||
860 | #ifdef HAVE_MAS3587F | ||
861 | restore[SOUND_LOUDNESS] = global_settings.loudness; | ||
862 | global_settings.loudness = MARKER; | ||
863 | restore[SOUND_SUPERBASS] = global_settings.bass_boost; | ||
864 | global_settings.bass_boost = MARKER; | ||
865 | #endif | ||
866 | |||
867 | /* load scalar values from RTC and HD sector, specified via table */ | 816 | /* load scalar values from RTC and HD sector, specified via table */ |
868 | if (which & SETTINGS_RTC) | 817 | if (which & SETTINGS_RTC) |
869 | { | 818 | { |
@@ -875,23 +824,6 @@ void settings_load(int which) | |||
875 | RTC_BLOCK_SIZE*8); | 824 | RTC_BLOCK_SIZE*8); |
876 | } | 825 | } |
877 | 826 | ||
878 | /* FIXME, to be removed with mpeg_val2phys: */ | ||
879 | /* if a value got loaded, convert it, else restore it */ | ||
880 | global_settings.volume = (global_settings.volume == MARKER) ? | ||
881 | restore[SOUND_VOLUME] : mpeg_phys2val(SOUND_VOLUME, global_settings.volume); | ||
882 | global_settings.bass = (global_settings.bass == MARKER) ? | ||
883 | restore[SOUND_BASS] : mpeg_phys2val(SOUND_BASS, global_settings.bass); | ||
884 | global_settings.treble = (global_settings.treble == MARKER) ? | ||
885 | restore[SOUND_TREBLE] : mpeg_phys2val(SOUND_TREBLE, global_settings.treble); | ||
886 | global_settings.balance = (global_settings.balance == MARKER) ? | ||
887 | restore[SOUND_BALANCE] : mpeg_phys2val(SOUND_BALANCE, global_settings.balance); | ||
888 | #ifdef HAVE_MAS3587F | ||
889 | global_settings.loudness = (global_settings.loudness == MARKER) ? | ||
890 | restore[SOUND_LOUDNESS] : mpeg_phys2val(SOUND_LOUDNESS, global_settings.loudness); | ||
891 | global_settings.bass_boost = (global_settings.bass_boost == MARKER) ? | ||
892 | restore[SOUND_SUPERBASS] : mpeg_phys2val(SOUND_SUPERBASS, global_settings.bass_boost); | ||
893 | #endif | ||
894 | |||
895 | if ( global_settings.contrast < MIN_CONTRAST_SETTING ) | 827 | if ( global_settings.contrast < MIN_CONTRAST_SETTING ) |
896 | global_settings.contrast = lcd_default_contrast(); | 828 | global_settings.contrast = lcd_default_contrast(); |
897 | 829 | ||
@@ -1046,31 +978,11 @@ bool settings_load_config(char* file) | |||
1046 | { | 978 | { |
1047 | int fd; | 979 | int fd; |
1048 | char line[128]; | 980 | char line[128]; |
1049 | int restore[6]; /* recover, FIXME: get rid of this */ | ||
1050 | 981 | ||
1051 | fd = open(file, O_RDONLY); | 982 | fd = open(file, O_RDONLY); |
1052 | if (fd < 0) | 983 | if (fd < 0) |
1053 | return false; | 984 | return false; |
1054 | 985 | ||
1055 | |||
1056 | /* While the mpeg_val2phys business still exists: ( to be removed) */ | ||
1057 | /* temporarily put markers into the values to detect if they got loaded */ | ||
1058 | restore[SOUND_VOLUME] = global_settings.volume; | ||
1059 | global_settings.volume = MARKER; | ||
1060 | restore[SOUND_BASS] = global_settings.bass; | ||
1061 | global_settings.bass = MARKER; | ||
1062 | restore[SOUND_TREBLE] = global_settings.treble; | ||
1063 | global_settings.treble = MARKER; | ||
1064 | restore[SOUND_BALANCE] = global_settings.balance; | ||
1065 | global_settings.balance = MARKER; | ||
1066 | #ifdef HAVE_MAS3587F | ||
1067 | restore[SOUND_LOUDNESS] = global_settings.loudness; | ||
1068 | global_settings.loudness = MARKER; | ||
1069 | restore[SOUND_SUPERBASS] = global_settings.bass_boost; | ||
1070 | global_settings.bass_boost = MARKER; | ||
1071 | #endif | ||
1072 | |||
1073 | |||
1074 | while (read_line(fd, line, sizeof line) > 0) | 986 | while (read_line(fd, line, sizeof line) > 0) |
1075 | { | 987 | { |
1076 | char* name; | 988 | char* name; |
@@ -1126,23 +1038,6 @@ bool settings_load_config(char* file) | |||
1126 | } | 1038 | } |
1127 | } | 1039 | } |
1128 | 1040 | ||
1129 | /* FIXME, to be removed with mpeg_val2phys: */ | ||
1130 | /* if a value got loaded, convert it, else restore it */ | ||
1131 | global_settings.volume = (global_settings.volume == MARKER) ? | ||
1132 | restore[SOUND_VOLUME] : mpeg_phys2val(SOUND_VOLUME, global_settings.volume); | ||
1133 | global_settings.bass = (global_settings.bass == MARKER) ? | ||
1134 | restore[SOUND_BASS] : mpeg_phys2val(SOUND_BASS, global_settings.bass); | ||
1135 | global_settings.treble = (global_settings.treble == MARKER) ? | ||
1136 | restore[SOUND_TREBLE] : mpeg_phys2val(SOUND_TREBLE, global_settings.treble); | ||
1137 | global_settings.balance = (global_settings.balance == MARKER) ? | ||
1138 | restore[SOUND_BALANCE] : mpeg_phys2val(SOUND_BALANCE, global_settings.balance); | ||
1139 | #ifdef HAVE_MAS3587F | ||
1140 | global_settings.loudness = (global_settings.loudness == MARKER) ? | ||
1141 | restore[SOUND_LOUDNESS] : mpeg_phys2val(SOUND_LOUDNESS, global_settings.loudness); | ||
1142 | global_settings.bass_boost = (global_settings.bass_boost == MARKER) ? | ||
1143 | restore[SOUND_SUPERBASS] : mpeg_phys2val(SOUND_SUPERBASS, global_settings.bass_boost); | ||
1144 | #endif | ||
1145 | |||
1146 | close(fd); | 1041 | close(fd); |
1147 | settings_apply(); | 1042 | settings_apply(); |
1148 | settings_save(); | 1043 | settings_save(); |
@@ -1221,7 +1116,6 @@ bool settings_save_config(void) | |||
1221 | bool done = false; | 1116 | bool done = false; |
1222 | int fd, i; | 1117 | int fd, i; |
1223 | char filename[MAX_PATH]; | 1118 | char filename[MAX_PATH]; |
1224 | int restore[6]; /* recover, FIXME: get rid of this */ | ||
1225 | 1119 | ||
1226 | /* find unused filename */ | 1120 | /* find unused filename */ |
1227 | for (i=0; ; i++) { | 1121 | for (i=0; ; i++) { |
@@ -1276,37 +1170,10 @@ bool settings_save_config(void) | |||
1276 | global_settings.font_file); | 1170 | global_settings.font_file); |
1277 | #endif | 1171 | #endif |
1278 | 1172 | ||
1279 | /* FIXME: While the mpeg_val2phys business still exists: ( to be removed) */ | ||
1280 | /* temporarily replace the hardware levels with the MMI values */ | ||
1281 | restore[SOUND_VOLUME] = global_settings.volume; | ||
1282 | global_settings.volume = mpeg_val2phys(SOUND_VOLUME, global_settings.volume); | ||
1283 | restore[SOUND_BASS] = global_settings.bass; | ||
1284 | global_settings.bass = mpeg_val2phys(SOUND_BASS, global_settings.bass); | ||
1285 | restore[SOUND_TREBLE] = global_settings.treble; | ||
1286 | global_settings.treble = mpeg_val2phys(SOUND_TREBLE, global_settings.treble); | ||
1287 | restore[SOUND_BALANCE] = global_settings.balance; | ||
1288 | global_settings.balance = mpeg_val2phys(SOUND_BALANCE, global_settings.balance); | ||
1289 | #ifdef HAVE_MAS3587F | ||
1290 | restore[SOUND_LOUDNESS] = global_settings.loudness; | ||
1291 | global_settings.loudness = mpeg_val2phys(SOUND_LOUDNESS, global_settings.loudness); | ||
1292 | restore[SOUND_SUPERBASS] = global_settings.bass_boost; | ||
1293 | global_settings.bass_boost = mpeg_val2phys(SOUND_SUPERBASS, global_settings.bass_boost); | ||
1294 | #endif | ||
1295 | |||
1296 | /* here's the action: write values to file, specified via table */ | 1173 | /* here's the action: write values to file, specified via table */ |
1297 | save_cfg_table(rtc_bits, sizeof(rtc_bits)/sizeof(rtc_bits[0]), fd); | 1174 | save_cfg_table(rtc_bits, sizeof(rtc_bits)/sizeof(rtc_bits[0]), fd); |
1298 | save_cfg_table(hd_bits, sizeof(hd_bits)/sizeof(hd_bits[0]), fd); | 1175 | save_cfg_table(hd_bits, sizeof(hd_bits)/sizeof(hd_bits[0]), fd); |
1299 | 1176 | ||
1300 | /* FIXME to be removed with mpeg_val2phys: restore the original values */ | ||
1301 | global_settings.volume = restore[SOUND_VOLUME]; | ||
1302 | global_settings.bass = restore[SOUND_BASS]; | ||
1303 | global_settings.treble = restore[SOUND_TREBLE]; | ||
1304 | global_settings.balance = restore[SOUND_BALANCE]; | ||
1305 | #ifdef HAVE_MAS3587F | ||
1306 | global_settings.loudness = restore[SOUND_LOUDNESS]; | ||
1307 | global_settings.bass_boost = restore[SOUND_SUPERBASS]; | ||
1308 | #endif | ||
1309 | |||
1310 | close(fd); | 1177 | close(fd); |
1311 | 1178 | ||
1312 | lcd_clear_display(); | 1179 | lcd_clear_display(); |