summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorJean-Louis Biasini <jlbiasini@gmail.com>2012-03-01 20:34:38 +0100
committerThomas Martitz <kugel@rockbox.org>2012-03-03 19:55:51 +0100
commitdb856890df7d2680b7cad38c43114dac31315a7e (patch)
tree184c5685466eaa753ed03fb02389b1fc0828c541 /apps/plugins
parent83b4d70af5831254eb3f73ca912ac46e359245eb (diff)
downloadrockbox-db856890df7d2680b7cad38c43114dac31315a7e.zip
rockbox-db856890df7d2680b7cad38c43114dac31315a7e.tar.gz
rockbox-db856890df7d2680b7cad38c43114dac31315a7e.tar.bz2
rockbox-db856890df7d2680b7cad38c43114dac31315a7e.tar.xz
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 <kugel@rockbox.org>
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/test_codec.c44
-rw-r--r--apps/plugins/test_fps.c36
-rw-r--r--apps/plugins/test_grey.c108
-rw-r--r--apps/plugins/test_greylib_bitmap_scale.c29
-rw-r--r--apps/plugins/test_scanrate.c98
5 files changed, 91 insertions, 224 deletions
diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c
index 3e13842..6d915d6 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 d5bfb55..358ab82 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 f4555c1..c4179df 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 5d08253..6362aa7 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 ba9f533..b558e76 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;
}