From db856890df7d2680b7cad38c43114dac31315a7e Mon Sep 17 00:00:00 2001 From: Jean-Louis Biasini Date: Thu, 1 Mar 2012 20:34:38 +0100 Subject: test_X plugins PLA integration 1) change all keymaps to PLA 2) add alternative exit keymaps Change-Id: I5cb8b1fcc515d2b6f9934482e72b80767b2c2fb0 Reviewed-on: http://gerrit.rockbox.org/158 Reviewed-by: Thomas Martitz --- apps/plugins/test_codec.c | 44 +++++-------- apps/plugins/test_fps.c | 36 +++-------- apps/plugins/test_grey.c | 108 +++++++------------------------ apps/plugins/test_greylib_bitmap_scale.c | 29 ++++----- apps/plugins/test_scanrate.c | 98 +++++++++------------------- 5 files changed, 91 insertions(+), 224 deletions(-) diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c index 3e13842cfb..6d915d66e4 100644 --- a/apps/plugins/test_codec.c +++ b/apps/plugins/test_codec.c @@ -21,33 +21,14 @@ #include "plugin.h" #include "lib/pluginlib_touchscreen.h" #include "lib/pluginlib_exit.h" +#include "lib/pluginlib_actions.h" + +/* this set the context to use with PLA */ +static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; + +#define TESTCODEC_EXITBUTTON PLA_EXIT +#define TESTCODEC_EXITBUTTON2 PLA_CANCEL -/* All swcodec targets have BUTTON_SELECT apart from the H10 and M3 */ - -#if CONFIG_KEYPAD == IRIVER_H10_PAD -#define TESTCODEC_EXITBUTTON BUTTON_RIGHT -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD -#define TESTCODEC_EXITBUTTON BUTTON_RC_PLAY -#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD -#define TESTCODEC_EXITBUTTON BUTTON_PLAY -#elif CONFIG_KEYPAD == COWON_D2_PAD || CONFIG_KEYPAD == ONDAVX747_PAD \ - || CONFIG_KEYPAD == PHILIPS_HDD6330_PAD -#define TESTCODEC_EXITBUTTON BUTTON_POWER -#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD -#define TESTCODEC_EXITBUTTON BUTTON_REC -#elif CONFIG_KEYPAD == MPIO_HD200_PAD -#define TESTCODEC_EXITBUTTON (BUTTON_REC | BUTTON_PLAY) -#elif CONFIG_KEYPAD == MPIO_HD300_PAD -#define TESTCODEC_EXITBUTTON (BUTTON_REC | BUTTON_REPEAT) -#elif CONFIG_KEYPAD == RK27XX_GENERIC_PAD -#define TESTCODEC_EXITBUTTON (BUTTON_M | BUTTON_REPEAT) -#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD -#define TESTCODEC_EXITBUTTON BUTTON_BACK -#elif defined(HAVE_TOUCHSCREEN) -#define TESTCODEC_EXITBUTTON (BUTTON_BOTTOMMIDDLE|BUTTON_REL) -#else -#define TESTCODEC_EXITBUTTON BUTTON_SELECT -#endif #ifdef HAVE_ADJUSTABLE_CPU_FREQ static unsigned int boost =1; @@ -734,7 +715,9 @@ static enum plugin_status test_track(const char* filename) /* Wait for codec thread to die */ while (codec_playing) { - if (rb->button_get_w_tmo(HZ) == TESTCODEC_EXITBUTTON) + int button = pluginlib_getaction(HZ, plugin_contexts, + ARRAYLEN(plugin_contexts)); + if ((button == TESTCODEC_EXITBUTTON) || (button == TESTCODEC_EXITBUTTON2)) { codec_action = CODEC_ACTION_HALT; break; @@ -848,9 +831,12 @@ void plugin_quit(void) else #endif do { - btn = rb->button_get(true); + btn = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); exit_on_usb(btn); - } while (codec_action != CODEC_ACTION_HALT && btn != TESTCODEC_EXITBUTTON); + } while ((codec_action != CODEC_ACTION_HALT) + && (btn != TESTCODEC_EXITBUTTON) + && (btn != TESTCODEC_EXITBUTTON2)); } /* plugin entry point */ diff --git a/apps/plugins/test_fps.c b/apps/plugins/test_fps.c index d5bfb55907..358ab827f3 100644 --- a/apps/plugins/test_fps.c +++ b/apps/plugins/test_fps.c @@ -23,31 +23,14 @@ #include "lib/grey.h" #include "lib/pluginlib_touchscreen.h" #include "lib/pluginlib_exit.h" +#include "lib/pluginlib_actions.h" -#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ - (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define FPS_QUIT BUTTON_MENU -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD -#define FPS_QUIT BUTTON_RC_REC -#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD -#define FPS_QUIT BUTTON_PLAY -#elif CONFIG_KEYPAD == SANSA_FUZE_PAD -#define FPS_QUIT (BUTTON_HOME|BUTTON_REPEAT) -#elif CONFIG_KEYPAD == MPIO_HD200_PAD -#define FPS_QUIT (BUTTON_REC|BUTTON_PLAY) -#elif CONFIG_KEYPAD == MPIO_HD300_PAD -#define FPS_QUIT (BUTTON_REC|BUTTON_REPEAT) -#elif CONFIG_KEYPAD == RK27XX_GENERIC_PAD -#define FPS_QUIT (BUTTON_M|BUTTON_REPEAT) -#elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD -#define FPS_QUIT BUTTON_BACK -#elif defined(HAVE_TOUCHSCREEN) -#define FPS_QUIT (BUTTON_BOTTOMMIDDLE|BUTTON_REL) -#elif defined(BUTTON_OFF) -#define FPS_QUIT BUTTON_OFF -#else -#define FPS_QUIT BUTTON_POWER -#endif +/* this set the context to use with PLA */ +static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; + + +#define FPS_QUIT PLA_EXIT +#define FPS_QUIT2 PLA_CANCEL #define DURATION (2*HZ) /* longer duration gives more precise results */ @@ -391,9 +374,10 @@ void plugin_quit(void) #endif while (1) { - int btn = rb->button_get(true); + int btn = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); exit_on_usb(btn); - if (btn == FPS_QUIT) + if ((btn == FPS_QUIT) || (btn == FPS_QUIT2)) break; } } diff --git a/apps/plugins/test_grey.c b/apps/plugins/test_grey.c index f4555c1eed..c4179df135 100644 --- a/apps/plugins/test_grey.c +++ b/apps/plugins/test_grey.c @@ -21,87 +21,27 @@ #include "plugin.h" #include "lib/grey.h" #include "lib/helper.h" - - - -#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \ - || (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define GREY_QUIT BUTTON_MENU -#define GREY_OK BUTTON_SELECT -#define GREY_PREV BUTTON_LEFT -#define GREY_NEXT BUTTON_RIGHT -#define GREY_UP BUTTON_SCROLL_FWD -#define GREY_DOWN BUTTON_SCROLL_BACK - -#elif CONFIG_KEYPAD == IRIVER_H100_PAD -#define GREY_QUIT BUTTON_OFF -#define GREY_OK BUTTON_SELECT -#define GREY_PREV BUTTON_LEFT -#define GREY_NEXT BUTTON_RIGHT -#define GREY_UP BUTTON_UP -#define GREY_DOWN BUTTON_DOWN - -#elif CONFIG_KEYPAD == RECORDER_PAD -#define GREY_QUIT BUTTON_OFF -#define GREY_OK BUTTON_PLAY -#define GREY_PREV BUTTON_LEFT -#define GREY_NEXT BUTTON_RIGHT -#define GREY_UP BUTTON_UP -#define GREY_DOWN BUTTON_DOWN - -#elif CONFIG_KEYPAD == ONDIO_PAD -#define GREY_QUIT BUTTON_OFF -#define GREY_OK BUTTON_MENU -#define GREY_PREV BUTTON_LEFT -#define GREY_NEXT BUTTON_RIGHT -#define GREY_UP BUTTON_UP -#define GREY_DOWN BUTTON_DOWN - -#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ - || (CONFIG_KEYPAD == MROBE100_PAD) \ - || (CONFIG_KEYPAD == SANSA_CLIP_PAD) -#define GREY_QUIT BUTTON_POWER -#define GREY_OK BUTTON_SELECT -#define GREY_PREV BUTTON_LEFT -#define GREY_NEXT BUTTON_RIGHT -#define GREY_UP BUTTON_UP -#define GREY_DOWN BUTTON_DOWN - -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD -#define GREY_QUIT BUTTON_RC_REC -#define GREY_OK BUTTON_RC_PLAY -#define GREY_PREV BUTTON_RC_REW -#define GREY_NEXT BUTTON_RC_FF -#define GREY_UP BUTTON_RC_VOL_UP -#define GREY_DOWN BUTTON_RC_VOL_DOWN - -#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD -#define GREY_QUIT BUTTON_REC -#define GREY_OK BUTTON_PLAY -#define GREY_PREV BUTTON_LEFT -#define GREY_NEXT BUTTON_RIGHT -#define GREY_UP BUTTON_UP -#define GREY_DOWN BUTTON_DOWN - -#elif CONFIG_KEYPAD == MPIO_HD200_PAD -#define GREY_QUIT (BUTTON_REC|BUTTON_PLAY) -#define GREY_OK BUTTON_PLAY -#define GREY_PREV BUTTON_REW -#define GREY_NEXT BUTTON_FF -#define GREY_UP BUTTON_VOL_UP -#define GREY_DOWN BUTTON_VOL_DOWN - -#elif CONFIG_KEYPAD == MPIO_HD300_PAD -#define GREY_QUIT (BUTTON_REC|BUTTON_REPEAT) -#define GREY_OK BUTTON_PLAY -#define GREY_PREV BUTTON_REW -#define GREY_NEXT BUTTON_FF -#define GREY_UP BUTTON_UP -#define GREY_DOWN BUTTON_DOWN - +#include "lib/pluginlib_actions.h" + +/* this set the context to use with PLA */ +static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; + +#define GREY_QUIT PLA_EXIT +#define GREY_QUIT2 PLA_CANCEL +#define GREY_OK PLA_SELECT +#define GREY_PREV PLA_LEFT +#define GREY_NEXT PLA_RIGHT +#ifdef HAVE_SCROLLWHEEL +#define GREY_UP PLA_SCROLL_FWD +#define GREY_UP_REPEAT PLA_SCROLL_FWD_REPEAT +#define GREY_DOWN PLA_SCROLL_BACK +#define GREY_DOWN_REPEAT PLA_SCROLL_BACK_REPEAT #else -#error unsupported keypad -#endif +#define GREY_UP PLA_UP +#define GREY_UP_REPEAT PLA_UP_REPEAT +#define GREY_DOWN PLA_DOWN +#define GREY_DOWN_REPEAT PLA_DOWN_REPEAT +#endif /*HAVE_SCROLLWHEEL*/ #define BLOCK_WIDTH (LCD_WIDTH/8) #define BLOCK_HEIGHT (LCD_HEIGHT/8) @@ -207,7 +147,8 @@ enum plugin_status plugin_start(const void* parameter) fill_rastered(1, 1, 2, 2, cur_step - 1); grey_update(); - button = rb->button_get(true); + button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); switch (button) { case GREY_PREV: @@ -221,7 +162,7 @@ enum plugin_status plugin_start(const void* parameter) break; case GREY_UP: - case GREY_UP|BUTTON_REPEAT: + case GREY_UP_REPEAT: l = lcd_levels[cur_step]; if (l < 255) { @@ -233,7 +174,7 @@ enum plugin_status plugin_start(const void* parameter) break; case GREY_DOWN: - case GREY_DOWN|BUTTON_REPEAT: + case GREY_DOWN_REPEAT: l = lcd_levels[cur_step]; if (l > 0) { @@ -273,6 +214,7 @@ enum plugin_status plugin_start(const void* parameter) /* fall through */ case GREY_QUIT: + case GREY_QUIT2: done = true; break; } diff --git a/apps/plugins/test_greylib_bitmap_scale.c b/apps/plugins/test_greylib_bitmap_scale.c index 5d08253997..6362aa766e 100644 --- a/apps/plugins/test_greylib_bitmap_scale.c +++ b/apps/plugins/test_greylib_bitmap_scale.c @@ -22,23 +22,11 @@ #include "plugin.h" #include "lib/grey.h" #include "lib/pluginlib_bmp.h" - -#if (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ - (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define GBS_QUIT BUTTON_MENU -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD -#define GBS_QUIT BUTTON_RC_REC -#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD -#define GBS_QUIT BUTTON_PLAY -#elif CONFIG_KEYPAD == MPIO_HD200_PAD -#define GBS_QUIT (BUTTON_REC|BUTTON_PLAY) -#elif CONFIG_KEYPAD == MPIO_HD300_PAD -#define GBS_QUIT (BUTTON_REC|BUTTON_REPEAT) -#elif defined(BUTTON_OFF) -#define GBS_QUIT BUTTON_OFF -#else -#define GBS_QUIT BUTTON_POWER -#endif +#include "lib/pluginlib_actions.h" +/* this set the context to use with PLA */ +static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; +#define GBS_QUIT PLA_EXIT +#define GBS_QUIT2 PLA_CANCEL #if LCD_DEPTH == 1 #define BMP_LOAD read_bmp_file @@ -63,6 +51,7 @@ enum plugin_status plugin_start(const void* parameter) .data = grey_bm_buf }; int ret, x, y; + int button = 0; if(!parameter) return PLUGIN_ERROR; @@ -92,7 +81,11 @@ enum plugin_status plugin_start(const void* parameter) grey_show(true); /* wait until user closes plugin */ - while (rb->button_get(true) != GBS_QUIT); + while ((button != GBS_QUIT) && (button != GBS_QUIT2)) + { + button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); + } grey_release(); diff --git a/apps/plugins/test_scanrate.c b/apps/plugins/test_scanrate.c index ba9f5330a7..b558e765c3 100644 --- a/apps/plugins/test_scanrate.c +++ b/apps/plugins/test_scanrate.c @@ -20,68 +20,28 @@ ****************************************************************************/ #include "plugin.h" - -#if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == ONDIO_PAD) \ - || (CONFIG_KEYPAD == IRIVER_H100_PAD) -#define SCANRATE_DONE BUTTON_OFF -#define SCANRATE_FASTINC BUTTON_UP -#define SCANRATE_FASTDEC BUTTON_DOWN -#define SCANRATE_INC BUTTON_RIGHT -#define SCANRATE_DEC BUTTON_LEFT - -#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) \ - || (CONFIG_KEYPAD == MROBE100_PAD) \ - || (CONFIG_KEYPAD == SANSA_CLIP_PAD) -#define SCANRATE_DONE BUTTON_POWER -#define SCANRATE_FASTINC BUTTON_UP -#define SCANRATE_FASTDEC BUTTON_DOWN -#define SCANRATE_INC BUTTON_RIGHT -#define SCANRATE_DEC BUTTON_LEFT - -#elif CONFIG_KEYPAD == SANSA_FUZE_PAD -#define SCANRATE_DONE (BUTTON_HOME|BUTTON_REPEAT) -#define SCANRATE_FASTINC BUTTON_UP -#define SCANRATE_FASTDEC BUTTON_DOWN -#define SCANRATE_INC BUTTON_RIGHT -#define SCANRATE_DEC BUTTON_LEFT - -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD -#define SCANRATE_DONE BUTTON_RC_REC -#define SCANRATE_FASTINC BUTTON_RC_VOL_UP -#define SCANRATE_FASTDEC BUTTON_RC_VOL_DOWN -#define SCANRATE_INC BUTTON_RC_FF -#define SCANRATE_DEC BUTTON_RC_REW - -#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \ - || (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define SCANRATE_DONE BUTTON_MENU -#define SCANRATE_FASTINC BUTTON_SCROLL_FWD -#define SCANRATE_FASTDEC BUTTON_SCROLL_BACK -#define SCANRATE_INC BUTTON_RIGHT -#define SCANRATE_DEC BUTTON_LEFT - -#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD -#define SCANRATE_DONE BUTTON_PLAY -#define SCANRATE_FASTINC BUTTON_FFWD -#define SCANRATE_FASTDEC BUTTON_REW -#define SCANRATE_INC BUTTON_UP -#define SCANRATE_DEC BUTTON_DOWN - -#elif CONFIG_KEYPAD == MPIO_HD200_PAD -#define SCANRATE_DONE BUTTON_PLAY -#define SCANRATE_FASTINC BUTTON_FF -#define SCANRATE_FASTDEC BUTTON_REW -#define SCANRATE_INC BUTTON_VOL_UP -#define SCANRATE_DEC BUTTON_VOL_DOWN - -#elif CONFIG_KEYPAD == MPIO_HD300_PAD -#define SCANRATE_DONE BUTTON_PLAY -#define SCANRATE_FASTINC BUTTON_UP -#define SCANRATE_FASTDEC BUTTON_DOWN -#define SCANRATE_INC BUTTON_FF -#define SCANRATE_DEC BUTTON_REW - -#endif +#include "lib/pluginlib_actions.h" + +/* this set the context to use with PLA */ +static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; +#define SCANRATE_QUIT PLA_EXIT +#define SCANRATE_QUIT2 PLA_CANCEL +#define SCANRATE_FASTINC PLA_UP +#define SCANRATE_FASTINC_REPEAT PLA_UP_REPEAT +#define SCANRATE_FASTDEC PLA_DOWN +#define SCANRATE_FASTDEC_REPEAT PLA_DOWN_REPEAT + +#ifdef HAVE_SCROLLWHEEL +#define SCANRATE_INC PLA_SCROLL_FWD +#define SCANRATE_INC_REPEAT PLA_SCROLL_FWD_REPEAT +#define SCANRATE_DEC PLA_SCROLL_BACK +#define SCANRATE_DEC_REPEAT PLA_SCROLL_BACK_REPEAT +#else +#define SCANRATE_INC PLA_RIGHT +#define SCANRATE_INC_REPEAT PLA_RIGHT_REPEAT +#define SCANRATE_DEC PLA_LEFT +#define SCANRATE_DEC_REPEAT PLA_LEFT_REPEAT +#endif /*HAVE_SCROLLWHEEL*/ /* Default refresh rates in 1/10 Hz */ #if defined ARCHOS_RECORDER || defined ARCHOS_FMRECORDER \ @@ -199,34 +159,36 @@ int plugin_main(void) need_refresh = true; change = false; } - button = rb->button_get(true); + button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, + ARRAYLEN(plugin_contexts)); switch (button) { case SCANRATE_FASTINC: - case SCANRATE_FASTINC|BUTTON_REPEAT: + case SCANRATE_FASTINC_REPEAT: scan_rate += 10; change = true; break; case SCANRATE_FASTDEC: - case SCANRATE_FASTDEC|BUTTON_REPEAT: + case SCANRATE_FASTDEC_REPEAT: scan_rate -= 10; change = true; break; case SCANRATE_INC: - case SCANRATE_INC|BUTTON_REPEAT: + case SCANRATE_INC_REPEAT: scan_rate++; change = true; break; case SCANRATE_DEC: - case SCANRATE_DEC|BUTTON_REPEAT: + case SCANRATE_DEC_REPEAT: scan_rate--; change = true; break; - case SCANRATE_DONE: + case SCANRATE_QUIT: + case SCANRATE_QUIT2: done = true; break; } -- cgit v1.2.3