diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-06-28 11:48:53 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-06-28 11:48:53 +0000 |
commit | 667fb7c6e94060294dd1a9f95934b841f7df9f71 (patch) | |
tree | f261846271d84633598e03afe8f68c5b73b396af /apps | |
parent | b983d1b4a1126356462863364c9cc8d3f9471a03 (diff) | |
download | rockbox-667fb7c6e94060294dd1a9f95934b841f7df9f71.tar.gz rockbox-667fb7c6e94060294dd1a9f95934b841f7df9f71.zip |
First step towards a better sound setting API
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1243 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/settings.h | 6 | ||||
-rw-r--r-- | apps/sound_menu.c | 66 | ||||
-rw-r--r-- | apps/wps.c | 16 |
3 files changed, 74 insertions, 14 deletions
diff --git a/apps/settings.h b/apps/settings.h index d3b891c790..5f67b3b1bc 100644 --- a/apps/settings.h +++ b/apps/settings.h | |||
@@ -84,10 +84,10 @@ extern struct user_settings global_settings; | |||
84 | 84 | ||
85 | /* system defines */ | 85 | /* system defines */ |
86 | 86 | ||
87 | #define DEFAULT_VOLUME_SETTING 70 | 87 | #define DEFAULT_VOLUME_SETTING 70/2 |
88 | #define DEFAULT_BALANCE_SETTING 50 | 88 | #define DEFAULT_BALANCE_SETTING 50 |
89 | #define DEFAULT_BASS_SETTING 50 | 89 | #define DEFAULT_BASS_SETTING 50/2 |
90 | #define DEFAULT_TREBLE_SETTING 50 | 90 | #define DEFAULT_TREBLE_SETTING 50/2 |
91 | #define DEFAULT_LOUDNESS_SETTING 0 | 91 | #define DEFAULT_LOUDNESS_SETTING 0 |
92 | #define DEFAULT_BASS_BOOST_SETTING 0 | 92 | #define DEFAULT_BASS_BOOST_SETTING 0 |
93 | #define DEFAULT_CONTRAST_SETTING 0 | 93 | #define DEFAULT_CONTRAST_SETTING 0 |
diff --git a/apps/sound_menu.c b/apps/sound_menu.c index 183c3439a3..50ba26582d 100644 --- a/apps/sound_menu.c +++ b/apps/sound_menu.c | |||
@@ -19,23 +19,83 @@ | |||
19 | #include "config.h" | 19 | #include "config.h" |
20 | #include <stdio.h> | 20 | #include <stdio.h> |
21 | #include <stdbool.h> | 21 | #include <stdbool.h> |
22 | #include "lcd.h" | ||
22 | #include "menu.h" | 23 | #include "menu.h" |
24 | #include "button.h" | ||
23 | #include "mpeg.h" | 25 | #include "mpeg.h" |
24 | #include "settings.h" | 26 | #include "settings.h" |
25 | 27 | ||
28 | void set_sound(char* string, | ||
29 | int* variable, | ||
30 | int setting) | ||
31 | { | ||
32 | bool done = false; | ||
33 | int min, max; | ||
34 | int val; | ||
35 | char* unit; | ||
36 | char str[32]; | ||
37 | |||
38 | unit = mpeg_sound_unit(setting); | ||
39 | min = mpeg_sound_min(setting); | ||
40 | max = mpeg_sound_max(setting); | ||
41 | |||
42 | lcd_clear_display(); | ||
43 | lcd_puts_scroll(0,0,string); | ||
44 | |||
45 | while (!done) { | ||
46 | val = mpeg_val2phys(setting, *variable); | ||
47 | snprintf(str,sizeof str,"%d %s ", val, unit); | ||
48 | lcd_puts(0,1,str); | ||
49 | lcd_update(); | ||
50 | |||
51 | switch( button_get(true) ) { | ||
52 | #ifdef HAVE_RECORDER_KEYPAD | ||
53 | case BUTTON_UP: | ||
54 | #else | ||
55 | case BUTTON_RIGHT: | ||
56 | #endif | ||
57 | (*variable)++; | ||
58 | if(*variable > max ) | ||
59 | *variable = max; | ||
60 | break; | ||
61 | |||
62 | #ifdef HAVE_RECORDER_KEYPAD | ||
63 | case BUTTON_DOWN: | ||
64 | #else | ||
65 | case BUTTON_LEFT: | ||
66 | #endif | ||
67 | (*variable)--; | ||
68 | if(*variable < min ) | ||
69 | *variable = min; | ||
70 | break; | ||
71 | |||
72 | #ifdef HAVE_RECORDER_KEYPAD | ||
73 | case BUTTON_LEFT: | ||
74 | #else | ||
75 | case BUTTON_STOP: | ||
76 | case BUTTON_MENU: | ||
77 | #endif | ||
78 | done = true; | ||
79 | break; | ||
80 | } | ||
81 | mpeg_sound_set(setting, *variable); | ||
82 | } | ||
83 | lcd_stop_scroll(); | ||
84 | } | ||
85 | |||
26 | static void volume(void) | 86 | static void volume(void) |
27 | { | 87 | { |
28 | set_int("Volume","%", &global_settings.volume, mpeg_volume, 2, 0, 100); | 88 | set_sound("Volume", &global_settings.volume, SOUND_VOLUME); |
29 | } | 89 | } |
30 | 90 | ||
31 | static void bass(void) | 91 | static void bass(void) |
32 | { | 92 | { |
33 | set_int("Bass","%", &global_settings.bass, mpeg_bass, 2, 0, 100); | 93 | set_sound("Bass", &global_settings.bass, SOUND_BASS); |
34 | }; | 94 | }; |
35 | 95 | ||
36 | static void treble(void) | 96 | static void treble(void) |
37 | { | 97 | { |
38 | set_int("Treble","%", &global_settings.treble, mpeg_treble, 2, 0, 100); | 98 | set_sound("Treble", &global_settings.treble, SOUND_TREBLE); |
39 | } | 99 | } |
40 | 100 | ||
41 | void sound_menu(void) | 101 | void sound_menu(void) |
diff --git a/apps/wps.c b/apps/wps.c index 51add88872..2779af7a5d 100644 --- a/apps/wps.c +++ b/apps/wps.c | |||
@@ -176,17 +176,17 @@ void wps_show(void) | |||
176 | 176 | ||
177 | #ifdef HAVE_RECORDER_KEYPAD | 177 | #ifdef HAVE_RECORDER_KEYPAD |
178 | case BUTTON_UP: | 178 | case BUTTON_UP: |
179 | global_settings.volume += 2; | 179 | global_settings.volume++; |
180 | if(global_settings.volume > 100) | 180 | if(global_settings.volume > mpeg_sound_max(SOUND_VOLUME)) |
181 | global_settings.volume = 100; | 181 | global_settings.volume = mpeg_sound_max(SOUND_VOLUME); |
182 | mpeg_volume(global_settings.volume); | 182 | mpeg_sound_set(SOUND_VOLUME, global_settings.volume); |
183 | break; | 183 | break; |
184 | 184 | ||
185 | case BUTTON_DOWN: | 185 | case BUTTON_DOWN: |
186 | global_settings.volume -= 2; | 186 | global_settings.volume--; |
187 | if(global_settings.volume < 0) | 187 | if(global_settings.volume < mpeg_sound_min(SOUND_VOLUME)) |
188 | global_settings.volume = 0; | 188 | global_settings.volume = mpeg_sound_min(SOUND_VOLUME); |
189 | mpeg_volume(global_settings.volume); | 189 | mpeg_sound_set(SOUND_VOLUME, global_settings.volume); |
190 | break; | 190 | break; |
191 | #endif | 191 | #endif |
192 | 192 | ||