From 7258b5e51a78e4d990bf1225c5893dc4b78d78b7 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Fri, 22 Dec 2006 05:19:56 +0000 Subject: Make AB mode uable on the ipods. In AB mode select is used to set/reset the markers in he WPS. AB mode must be disblaed ot get into the browser. This can allow the Ondio's to have AB mode but it makes rombox too large. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11832 a1c6a512-1295-4272-9138-f99709370657 --- apps/action.h | 6 +++++- apps/gui/gwps.c | 42 ++++++++++++++++++++++-------------------- 2 files changed, 27 insertions(+), 21 deletions(-) (limited to 'apps') diff --git a/apps/action.h b/apps/action.h index b0725ddb41..5a8168ea80 100644 --- a/apps/action.h +++ b/apps/action.h @@ -111,7 +111,11 @@ enum { ACTION_WPS_CONTEXT, ACTION_WPS_QUICKSCREEN,/* optional */ ACTION_WPS_MENU, /*this should be the same as ACTION_STD_MENU */ - ACTION_WPSAB_SINGLE, /* No targets use this, but leave n just-in-case! */ +#if 0 + ACTION_WPSAB_SINGLE, /* This needs to be #defined in + the config-.h to one of the ACTION_WPS_ actions + so it can be used */ +#endif ACTION_WPS_ABSETA_PREVDIR, /* these should be safe to put together seen as */ ACTION_WPS_ABSETB_NEXTDIR, /* you shouldnt want to change dir in ab-mode */ ACTION_WPSAB_RESET, diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index ec9a5351ea..7128a958f7 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c @@ -208,7 +208,28 @@ long gui_wps_show(void) from F1 */ if (!audio_status()) exit = true; - +#ifdef ACTION_WPSAB_SINGLE + if (!global_settings.party_mode && ab_repeat_mode_enabled()) + { + static int wps_ab_state = 0; + if (button == ACTION_WPSAB_SINGLE) + { + switch (wps_ab_state) + { + case 0: /* set the A spot */ + button = ACTION_WPS_ABSETA_PREVDIR; + break; + case 1: /* set the B spot */ + button = ACTION_WPS_ABSETB_NEXTDIR; + break; + case 2: + button = ACTION_WPSAB_RESET; + break; + } + wps_ab_state = (wps_ab_state+1) % 3; + } + } +#endif switch(button) { case ACTION_WPS_CONTEXT: @@ -507,25 +528,6 @@ long gui_wps_show(void) #endif /* HAVE_PITCHSCREEN */ #ifdef AB_REPEAT_ENABLE - case ACTION_WPSAB_SINGLE: -/* If we are using the menu option to enable ab_repeat mode, don't do anything - * when it's disabled */ -#if (AB_REPEAT_ENABLE == 1) - if (!ab_repeat_mode_enabled()) - break; -#endif - if (ab_A_marker_set()) { - update_track = true; - if (ab_B_marker_set()) { - ab_reset_markers(); - break; - } - ab_set_B_marker(wps_state.id3->elapsed); - ab_jump_to_A_marker(); - break; - } - ab_set_A_marker(wps_state.id3->elapsed); - break; /* reset A&B markers */ case ACTION_WPSAB_RESET: if (ab_repeat_mode_enabled()) -- cgit v1.2.3