diff options
-rw-r--r-- | apps/wps.c | 161 |
1 files changed, 77 insertions, 84 deletions
diff --git a/apps/wps.c b/apps/wps.c index b95931337a..e7231f1438 100644 --- a/apps/wps.c +++ b/apps/wps.c | |||
@@ -61,26 +61,15 @@ static struct mp3entry* id3 = NULL; | |||
61 | static int old_release_mask; | 61 | static int old_release_mask; |
62 | 62 | ||
63 | #ifdef HAVE_PLAYER_KEYPAD | 63 | #ifdef HAVE_PLAYER_KEYPAD |
64 | void player_change_volume(void) | 64 | void player_change_volume(int button) |
65 | { | 65 | { |
66 | int button; | 66 | bool exit = false; |
67 | bool fun_done = false; | ||
68 | char buffer[32]; | 67 | char buffer[32]; |
69 | 68 | ||
70 | lcd_stop_scroll(); | 69 | lcd_stop_scroll(); |
71 | while(!fun_done) | 70 | while (!exit) |
72 | { | 71 | { |
73 | snprintf(buffer,sizeof(buffer),"Vol: %d %% ", global_settings.volume * 2); | 72 | switch (button) |
74 | |||
75 | #ifdef HAVE_LCD_CHARCELLS | ||
76 | lcd_puts(0, 0, buffer); | ||
77 | #else | ||
78 | lcd_puts(2, 3, buffer); | ||
79 | lcd_update(); | ||
80 | #endif | ||
81 | |||
82 | button = button_get(false); | ||
83 | switch(button) | ||
84 | { | 73 | { |
85 | case BUTTON_MENU | BUTTON_RIGHT: | 74 | case BUTTON_MENU | BUTTON_RIGHT: |
86 | case BUTTON_MENU | BUTTON_RIGHT | BUTTON_REPEAT: | 75 | case BUTTON_MENU | BUTTON_RIGHT | BUTTON_REPEAT: |
@@ -91,6 +80,7 @@ void player_change_volume(void) | |||
91 | wps_refresh(id3,0,false); | 80 | wps_refresh(id3,0,false); |
92 | settings_save(); | 81 | settings_save(); |
93 | break; | 82 | break; |
83 | |||
94 | case BUTTON_MENU | BUTTON_LEFT: | 84 | case BUTTON_MENU | BUTTON_LEFT: |
95 | case BUTTON_MENU | BUTTON_LEFT | BUTTON_REPEAT: | 85 | case BUTTON_MENU | BUTTON_LEFT | BUTTON_REPEAT: |
96 | global_settings.volume--; | 86 | global_settings.volume--; |
@@ -100,11 +90,23 @@ void player_change_volume(void) | |||
100 | wps_refresh(id3,0,false); | 90 | wps_refresh(id3,0,false); |
101 | settings_save(); | 91 | settings_save(); |
102 | break; | 92 | break; |
93 | |||
103 | case BUTTON_MENU | BUTTON_REL: | 94 | case BUTTON_MENU | BUTTON_REL: |
104 | fun_done = true; | 95 | exit = true; |
105 | break; | 96 | break; |
106 | } | 97 | } |
107 | yield(); | 98 | |
99 | snprintf(buffer,sizeof(buffer),"Vol: %d %% ", | ||
100 | global_settings.volume * 2); | ||
101 | |||
102 | #ifdef HAVE_LCD_CHARCELLS | ||
103 | lcd_puts(0, 0, buffer); | ||
104 | #else | ||
105 | lcd_puts(2, 3, buffer); | ||
106 | lcd_update(); | ||
107 | #endif | ||
108 | if (!exit) | ||
109 | button = button_get(true); | ||
108 | } | 110 | } |
109 | status_draw(); | 111 | status_draw(); |
110 | wps_refresh(id3,0,true); | 112 | wps_refresh(id3,0,true); |
@@ -142,12 +144,12 @@ void display_mute_text(bool muted) | |||
142 | lcd_clear_display(); | 144 | lcd_clear_display(); |
143 | 145 | ||
144 | #ifdef HAVE_LCD_CHARCELLS | 146 | #ifdef HAVE_LCD_CHARCELLS |
145 | if(muted) | 147 | if (muted) |
146 | lcd_puts(0, 0, "Mute ON"); | 148 | lcd_puts(0, 0, "Mute ON"); |
147 | else | 149 | else |
148 | lcd_puts(0, 0, "Mute OFF"); | 150 | lcd_puts(0, 0, "Mute OFF"); |
149 | #else | 151 | #else |
150 | if(muted) | 152 | if (muted) |
151 | { | 153 | { |
152 | lcd_puts(2, 3, "Mute is ON"); | 154 | lcd_puts(2, 3, "Mute is ON"); |
153 | } | 155 | } |
@@ -191,23 +193,72 @@ int player_id3_show(void) | |||
191 | int button; | 193 | int button; |
192 | int menu_pos = 0; | 194 | int menu_pos = 0; |
193 | int menu_max = 6; | 195 | int menu_max = 6; |
194 | bool menu_changed = true; | 196 | bool exit = false; |
195 | char scroll_text[MAX_PATH]; | 197 | char scroll_text[MAX_PATH]; |
196 | 198 | ||
197 | lcd_stop_scroll(); | 199 | lcd_stop_scroll(); |
198 | lcd_clear_display(); | 200 | lcd_clear_display(); |
199 | lcd_puts(0, 0, "-ID3 Info- "); | 201 | lcd_puts(0, 0, "-ID3 Info- "); |
200 | lcd_puts(0, 1, "--Screen-- "); | 202 | lcd_puts(0, 1, "--Screen-- "); |
201 | sleep(HZ*1.5); | 203 | sleep(HZ); |
202 | 204 | ||
203 | while(1) | 205 | while (!exit) |
204 | { | 206 | { |
205 | button = button_get(false); | 207 | lcd_stop_scroll(); |
208 | lcd_clear_display(); | ||
209 | |||
210 | switch (menu_pos) | ||
211 | { | ||
212 | case 0: | ||
213 | lcd_puts(0, 0, "[Title]"); | ||
214 | lcd_puts_scroll(0, 1, id3->title ? id3->title : "<no title>"); | ||
215 | break; | ||
216 | |||
217 | case 1: | ||
218 | lcd_puts(0, 0, "[Artist]"); | ||
219 | lcd_puts_scroll(0, 1, | ||
220 | id3->artist ? id3->artist : "<no artist>"); | ||
221 | break; | ||
222 | |||
223 | case 2: | ||
224 | lcd_puts(0, 0, "[Album]"); | ||
225 | lcd_puts_scroll(0, 1, id3->album ? id3->album : "<no album>"); | ||
226 | break; | ||
227 | |||
228 | case 3: | ||
229 | lcd_puts(0, 0, "[Length]"); | ||
230 | snprintf(scroll_text,sizeof(scroll_text), "%d:%02d", | ||
231 | id3->length / 60000, | ||
232 | id3->length % 60000 / 1000 ); | ||
233 | lcd_puts(0, 1, scroll_text); | ||
234 | break; | ||
235 | |||
236 | case 4: | ||
237 | lcd_puts(0, 0, "[Bitrate]"); | ||
238 | snprintf(scroll_text,sizeof(scroll_text), "%d kbps", | ||
239 | id3->bitrate); | ||
240 | lcd_puts(0, 1, scroll_text); | ||
241 | break; | ||
242 | |||
243 | case 5: | ||
244 | lcd_puts(0, 0, "[Frequency]"); | ||
245 | snprintf(scroll_text,sizeof(scroll_text), "%d kHz", | ||
246 | id3->frequency); | ||
247 | lcd_puts(0, 1, scroll_text); | ||
248 | break; | ||
249 | |||
250 | case 6: | ||
251 | lcd_puts(0, 0, "[Path]"); | ||
252 | lcd_puts_scroll(0, 1, id3->path); | ||
253 | break; | ||
254 | } | ||
255 | lcd_update(); | ||
256 | |||
257 | button = button_get(true); | ||
206 | 258 | ||
207 | switch(button) | 259 | switch(button) |
208 | { | 260 | { |
209 | case BUTTON_LEFT: | 261 | case BUTTON_LEFT: |
210 | menu_changed = true; | ||
211 | if (menu_pos > 0) | 262 | if (menu_pos > 0) |
212 | menu_pos--; | 263 | menu_pos--; |
213 | else | 264 | else |
@@ -215,7 +266,6 @@ int player_id3_show(void) | |||
215 | break; | 266 | break; |
216 | 267 | ||
217 | case BUTTON_RIGHT: | 268 | case BUTTON_RIGHT: |
218 | menu_changed = true; | ||
219 | if (menu_pos < menu_max) | 269 | if (menu_pos < menu_max) |
220 | menu_pos++; | 270 | menu_pos++; |
221 | else | 271 | else |
@@ -229,7 +279,7 @@ int player_id3_show(void) | |||
229 | case BUTTON_PLAY: | 279 | case BUTTON_PLAY: |
230 | lcd_stop_scroll(); | 280 | lcd_stop_scroll(); |
231 | wps_display(id3); | 281 | wps_display(id3); |
232 | return(0); | 282 | exit = true; |
233 | break; | 283 | break; |
234 | 284 | ||
235 | #ifndef SIMULATOR | 285 | #ifndef SIMULATOR |
@@ -238,59 +288,7 @@ int player_id3_show(void) | |||
238 | return SYS_USB_CONNECTED; | 288 | return SYS_USB_CONNECTED; |
239 | break; | 289 | break; |
240 | #endif | 290 | #endif |
241 | |||
242 | } | 291 | } |
243 | |||
244 | switch(menu_pos) | ||
245 | { | ||
246 | case 0: | ||
247 | lcd_puts(0, 0, "[Title]"); | ||
248 | snprintf(scroll_text,sizeof(scroll_text), "%s", | ||
249 | id3->title?id3->title:"<no title>"); | ||
250 | break; | ||
251 | case 1: | ||
252 | lcd_puts(0, 0, "[Artist]"); | ||
253 | snprintf(scroll_text,sizeof(scroll_text), "%s", | ||
254 | id3->artist?id3->artist:"<no artist>"); | ||
255 | break; | ||
256 | case 2: | ||
257 | lcd_puts(0, 0, "[Album]"); | ||
258 | snprintf(scroll_text,sizeof(scroll_text), "%s", | ||
259 | id3->album?id3->album:"<no album>"); | ||
260 | break; | ||
261 | case 3: | ||
262 | lcd_puts(0, 0, "[Length]"); | ||
263 | snprintf(scroll_text,sizeof(scroll_text), "%d:%02d", | ||
264 | id3->length / 60000, | ||
265 | id3->length % 60000 / 1000 ); | ||
266 | break; | ||
267 | case 4: | ||
268 | lcd_puts(0, 0, "[Bitrate]"); | ||
269 | snprintf(scroll_text,sizeof(scroll_text), "%d kbps", | ||
270 | id3->bitrate); | ||
271 | break; | ||
272 | case 5: | ||
273 | lcd_puts(0, 0, "[Frequency]"); | ||
274 | snprintf(scroll_text,sizeof(scroll_text), "%d kHz", | ||
275 | id3->frequency); | ||
276 | break; | ||
277 | case 6: | ||
278 | lcd_puts(0, 0, "[Path]"); | ||
279 | snprintf(scroll_text,sizeof(scroll_text), "%s", | ||
280 | id3->path); | ||
281 | break; | ||
282 | } | ||
283 | |||
284 | if (menu_changed == true) | ||
285 | { | ||
286 | menu_changed = false; | ||
287 | lcd_stop_scroll(); | ||
288 | lcd_clear_display(); | ||
289 | lcd_puts_scroll(0, 1, scroll_text); | ||
290 | } | ||
291 | |||
292 | lcd_update(); | ||
293 | yield(); | ||
294 | } | 292 | } |
295 | return 0; | 293 | return 0; |
296 | } | 294 | } |
@@ -603,14 +601,9 @@ static bool menu(void) | |||
603 | /* change volume */ | 601 | /* change volume */ |
604 | case BUTTON_MENU | BUTTON_LEFT: | 602 | case BUTTON_MENU | BUTTON_LEFT: |
605 | case BUTTON_MENU | BUTTON_LEFT | BUTTON_REPEAT: | 603 | case BUTTON_MENU | BUTTON_LEFT | BUTTON_REPEAT: |
606 | player_change_volume(); | ||
607 | exit = true; | ||
608 | break; | ||
609 | |||
610 | /* change volume */ | ||
611 | case BUTTON_MENU | BUTTON_RIGHT: | 604 | case BUTTON_MENU | BUTTON_RIGHT: |
612 | case BUTTON_MENU | BUTTON_RIGHT | BUTTON_REPEAT: | 605 | case BUTTON_MENU | BUTTON_RIGHT | BUTTON_REPEAT: |
613 | player_change_volume(); | 606 | player_change_volume(button); |
614 | exit = true; | 607 | exit = true; |
615 | break; | 608 | break; |
616 | 609 | ||