diff options
Diffstat (limited to 'apps/settings_menu.c')
-rw-r--r-- | apps/settings_menu.c | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/apps/settings_menu.c b/apps/settings_menu.c index fadbb11f3e..57b4cc897e 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c | |||
@@ -95,7 +95,7 @@ static bool remote_contrast(void) | |||
95 | return set_int( str(LANG_CONTRAST), "", UNIT_INT, | 95 | return set_int( str(LANG_CONTRAST), "", UNIT_INT, |
96 | &global_settings.remote_contrast, | 96 | &global_settings.remote_contrast, |
97 | lcd_remote_set_contrast, 1, MIN_CONTRAST_SETTING, | 97 | lcd_remote_set_contrast, 1, MIN_CONTRAST_SETTING, |
98 | MAX_CONTRAST_SETTING ); | 98 | MAX_CONTRAST_SETTING, NULL ); |
99 | } | 99 | } |
100 | 100 | ||
101 | static bool remote_invert(void) | 101 | static bool remote_invert(void) |
@@ -235,7 +235,7 @@ static bool contrast(void) | |||
235 | return set_int( str(LANG_CONTRAST), "", UNIT_INT, | 235 | return set_int( str(LANG_CONTRAST), "", UNIT_INT, |
236 | &global_settings.contrast, | 236 | &global_settings.contrast, |
237 | lcd_set_contrast, 1, MIN_CONTRAST_SETTING, | 237 | lcd_set_contrast, 1, MIN_CONTRAST_SETTING, |
238 | MAX_CONTRAST_SETTING ); | 238 | MAX_CONTRAST_SETTING, NULL ); |
239 | } | 239 | } |
240 | 240 | ||
241 | #ifdef HAVE_LCD_BITMAP | 241 | #ifdef HAVE_LCD_BITMAP |
@@ -322,7 +322,7 @@ static bool peak_meter_fps_menu(void) { | |||
322 | bool retval = false; | 322 | bool retval = false; |
323 | retval = set_int( "Refresh rate", "/s", UNIT_PER_SEC, | 323 | retval = set_int( "Refresh rate", "/s", UNIT_PER_SEC, |
324 | &peak_meter_fps, | 324 | &peak_meter_fps, |
325 | NULL, 1, 5, 40); | 325 | NULL, 1, 5, 40, NULL); |
326 | return retval; | 326 | return retval; |
327 | } | 327 | } |
328 | #endif /* PM_DEBUG */ | 328 | #endif /* PM_DEBUG */ |
@@ -420,7 +420,7 @@ static bool peak_meter_release(void) { | |||
420 | retval = set_int( str(LANG_PM_RELEASE), str(LANG_PM_UNITS_PER_READ), | 420 | retval = set_int( str(LANG_PM_RELEASE), str(LANG_PM_UNITS_PER_READ), |
421 | LANG_PM_UNITS_PER_READ, | 421 | LANG_PM_UNITS_PER_READ, |
422 | &global_settings.peak_meter_release, | 422 | &global_settings.peak_meter_release, |
423 | NULL, 1, 1, 0x7e); | 423 | NULL, 1, 1, 0x7e, NULL); |
424 | 424 | ||
425 | peak_meter_init_times(global_settings.peak_meter_release, | 425 | peak_meter_init_times(global_settings.peak_meter_release, |
426 | global_settings.peak_meter_hold, | 426 | global_settings.peak_meter_hold, |
@@ -488,7 +488,7 @@ static bool peak_meter_min(void) { | |||
488 | int min = -global_settings.peak_meter_min; | 488 | int min = -global_settings.peak_meter_min; |
489 | 489 | ||
490 | retval = set_int(str(LANG_PM_MIN), str(LANG_PM_DBFS), UNIT_DB, | 490 | retval = set_int(str(LANG_PM_MIN), str(LANG_PM_DBFS), UNIT_DB, |
491 | &min, NULL, 1, -89, range_max); | 491 | &min, NULL, 1, -89, range_max, NULL); |
492 | 492 | ||
493 | global_settings.peak_meter_min = - min; | 493 | global_settings.peak_meter_min = - min; |
494 | } | 494 | } |
@@ -499,7 +499,7 @@ static bool peak_meter_min(void) { | |||
499 | 499 | ||
500 | retval = set_int(str(LANG_PM_MIN), "%", UNIT_PERCENT, | 500 | retval = set_int(str(LANG_PM_MIN), "%", UNIT_PERCENT, |
501 | &min, NULL, | 501 | &min, NULL, |
502 | 1, 0, global_settings.peak_meter_max - 1); | 502 | 1, 0, global_settings.peak_meter_max - 1, NULL); |
503 | 503 | ||
504 | global_settings.peak_meter_min = (unsigned char)min; | 504 | global_settings.peak_meter_min = (unsigned char)min; |
505 | } | 505 | } |
@@ -522,7 +522,7 @@ static bool peak_meter_max(void) { | |||
522 | int max = -global_settings.peak_meter_max;; | 522 | int max = -global_settings.peak_meter_max;; |
523 | 523 | ||
524 | retval = set_int(str(LANG_PM_MAX), str(LANG_PM_DBFS), UNIT_DB, | 524 | retval = set_int(str(LANG_PM_MAX), str(LANG_PM_DBFS), UNIT_DB, |
525 | &max, NULL, 1, range_min, 0); | 525 | &max, NULL, 1, range_min, 0, NULL); |
526 | 526 | ||
527 | global_settings.peak_meter_max = - max; | 527 | global_settings.peak_meter_max = - max; |
528 | 528 | ||
@@ -534,7 +534,7 @@ static bool peak_meter_max(void) { | |||
534 | 534 | ||
535 | retval = set_int(str(LANG_PM_MAX), "%", UNIT_PERCENT, | 535 | retval = set_int(str(LANG_PM_MAX), "%", UNIT_PERCENT, |
536 | &max, NULL, | 536 | &max, NULL, |
537 | 1, global_settings.peak_meter_min + 1, 100); | 537 | 1, global_settings.peak_meter_min + 1, 100, NULL); |
538 | 538 | ||
539 | global_settings.peak_meter_max = (unsigned char)max; | 539 | global_settings.peak_meter_max = (unsigned char)max; |
540 | } | 540 | } |
@@ -765,7 +765,7 @@ static bool scroll_speed(void) | |||
765 | { | 765 | { |
766 | return set_int(str(LANG_SCROLL), "", UNIT_INT, | 766 | return set_int(str(LANG_SCROLL), "", UNIT_INT, |
767 | &global_settings.scroll_speed, | 767 | &global_settings.scroll_speed, |
768 | &lcd_scroll_speed, 1, 0, 15 ); | 768 | &lcd_scroll_speed, 1, 0, 15, NULL ); |
769 | } | 769 | } |
770 | 770 | ||
771 | 771 | ||
@@ -774,7 +774,7 @@ static bool scroll_delay(void) | |||
774 | int dummy = global_settings.scroll_delay * (HZ/10); | 774 | int dummy = global_settings.scroll_delay * (HZ/10); |
775 | int rc = set_int(str(LANG_SCROLL_DELAY), "ms", UNIT_MS, | 775 | int rc = set_int(str(LANG_SCROLL_DELAY), "ms", UNIT_MS, |
776 | &dummy, | 776 | &dummy, |
777 | &lcd_scroll_delay, 100, 0, 2500 ); | 777 | &lcd_scroll_delay, 100, 0, 2500, NULL ); |
778 | global_settings.scroll_delay = dummy / (HZ/10); | 778 | global_settings.scroll_delay = dummy / (HZ/10); |
779 | return rc; | 779 | return rc; |
780 | } | 780 | } |
@@ -784,7 +784,7 @@ static bool scroll_step(void) | |||
784 | { | 784 | { |
785 | return set_int(str(LANG_SCROLL_STEP_EXAMPLE), "pixels", UNIT_PIXEL, | 785 | return set_int(str(LANG_SCROLL_STEP_EXAMPLE), "pixels", UNIT_PIXEL, |
786 | &global_settings.scroll_step, | 786 | &global_settings.scroll_step, |
787 | &lcd_scroll_step, 1, 1, LCD_WIDTH ); | 787 | &lcd_scroll_step, 1, 1, LCD_WIDTH, NULL ); |
788 | } | 788 | } |
789 | #endif | 789 | #endif |
790 | 790 | ||
@@ -792,7 +792,7 @@ static bool bidir_limit(void) | |||
792 | { | 792 | { |
793 | return set_int(str(LANG_BIDIR_SCROLL), "%", UNIT_PERCENT, | 793 | return set_int(str(LANG_BIDIR_SCROLL), "%", UNIT_PERCENT, |
794 | &global_settings.bidir_limit, | 794 | &global_settings.bidir_limit, |
795 | &lcd_bidir_scroll, 25, 0, 200 ); | 795 | &lcd_bidir_scroll, 25, 0, 200, NULL ); |
796 | } | 796 | } |
797 | 797 | ||
798 | #ifdef HAVE_LCD_CHARCELLS | 798 | #ifdef HAVE_LCD_CHARCELLS |
@@ -816,7 +816,7 @@ static bool jump_scroll_delay(void) | |||
816 | int dummy = global_settings.jump_scroll_delay * (HZ/10); | 816 | int dummy = global_settings.jump_scroll_delay * (HZ/10); |
817 | int rc = set_int(str(LANG_JUMP_SCROLL_DELAY), "ms", UNIT_MS, | 817 | int rc = set_int(str(LANG_JUMP_SCROLL_DELAY), "ms", UNIT_MS, |
818 | &dummy, | 818 | &dummy, |
819 | &lcd_jump_scroll_delay, 100, 0, 2500 ); | 819 | &lcd_jump_scroll_delay, 100, 0, 2500, NULL ); |
820 | global_settings.jump_scroll_delay = dummy / (HZ/10); | 820 | global_settings.jump_scroll_delay = dummy / (HZ/10); |
821 | return rc; | 821 | return rc; |
822 | } | 822 | } |
@@ -831,7 +831,7 @@ static bool battery_capacity(void) | |||
831 | return set_int(str(LANG_BATTERY_CAPACITY), "mAh", UNIT_MAH, | 831 | return set_int(str(LANG_BATTERY_CAPACITY), "mAh", UNIT_MAH, |
832 | &global_settings.battery_capacity, | 832 | &global_settings.battery_capacity, |
833 | &set_battery_capacity, 50, BATTERY_CAPACITY_MIN, | 833 | &set_battery_capacity, 50, BATTERY_CAPACITY_MIN, |
834 | BATTERY_CAPACITY_MAX ); | 834 | BATTERY_CAPACITY_MAX, NULL ); |
835 | } | 835 | } |
836 | 836 | ||
837 | #if BATTERY_TYPES_COUNT > 1 | 837 | #if BATTERY_TYPES_COUNT > 1 |
@@ -895,7 +895,7 @@ static bool spindown(void) | |||
895 | { | 895 | { |
896 | return set_int(str(LANG_SPINDOWN), "s", UNIT_SEC, | 896 | return set_int(str(LANG_SPINDOWN), "s", UNIT_SEC, |
897 | &global_settings.disk_spindown, | 897 | &global_settings.disk_spindown, |
898 | ata_spindown, 1, 3, 254 ); | 898 | ata_spindown, 1, 3, 254, NULL ); |
899 | } | 899 | } |
900 | 900 | ||
901 | #ifdef HAVE_ATA_POWER_OFF | 901 | #ifdef HAVE_ATA_POWER_OFF |
@@ -921,14 +921,14 @@ static bool max_files_in_dir(void) | |||
921 | { | 921 | { |
922 | return set_int(str(LANG_MAX_FILES_IN_DIR), "", UNIT_INT, | 922 | return set_int(str(LANG_MAX_FILES_IN_DIR), "", UNIT_INT, |
923 | &global_settings.max_files_in_dir, | 923 | &global_settings.max_files_in_dir, |
924 | NULL, 50, 50, 10000 ); | 924 | NULL, 50, 50, 10000, NULL ); |
925 | } | 925 | } |
926 | 926 | ||
927 | static bool max_files_in_playlist(void) | 927 | static bool max_files_in_playlist(void) |
928 | { | 928 | { |
929 | return set_int(str(LANG_MAX_FILES_IN_PLAYLIST), "", UNIT_INT, | 929 | return set_int(str(LANG_MAX_FILES_IN_PLAYLIST), "", UNIT_INT, |
930 | &global_settings.max_files_in_playlist, | 930 | &global_settings.max_files_in_playlist, |
931 | NULL, 1000, 1000, 20000 ); | 931 | NULL, 1000, 1000, 20000, NULL ); |
932 | } | 932 | } |
933 | 933 | ||
934 | #if CONFIG_HWCODEC == MASNONE | 934 | #if CONFIG_HWCODEC == MASNONE |
@@ -957,7 +957,7 @@ static bool buffer_margin(void) | |||
957 | { | 957 | { |
958 | return set_int(str(LANG_MP3BUFFER_MARGIN), "s", UNIT_SEC, | 958 | return set_int(str(LANG_MP3BUFFER_MARGIN), "s", UNIT_SEC, |
959 | &global_settings.buffer_margin, | 959 | &global_settings.buffer_margin, |
960 | audio_set_buffer_margin, 1, 0, 7 ); | 960 | audio_set_buffer_margin, 1, 0, 7, NULL ); |
961 | } | 961 | } |
962 | #endif | 962 | #endif |
963 | 963 | ||
@@ -1232,6 +1232,25 @@ static bool replaygain_noclip(void) | |||
1232 | return result; | 1232 | return result; |
1233 | } | 1233 | } |
1234 | 1234 | ||
1235 | void replaygain_preamp_format(char* buffer, int buffer_size, int value, | ||
1236 | const char* unit) | ||
1237 | { | ||
1238 | int v = abs(value); | ||
1239 | |||
1240 | snprintf(buffer, buffer_size, "%s%d.%d %s", value < 0 ? "-" : "", | ||
1241 | v / 10, v % 10, unit); | ||
1242 | } | ||
1243 | |||
1244 | static bool replaygain_preamp(void) | ||
1245 | { | ||
1246 | bool result = set_int(str(LANG_REPLAYGAIN_PREAMP), str(LANG_UNIT_DB), | ||
1247 | UNIT_DB, &global_settings.replaygain_preamp, NULL, 1, -120, 120, | ||
1248 | replaygain_preamp_format); | ||
1249 | |||
1250 | dsp_set_replaygain(true); | ||
1251 | return result; | ||
1252 | } | ||
1253 | |||
1235 | static bool replaygain_settings_menu(void) | 1254 | static bool replaygain_settings_menu(void) |
1236 | { | 1255 | { |
1237 | int m; | 1256 | int m; |
@@ -1241,6 +1260,7 @@ static bool replaygain_settings_menu(void) | |||
1241 | { ID2P(LANG_REPLAYGAIN_ENABLE), replaygain }, | 1260 | { ID2P(LANG_REPLAYGAIN_ENABLE), replaygain }, |
1242 | { ID2P(LANG_REPLAYGAIN_NOCLIP), replaygain_noclip }, | 1261 | { ID2P(LANG_REPLAYGAIN_NOCLIP), replaygain_noclip }, |
1243 | { ID2P(LANG_REPLAYGAIN_MODE), replaygain_mode }, | 1262 | { ID2P(LANG_REPLAYGAIN_MODE), replaygain_mode }, |
1263 | { ID2P(LANG_REPLAYGAIN_PREAMP), replaygain_preamp }, | ||
1244 | }; | 1264 | }; |
1245 | 1265 | ||
1246 | m=menu_init( items, sizeof(items) / sizeof(*items), NULL, | 1266 | m=menu_init( items, sizeof(items) / sizeof(*items), NULL, |