summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2004-06-21 13:42:37 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2004-06-21 13:42:37 +0000
commit3db9c833647a59edd1dc800808a2d404286e5ceb (patch)
tree876ce8d0e4be89dc7411729557af0335e4f17265
parentbdfc932accb1eb2c655887fce74717a8894c6cc3 (diff)
downloadrockbox-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
-rw-r--r--apps/settings.c141
-rw-r--r--firmware/export/mp3_playback.h1
-rw-r--r--firmware/mp3_playback.c134
3 files changed, 35 insertions, 241 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();
diff --git a/firmware/export/mp3_playback.h b/firmware/export/mp3_playback.h
index 1eb5dc264e..ad989a2572 100644
--- a/firmware/export/mp3_playback.h
+++ b/firmware/export/mp3_playback.h
@@ -33,7 +33,6 @@ int mpeg_sound_max(int setting);
33int mpeg_sound_default(int setting); 33int mpeg_sound_default(int setting);
34void mpeg_sound_channel_config(int configuration); 34void mpeg_sound_channel_config(int configuration);
35int mpeg_val2phys(int setting, int value); 35int mpeg_val2phys(int setting, int value);
36int mpeg_phys2val(int setting, int value);
37char *mpeg_sound_unit(int setting); 36char *mpeg_sound_unit(int setting);
38int mpeg_sound_numdecimals(int setting); 37int mpeg_sound_numdecimals(int setting);
39#if defined(HAVE_MAS3587F) || defined(SIMULATOR) 38#if defined(HAVE_MAS3587F) || defined(SIMULATOR)
diff --git a/firmware/mp3_playback.c b/firmware/mp3_playback.c
index 239f987c56..28d14eae64 100644
--- a/firmware/mp3_playback.c
+++ b/firmware/mp3_playback.c
@@ -94,9 +94,14 @@ static int numdecimals[] =
94static int minval[] = 94static int minval[] =
95{ 95{
96 0, /* Volume */ 96 0, /* Volume */
97 0, /* Bass */ 97#ifdef HAVE_MAS3587F
98 0, /* Treble */ 98 -12, /* Bass */
99 -50, /* Balance */ 99 -12, /* Treble */
100#else
101 -15, /* Bass */
102 -15, /* Treble */
103#endif
104 -100, /* Balance */
100 0, /* Loudness */ 105 0, /* Loudness */
101 0, /* Bass boost */ 106 0, /* Bass boost */
102 -1, /* AVC */ 107 -1, /* AVC */
@@ -110,15 +115,15 @@ static int maxval[] =
110{ 115{
111 100, /* Volume */ 116 100, /* Volume */
112#ifdef HAVE_MAS3587F 117#ifdef HAVE_MAS3587F
113 24, /* Bass */ 118 12, /* Bass */
114 24, /* Treble */ 119 12, /* Treble */
115#else 120#else
116 30, /* Bass */ 121 15, /* Bass */
117 30, /* Treble */ 122 15, /* Treble */
118#endif 123#endif
119 50, /* Balance */ 124 100, /* Balance */
120 17, /* Loudness */ 125 17, /* Loudness */
121 10, /* Bass boost */ 126 100, /* Bass boost */
122 3, /* AVC */ 127 3, /* AVC */
123 6, /* Channels */ 128 6, /* Channels */
124 15, /* Left gain */ 129 15, /* Left gain */
@@ -130,11 +135,11 @@ static int defaultval[] =
130{ 135{
131 70, /* Volume */ 136 70, /* Volume */
132#ifdef HAVE_MAS3587F 137#ifdef HAVE_MAS3587F
133 12+6, /* Bass */ 138 6, /* Bass */
134 12+6, /* Treble */ 139 6, /* Treble */
135#else 140#else
136 15+7, /* Bass */ 141 7, /* Bass */
137 15+7, /* Treble */ 142 7, /* Treble */
138#endif 143#endif
139 0, /* Balance */ 144 0, /* Balance */
140 0, /* Loudness */ 145 0, /* Loudness */
@@ -614,30 +619,27 @@ void mpeg_sound_set(int setting, int value)
614#ifdef HAVE_MAS3587F 619#ifdef HAVE_MAS3587F
615 tmp = ((value * 127 / 100) & 0xff) << 8; 620 tmp = ((value * 127 / 100) & 0xff) << 8;
616 mas_codec_writereg(0x11, tmp & 0xff00); 621 mas_codec_writereg(0x11, tmp & 0xff00);
617#else
618 /* Convert to percent */
619 current_balance = value * 2;
620#endif 622#endif
621 break; 623 break;
622 624
623 case SOUND_BASS: 625 case SOUND_BASS:
624#ifdef HAVE_MAS3587F 626#ifdef HAVE_MAS3587F
625 tmp = (((value-12) * 8) & 0xff) << 8; 627 tmp = ((value * 8) & 0xff) << 8;
626 mas_codec_writereg(0x14, tmp & 0xff00); 628 mas_codec_writereg(0x14, tmp & 0xff00);
627#else 629#else
628 mas_writereg(MAS_REG_KBASS, bass_table[value]); 630 mas_writereg(MAS_REG_KBASS, bass_table[value+15]);
629 current_bass = (value-15) * 10; 631 current_bass = (value) * 10;
630 set_prescaled_volume(); 632 set_prescaled_volume();
631#endif 633#endif
632 break; 634 break;
633 635
634 case SOUND_TREBLE: 636 case SOUND_TREBLE:
635#ifdef HAVE_MAS3587F 637#ifdef HAVE_MAS3587F
636 tmp = (((value-12) * 8) & 0xff) << 8; 638 tmp = ((value * 8) & 0xff) << 8;
637 mas_codec_writereg(0x15, tmp & 0xff00); 639 mas_codec_writereg(0x15, tmp & 0xff00);
638#else 640#else
639 mas_writereg(MAS_REG_KTREBLE, treble_table[value]); 641 mas_writereg(MAS_REG_KTREBLE, treble_table[value+15]);
640 current_treble = (value-15) * 10; 642 current_treble = (value) * 10;
641 set_prescaled_volume(); 643 set_prescaled_volume();
642#endif 644#endif
643 break; 645 break;
@@ -645,7 +647,7 @@ void mpeg_sound_set(int setting, int value)
645#ifdef HAVE_MAS3587F 647#ifdef HAVE_MAS3587F
646 case SOUND_SUPERBASS: 648 case SOUND_SUPERBASS:
647 if (value) { 649 if (value) {
648 tmp = MAX(MIN(value * 12, 0x7f), 0); 650 tmp = MAX(MIN(value * 127 / 100, 0x7f), 0);
649 mas_codec_writereg(MAS_REG_KMDB_STR, (tmp & 0xff) << 8); 651 mas_codec_writereg(MAS_REG_KMDB_STR, (tmp & 0xff) << 8);
650 tmp = 0x30; /* MDB_HAR: Space for experiment here */ 652 tmp = 0x30; /* MDB_HAR: Space for experiment here */
651 mas_codec_writereg(MAS_REG_KMDB_HAR, (tmp & 0xff) << 8); 653 mas_codec_writereg(MAS_REG_KMDB_HAR, (tmp & 0xff) << 8);
@@ -700,43 +702,11 @@ void mpeg_sound_set(int setting, int value)
700 702
701int mpeg_val2phys(int setting, int value) 703int mpeg_val2phys(int setting, int value)
702{ 704{
705#ifdef HAVE_MAS3587F
703 int result = 0; 706 int result = 0;
704 707
705 switch(setting) 708 switch(setting)
706 { 709 {
707 case SOUND_VOLUME:
708 result = value;
709 break;
710
711 case SOUND_BALANCE:
712 result = value * 2;
713 break;
714
715 case SOUND_BASS:
716#ifdef HAVE_MAS3587F
717 result = value - 12;
718#else
719 result = value - 15;
720#endif
721 break;
722
723 case SOUND_TREBLE:
724#ifdef HAVE_MAS3587F
725 result = value - 12;
726#else
727 result = value - 15;
728#endif
729 break;
730
731#ifdef HAVE_MAS3587F
732 case SOUND_LOUDNESS:
733 result = value;
734 break;
735
736 case SOUND_SUPERBASS:
737 result = value * 10;
738 break;
739
740 case SOUND_LEFT_GAIN: 710 case SOUND_LEFT_GAIN:
741 case SOUND_RIGHT_GAIN: 711 case SOUND_RIGHT_GAIN:
742 result = (value - 2) * 15; 712 result = (value - 2) * 15;
@@ -745,60 +715,18 @@ int mpeg_val2phys(int setting, int value)
745 case SOUND_MIC_GAIN: 715 case SOUND_MIC_GAIN:
746 result = value * 15 + 210; 716 result = value * 15 + 210;
747 break; 717 break;
748#endif
749 }
750 return result;
751}
752
753int mpeg_phys2val(int setting, int value)
754{
755 int result = 0;
756
757 switch(setting)
758 {
759 case SOUND_VOLUME:
760 result = value;
761 break;
762
763 case SOUND_BALANCE:
764 result = value / 2;
765 break;
766
767 case SOUND_BASS:
768#ifdef HAVE_MAS3587F
769 result = value + 12;
770#else
771 result = value + 15;
772#endif
773 break;
774
775 case SOUND_TREBLE:
776#ifdef HAVE_MAS3587F
777 result = value + 12;
778#else
779 result = value + 15;
780#endif
781 break;
782 718
783#ifdef HAVE_MAS3587F 719 default:
784 case SOUND_SUPERBASS:
785 result = value / 10;
786 break;
787
788 case SOUND_LOUDNESS:
789 case SOUND_AVC:
790 case SOUND_LEFT_GAIN:
791 case SOUND_RIGHT_GAIN:
792 case SOUND_MIC_GAIN:
793 result = value; 720 result = value;
794 break; 721 break;
795#endif
796 } 722 }
797
798 return result; 723 return result;
724#else
725 (void)setting;
726 return value;
727#endif
799} 728}
800 729
801
802void mpeg_sound_channel_config(int configuration) 730void mpeg_sound_channel_config(int configuration)
803{ 731{
804#ifdef SIMULATOR 732#ifdef SIMULATOR