summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-06-28 11:48:53 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-06-28 11:48:53 +0000
commit667fb7c6e94060294dd1a9f95934b841f7df9f71 (patch)
treef261846271d84633598e03afe8f68c5b73b396af /apps
parentb983d1b4a1126356462863364c9cc8d3f9471a03 (diff)
downloadrockbox-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.h6
-rw-r--r--apps/sound_menu.c66
-rw-r--r--apps/wps.c16
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
28void 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
26static void volume(void) 86static 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
31static void bass(void) 91static 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
36static void treble(void) 96static 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
41void sound_menu(void) 101void 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