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
This commit is contained in:
Jonathan Gordon 2006-12-22 05:19:56 +00:00
parent 26b02415cb
commit 7258b5e51a
8 changed files with 33 additions and 21 deletions

View File

@ -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-<target>.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,

View File

@ -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())

View File

@ -69,6 +69,7 @@
#define HAVE_WM8975
#define AB_REPEAT_ENABLE 1
#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
/* Define this for LCD backlight available */
#define CONFIG_BACKLIGHT BL_IPOD4G /* port controlled */

View File

@ -60,6 +60,7 @@
#define HAVE_WM8975
#define AB_REPEAT_ENABLE 1
#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
/* Define this for LCD backlight available */
#define CONFIG_BACKLIGHT BL_IPOD4G /* port controlled */

View File

@ -63,6 +63,7 @@
#define HAVE_WM8721 /* actually WM8731 but no recording */
#define AB_REPEAT_ENABLE 1
#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
/* Define this for LCD backlight available */
#define CONFIG_BACKLIGHT BL_IPODMINI /* port controlled */

View File

@ -63,6 +63,7 @@
#define HAVE_WM8721 /* actually WM8731 but no recording */
#define AB_REPEAT_ENABLE 1
#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
/* Define this for LCD backlight available */
#define CONFIG_BACKLIGHT BL_IPODMINI /* port controlled */

View File

@ -60,6 +60,7 @@
#define HAVE_WM8975
#define AB_REPEAT_ENABLE 1
#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
/* Define this for LCD backlight available */
#define CONFIG_BACKLIGHT BL_IPODNANO /* port controlled */

View File

@ -60,6 +60,7 @@
#define HAVE_WM8758
#define AB_REPEAT_ENABLE 1
#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
/* Define this for LCD backlight available */
#define CONFIG_BACKLIGHT BL_IPODNANO /* port controlled */