diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2004-10-22 00:22:07 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2004-10-22 00:22:07 +0000 |
| commit | 2afdf95401e243373050b9bda554e8f216664fd0 (patch) | |
| tree | a0ce4423108d03d7c556ded59604dbb6cdf54de2 /apps/plugins/vu_meter.c | |
| parent | 3a931c113f88009ba8b468f11bd6ebe3d02a4b70 (diff) | |
| download | rockbox-2afdf95401e243373050b9bda554e8f216664fd0.zip rockbox-2afdf95401e243373050b9bda554e8f216664fd0.tar.gz rockbox-2afdf95401e243373050b9bda554e8f216664fd0.tar.bz2 rockbox-2afdf95401e243373050b9bda554e8f216664fd0.tar.xz | |
Plugin rework 5: (all) Now using the default event handler, standard placement is in switch() default case. (splitedit,star,vu_meter) Compile-time keyboard configuration, for Ondio adaption. (splitedit) Timing kludge for MMC. (star) Completed USB support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5321 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/vu_meter.c')
| -rw-r--r-- | apps/plugins/vu_meter.c | 48 |
1 files changed, 43 insertions, 5 deletions
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c index effb479..1cb37e4 100644 --- a/apps/plugins/vu_meter.c +++ b/apps/plugins/vu_meter.c @@ -19,6 +19,25 @@ #ifdef HAVE_LCD_BITMAP +/* variable button definitions */ +#if CONFIG_KEYPAD == RECORDER_PAD +#define VUMETER_QUIT BUTTON_OFF +#define VUMETER_HELP BUTTON_ON +#define VUMETER_MENU BUTTON_F1 +#define VUMETER_MENU_EXIT BUTTON_F1 +#define VUMETER_MENU_EXIT2 BUTTON_OFF + +#elif CONFIG_KEYPAD == ONDIO_PAD +#define VUMETER_QUIT BUTTON_OFF +#define VUMETER_HELP_PRE BUTTON_MENU +#define VUMETER_HELP (BUTTON_MENU | BUTTON_REL) +#define VUMETER_MENU_PRE BUTTON_MENU +#define VUMETER_MENU (BUTTON_MENU | BUTTON_REPEAT) +#define VUMETER_MENU_EXIT BUTTON_MENU +#define VUMETER_MENU_EXIT2 BUTTON_OFF + +#endif + const struct plugin_api* rb; #ifdef SIMULATOR @@ -97,7 +116,11 @@ void load_settings(void) { } else { reset_settings(); +#if CONFIG_KEYPAD == RECORDER_PAD rb->splash(HZ, true, "Press ON for help"); +#elif CONFIG_KEYPAD == ONDIO_PAD + rb->splash(HZ, true, "Press MENU for help"); +#endif } } @@ -195,8 +218,8 @@ void change_settings(void) switch(rb->button_get_w_tmo(1)) { - case BUTTON_F1: - case BUTTON_OFF: + case VUMETER_MENU_EXIT: + case VUMETER_MENU_EXIT2: quit = true; break; @@ -385,6 +408,7 @@ void digital_meter(void) { enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { int button; + int lastbutton = BUTTON_NONE; TEST_PLUGIN_API(api); (void) parameter; @@ -409,21 +433,33 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { button = rb->button_get_w_tmo(1); switch (button) { - case BUTTON_OFF: + case VUMETER_QUIT: save_settings(); return PLUGIN_OK; break; - case BUTTON_ON: + case VUMETER_HELP: +#ifdef VUMETER_HELP_PRE + if (lastbutton != VUMETER_HELP_PRE) + break; +#endif rb->lcd_clear_display(); rb->lcd_puts(0, 0, "OFF: Exit"); +#if CONFIG_KEYPAD == RECORDER_PAD rb->lcd_puts(0, 1, "F1: Settings"); +#elif CONFIG_KEYPAD == ONDIO_PAD + rb->lcd_puts(0, 1, "MENU..: Settings"); +#endif rb->lcd_puts(0, 2, "UP/DOWN: Volume"); rb->lcd_update(); rb->sleep(HZ*3); break; - case BUTTON_F1: + case VUMETER_MENU: +#ifdef VUMETER_MENU_PRE + if (lastbutton != VUMETER_MENU_PRE) + break; +#endif change_settings(); break; @@ -442,6 +478,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { return PLUGIN_USB_CONNECTED; break; } + if (button != BUTTON_NONE) + lastbutton = button; } } #endif /* #ifdef HAVE_LCD_BITMAP */ |