summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/settings.c141
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 */
596int settings_save( void ) 595int 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 */
840void settings_load(int which) 808void 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();