Index: apps/plugins/stopwatch.c =================================================================== --- apps/plugins/stopwatch.c (revision 15086) +++ apps/plugins/stopwatch.c (working copy) @@ -34,87 +34,127 @@ #if CONFIG_KEYPAD == RECORDER_PAD #define STOPWATCH_QUIT BUTTON_OFF #define STOPWATCH_START_STOP BUTTON_PLAY -#define STOPWATCH_RESET_TIMER BUTTON_LEFT +#define STOPWATCH_RESET_TIMER BUTTON_F1 #define STOPWATCH_LAP_TIMER BUTTON_ON -#define STOPWATCH_SCROLL_UP BUTTON_UP -#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_UP +#define STOPWATCH_VOLDOWN BUTTON_DOWN + #elif CONFIG_KEYPAD == ARCHOS_AV300_PAD #define STOPWATCH_QUIT BUTTON_OFF #define STOPWATCH_START_STOP BUTTON_SELECT -#define STOPWATCH_RESET_TIMER BUTTON_LEFT +#define STOPWATCH_RESET_TIMER BUTTON_F1 #define STOPWATCH_LAP_TIMER BUTTON_ON -#define STOPWATCH_SCROLL_UP BUTTON_UP -#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_UP +#define STOPWATCH_VOLDOWN BUTTON_DOWN + #elif CONFIG_KEYPAD == ONDIO_PAD -#define STOPWATCH_QUIT BUTTON_OFF -#define STOPWATCH_START_STOP BUTTON_RIGHT -#define STOPWATCH_RESET_TIMER BUTTON_LEFT +#define STOPWATCH_QUIT BUTTON_OFF|BUTTON_REPEAT +#define STOPWATCH_START_STOP BUTTON_OFF +#define STOPWATCH_RESET_TIMER BUTTON_MENU|BUTTON_REPEAT #define STOPWATCH_LAP_TIMER BUTTON_MENU -#define STOPWATCH_SCROLL_UP BUTTON_UP -#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_UP +#define STOPWATCH_VOLDOWN BUTTON_DOWN + #elif CONFIG_KEYPAD == PLAYER_PAD #define STOPWATCH_QUIT BUTTON_MENU -#define STOPWATCH_START_STOP BUTTON_PLAY -#define STOPWATCH_RESET_TIMER BUTTON_STOP +#define STOPWATCH_START_STOP BUTTON_PLAY|BUTTON_REL +#define STOPWATCH_RESET_TIMER BUTTON_ON|BUTTON_REPEAT #define STOPWATCH_LAP_TIMER BUTTON_ON -#define STOPWATCH_SCROLL_UP BUTTON_RIGHT -#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_PLAY|BUTTON_RIGHT +#define STOPWATCH_VOLDOWN BUTTON_PLAY|BUTTON_LEFT + #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ (CONFIG_KEYPAD == IRIVER_H300_PAD) #define STOPWATCH_QUIT BUTTON_OFF #define STOPWATCH_START_STOP BUTTON_SELECT -#define STOPWATCH_RESET_TIMER BUTTON_DOWN +#define STOPWATCH_RESET_TIMER BUTTON_REC #define STOPWATCH_LAP_TIMER BUTTON_ON -#define STOPWATCH_SCROLL_UP BUTTON_RIGHT -#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_UP +#define STOPWATCH_VOLDOWN BUTTON_DOWN #define STOPWATCH_RC_QUIT BUTTON_RC_STOP #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_1G2G_PAD) -#define STOPWATCH_QUIT BUTTON_MENU +#define STOPWATCH_QUIT BUTTON_MENU|BUTTON_SELECT #define STOPWATCH_START_STOP BUTTON_SELECT -#define STOPWATCH_RESET_TIMER BUTTON_LEFT -#define STOPWATCH_LAP_TIMER BUTTON_RIGHT -#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD -#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK +#define STOPWATCH_RESET_TIMER BUTTON_MENU|BUTTON_REL +#define STOPWATCH_LAP_TIMER BUTTON_MENU +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_SCROLL_FWD +#define STOPWATCH_VOLDOWN BUTTON_SCROLL_BACK + #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD #define STOPWATCH_QUIT BUTTON_PLAY #define STOPWATCH_START_STOP BUTTON_MODE #define STOPWATCH_RESET_TIMER BUTTON_EQ #define STOPWATCH_LAP_TIMER BUTTON_SELECT -#define STOPWATCH_SCROLL_UP BUTTON_UP -#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_UP +#define STOPWATCH_VOLDOWN BUTTON_DOWN + #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD #define STOPWATCH_QUIT BUTTON_POWER #define STOPWATCH_START_STOP BUTTON_PLAY #define STOPWATCH_RESET_TIMER BUTTON_REC #define STOPWATCH_LAP_TIMER BUTTON_SELECT -#define STOPWATCH_SCROLL_UP BUTTON_UP -#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_UP +#define STOPWATCH_VOLDOWN BUTTON_DOWN + #elif CONFIG_KEYPAD == GIGABEAT_PAD #define STOPWATCH_QUIT BUTTON_POWER #define STOPWATCH_START_STOP BUTTON_SELECT #define STOPWATCH_RESET_TIMER BUTTON_A #define STOPWATCH_LAP_TIMER BUTTON_MENU +#define STOPWATCH_SCROLL_UP BUTTON_LEFT +#define STOPWATCH_SCROLL_DOWN BUTTON_RIGHT +#define STOPWATCH_VOLUP BUTTON_UP +#define STOPWATCH_VOLDOWN BUTTON_DOWN + +#elif CONFIG_KEYPAD == SANSA_E200_PAD +#define STOPWATCH_QUIT BUTTON_POWER +#define STOPWATCH_START_STOP BUTTON_RIGHT +#define STOPWATCH_RESET_TIMER BUTTON_LEFT +#define STOPWATCH_LAP_TIMER BUTTON_SELECT #define STOPWATCH_SCROLL_UP BUTTON_UP #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN -#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ -(CONFIG_KEYPAD == SANSA_C200_PAD) +#define STOPWATCH_VOLUP BUTTON_SCROLL_DOWN +#define STOPWATCH_VOLDOWN BUTTON_SCROLL_UP + +#elif CONFIG_KEYPAD == SANSA_C200_PAD #define STOPWATCH_QUIT BUTTON_POWER #define STOPWATCH_START_STOP BUTTON_RIGHT #define STOPWATCH_RESET_TIMER BUTTON_LEFT #define STOPWATCH_LAP_TIMER BUTTON_SELECT #define STOPWATCH_SCROLL_UP BUTTON_UP #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN +#define STOPWATCH_VOLUP BUTTON_VOL_UP +#define STOPWATCH_VOLDOWN BUTTON_VOL_DOWN + #elif CONFIG_KEYPAD == IRIVER_H10_PAD #define STOPWATCH_QUIT BUTTON_POWER #define STOPWATCH_START_STOP BUTTON_PLAY -#define STOPWATCH_RESET_TIMER BUTTON_REW -#define STOPWATCH_LAP_TIMER BUTTON_FF -#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_UP -#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_DOWN +#define STOPWATCH_RESET_TIMER BUTTON_LEFT +#define STOPWATCH_LAP_TIMER BUTTON_RIGHT +#define STOPWATCH_SCROLL_UP BUTTON_REW +#define STOPWATCH_SCROLL_DOWN BUTTON_FF +#define STOPWATCH_VOLUP BUTTON_SCROLL_UP +#define STOPWATCH_VOLDOWN BUTTON_SCROLL_DOWN #endif static struct plugin_api* rb; @@ -182,6 +222,7 @@ int done = false; bool update_lap = true; int lines; + int vol; (void)parameter; rb = api; @@ -306,6 +347,28 @@ } break; + case STOPWATCH_VOLUP: + case STOPWATCH_VOLUP | BUTTON_REPEAT: + vol = rb->global_settings->volume; + if (vol < rb->sound_max(SOUND_VOLUME)) + { + vol++; + rb->sound_set(SOUND_VOLUME, vol); + rb->global_settings->volume = vol; + } + break; + + case STOPWATCH_VOLDOWN: + case STOPWATCH_VOLDOWN | BUTTON_REPEAT: + vol = rb->global_settings->volume; + if (vol > rb->sound_min(SOUND_VOLUME)) + { + vol--; + rb->sound_set(SOUND_VOLUME, vol); + rb->global_settings->volume = vol; + } + break; + default: if (rb->default_event_handler(button) == SYS_USB_CONNECTED) return PLUGIN_USB_CONNECTED;