wps.c cleanup gui_show_wps
remove some old cruft move a few things around clean-up flow Change-Id: I138c6cd9e2d58ef526eb686333da413819df725d
This commit is contained in:
parent
eaf717744d
commit
6b87bfadff
17 changed files with 249 additions and 238 deletions
|
@ -1122,7 +1122,7 @@ int bookmark_load_menu(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1143,7 +1143,7 @@ bool bookmark_mrb_load()
|
||||||
ret = play_bookmark(bookmark);
|
ret = play_bookmark(bookmark);
|
||||||
}
|
}
|
||||||
|
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -574,7 +574,7 @@ bool option_screen(const struct settings_list *setting,
|
||||||
if (function == sound_get_fn(SOUND_VOLUME))
|
if (function == sound_get_fn(SOUND_VOLUME))
|
||||||
global_status.last_volume_change = current_tick;
|
global_status.last_volume_change = current_tick;
|
||||||
}
|
}
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -410,9 +410,9 @@ static int gui_syncquickscreen_run(struct gui_quickscreen * qs, int button_enter
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret & QUICKSCREEN_GOTO_SHORTCUTS_MENU) /* Eliminate flashing of parent during */
|
if (ret & QUICKSCREEN_GOTO_SHORTCUTS_MENU) /* Eliminate flashing of parent during */
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED); /* transition to Shortcuts */
|
pop_current_activity_without_refresh(); /* transition to Shortcuts */
|
||||||
else
|
else
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -315,5 +315,5 @@ void gui_usb_screen_run(bool early_usb)
|
||||||
viewportmanager_theme_undo(i, false);
|
viewportmanager_theme_undo(i, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
}
|
}
|
||||||
|
|
354
apps/gui/wps.c
354
apps/gui/wps.c
|
@ -65,9 +65,6 @@
|
||||||
#include "skin_engine/wps_internals.h"
|
#include "skin_engine/wps_internals.h"
|
||||||
#include "open_plugin.h"
|
#include "open_plugin.h"
|
||||||
|
|
||||||
#define RESTORE_WPS_INSTANTLY 0l
|
|
||||||
#define RESTORE_WPS_NEXT_SECOND ((long)(HZ+current_tick))
|
|
||||||
|
|
||||||
#define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */
|
#define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */
|
||||||
/* 3% of 30min file == 54s step size */
|
/* 3% of 30min file == 54s step size */
|
||||||
#define MIN_FF_REWIND_STEP 500
|
#define MIN_FF_REWIND_STEP 500
|
||||||
|
@ -148,14 +145,6 @@ void unpause_action(bool updatewps)
|
||||||
update_non_static();
|
update_non_static();
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool update_onvol_change(enum screen_type screen)
|
|
||||||
{
|
|
||||||
skin_update(WPS, screen, SKIN_REFRESH_NON_STATIC);
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_TOUCHSCREEN
|
#ifdef HAVE_TOUCHSCREEN
|
||||||
static int skintouch_to_wps(void)
|
static int skintouch_to_wps(void)
|
||||||
{
|
{
|
||||||
|
@ -340,9 +329,9 @@ static bool ffwd_rew(int button, bool seek_from_end)
|
||||||
return usb;
|
return usb;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_BACKLIGHT) || defined(HAVE_REMOTE_LCD)
|
|
||||||
static void gwps_caption_backlight(struct wps_state *state)
|
static void gwps_caption_backlight(struct wps_state *state)
|
||||||
{
|
{
|
||||||
|
#if defined(HAVE_BACKLIGHT) || defined(HAVE_REMOTE_LCD)
|
||||||
if (state->id3)
|
if (state->id3)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_BACKLIGHT
|
#ifdef HAVE_BACKLIGHT
|
||||||
|
@ -379,9 +368,10 @@ static void gwps_caption_backlight(struct wps_state *state)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
(void) state;
|
||||||
|
#endif /* def HAVE_BACKLIGHT || def HAVE_REMOTE_LCD */
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
static void change_dir(int direction)
|
static void change_dir(int direction)
|
||||||
{
|
{
|
||||||
|
@ -498,7 +488,6 @@ static void play_hop(int direction)
|
||||||
audio_ff_rewind(elapsed);
|
audio_ff_rewind(elapsed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||||
/*
|
/*
|
||||||
* If the user is unable to see the wps, because the display is deactivated,
|
* If the user is unable to see the wps, because the display is deactivated,
|
||||||
|
@ -541,20 +530,30 @@ static void gwps_leave_wps(bool theme_enabled)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void restore_theme(void)
|
||||||
|
{
|
||||||
|
FOR_NB_SCREENS(i)
|
||||||
|
{
|
||||||
|
struct gui_wps *gwps = skin_get_gwps(WPS, i);
|
||||||
|
struct screen *display = gwps->display;
|
||||||
|
display->scroll_stop();
|
||||||
|
viewportmanager_theme_enable(i, skin_has_sbs(gwps), NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* display the wps on entering or restoring */
|
* display the wps on entering or restoring */
|
||||||
static void gwps_enter_wps(bool theme_enabled)
|
static void gwps_enter_wps(bool theme_enabled)
|
||||||
{
|
{
|
||||||
struct gui_wps *gwps;
|
struct gui_wps *gwps;
|
||||||
struct screen *display;
|
struct screen *display;
|
||||||
|
if (theme_enabled)
|
||||||
|
restore_theme();
|
||||||
FOR_NB_SCREENS(i)
|
FOR_NB_SCREENS(i)
|
||||||
{
|
{
|
||||||
gwps = skin_get_gwps(WPS, i);
|
gwps = skin_get_gwps(WPS, i);
|
||||||
display = gwps->display;
|
display = gwps->display;
|
||||||
display->scroll_stop();
|
display->scroll_stop();
|
||||||
if (theme_enabled)
|
|
||||||
viewportmanager_theme_enable(i, skin_has_sbs(gwps), NULL);
|
|
||||||
|
|
||||||
/* Update the values in the first (default) viewport - in case the user
|
/* Update the values in the first (default) viewport - in case the user
|
||||||
has modified the statusbar or colour settings */
|
has modified the statusbar or colour settings */
|
||||||
#if LCD_DEPTH > 1
|
#if LCD_DEPTH > 1
|
||||||
|
@ -607,6 +606,57 @@ void wps_do_playpause(bool updatewps)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static long do_wps_exit(long action, bool bookmark)
|
||||||
|
{
|
||||||
|
audio_pause();
|
||||||
|
update_non_static();
|
||||||
|
if (bookmark)
|
||||||
|
bookmark_autobookmark(true);
|
||||||
|
audio_stop();
|
||||||
|
#ifdef AB_REPEAT_ENABLE
|
||||||
|
ab_reset_markers();
|
||||||
|
#endif
|
||||||
|
gwps_leave_wps(true);
|
||||||
|
#ifdef HAVE_RECORDING
|
||||||
|
if (action == ACTION_WPS_REC)
|
||||||
|
return GO_TO_RECSCREEN;
|
||||||
|
#else
|
||||||
|
(void)action;
|
||||||
|
#endif
|
||||||
|
if (global_settings.browse_current)
|
||||||
|
return GO_TO_PREVIOUS_BROWSER;
|
||||||
|
return GO_TO_PREVIOUS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static long do_party_mode(long action)
|
||||||
|
{
|
||||||
|
if (global_settings.party_mode)
|
||||||
|
{
|
||||||
|
switch (action)
|
||||||
|
{
|
||||||
|
#ifdef ACTION_WPSAB_SINGLE
|
||||||
|
case ACTION_WPSAB_SINGLE:
|
||||||
|
if (!ab_repeat_mode_enabled())
|
||||||
|
break;
|
||||||
|
/* Note: currently all targets use ACTION_WPS_BROWSE
|
||||||
|
* if mapped to any of below actions this will cause problems */
|
||||||
|
#endif
|
||||||
|
case ACTION_WPS_PLAY:
|
||||||
|
case ACTION_WPS_SEEKFWD:
|
||||||
|
case ACTION_WPS_SEEKBACK:
|
||||||
|
case ACTION_WPS_SKIPPREV:
|
||||||
|
case ACTION_WPS_SKIPNEXT:
|
||||||
|
case ACTION_WPS_ABSETB_NEXTDIR:
|
||||||
|
case ACTION_WPS_ABSETA_PREVDIR:
|
||||||
|
case ACTION_WPS_STOP:
|
||||||
|
return ACTION_NONE;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return action;
|
||||||
|
}
|
||||||
|
|
||||||
/* The WPS can be left in two ways:
|
/* The WPS can be left in two ways:
|
||||||
* a) call a function, which draws over the wps. In this case, the wps
|
* a) call a function, which draws over the wps. In this case, the wps
|
||||||
|
@ -621,11 +671,10 @@ long gui_wps_show(void)
|
||||||
{
|
{
|
||||||
long button = 0;
|
long button = 0;
|
||||||
bool restore = true;
|
bool restore = true;
|
||||||
long restoretimer = RESTORE_WPS_INSTANTLY; /* timer to delay screen redraw temporarily */
|
|
||||||
bool exit = false;
|
bool exit = false;
|
||||||
bool bookmark = false;
|
bool bookmark = false;
|
||||||
bool update = false;
|
bool update = false;
|
||||||
bool vol_changed = false;
|
bool theme_enabled = true;
|
||||||
long last_left = 0, last_right = 0;
|
long last_left = 0, last_right = 0;
|
||||||
struct wps_state *state = get_wps_state();
|
struct wps_state *state = get_wps_state();
|
||||||
|
|
||||||
|
@ -634,12 +683,10 @@ long gui_wps_show(void)
|
||||||
ab_reset_markers();
|
ab_reset_markers();
|
||||||
#endif
|
#endif
|
||||||
wps_state_init();
|
wps_state_init();
|
||||||
|
|
||||||
while ( 1 )
|
while ( 1 )
|
||||||
{
|
{
|
||||||
bool theme_enabled = true;
|
bool hotkey = false;
|
||||||
bool audio_paused = (audio_status() & AUDIO_STATUS_PAUSE)?true:false;
|
bool audio_paused = (audio_status() & AUDIO_STATUS_PAUSE)?true:false;
|
||||||
|
|
||||||
/* did someone else (i.e power thread) change audio pause mode? */
|
/* did someone else (i.e power thread) change audio pause mode? */
|
||||||
if (state->paused != audio_paused) {
|
if (state->paused != audio_paused) {
|
||||||
state->paused = audio_paused;
|
state->paused = audio_paused;
|
||||||
|
@ -653,8 +700,53 @@ long gui_wps_show(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
button = skin_wait_for_action(WPS, CONTEXT_WPS|ALLOW_SOFTLOCK,
|
|
||||||
restore ? 1 : HZ/5);
|
if (restore)
|
||||||
|
{
|
||||||
|
restore = false;
|
||||||
|
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||||
|
add_event(LCD_EVENT_ACTIVATION, wps_lcd_activation_hook);
|
||||||
|
#endif
|
||||||
|
/* we remove the update delay since it's not very usable in the wps,
|
||||||
|
* e.g. during volume changing or ffwd/rewind */
|
||||||
|
sb_skin_set_update_delay(0);
|
||||||
|
skin_request_full_update(WPS);
|
||||||
|
update = true;
|
||||||
|
gwps_enter_wps(theme_enabled);
|
||||||
|
theme_enabled = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gwps_caption_backlight(state);
|
||||||
|
|
||||||
|
FOR_NB_SCREENS(i)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||||
|
/* currently, all remotes are readable without backlight
|
||||||
|
* so still update those */
|
||||||
|
if (lcd_active() || (i != SCREEN_MAIN))
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
bool full_update = skin_do_full_update(WPS, i);
|
||||||
|
if (update || full_update)
|
||||||
|
{
|
||||||
|
skin_update(WPS, i, full_update ?
|
||||||
|
SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
update = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exit)
|
||||||
|
{
|
||||||
|
return do_wps_exit(button, bookmark);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (button && !IS_SYSEVENT(button) )
|
||||||
|
storage_spin();
|
||||||
|
|
||||||
|
button = skin_wait_for_action(WPS, CONTEXT_WPS|ALLOW_SOFTLOCK, HZ/5);
|
||||||
|
|
||||||
/* Exit if audio has stopped playing. This happens e.g. at end of
|
/* Exit if audio has stopped playing. This happens e.g. at end of
|
||||||
playlist or if using the sleep timer. */
|
playlist or if using the sleep timer. */
|
||||||
|
@ -664,44 +756,39 @@ long gui_wps_show(void)
|
||||||
if (button == ACTION_TOUCHSCREEN)
|
if (button == ACTION_TOUCHSCREEN)
|
||||||
button = skintouch_to_wps();
|
button = skintouch_to_wps();
|
||||||
#endif
|
#endif
|
||||||
|
button = do_party_mode(button); /* block select actions in party mode */
|
||||||
|
|
||||||
/* The iPods/X5/M5 use a single button for the A-B mode markers,
|
/* The iPods/X5/M5 use a single button for the A-B mode markers,
|
||||||
defined as ACTION_WPSAB_SINGLE in their config files. */
|
defined as ACTION_WPSAB_SINGLE in their config files. */
|
||||||
#ifdef ACTION_WPSAB_SINGLE
|
#ifdef ACTION_WPSAB_SINGLE
|
||||||
if (!global_settings.party_mode && ab_repeat_mode_enabled())
|
static int wps_ab_state = 0;
|
||||||
|
if (button == ACTION_WPSAB_SINGLE && ab_repeat_mode_enabled())
|
||||||
{
|
{
|
||||||
static int wps_ab_state = 0;
|
switch (wps_ab_state)
|
||||||
if (button == ACTION_WPSAB_SINGLE)
|
|
||||||
{
|
{
|
||||||
switch (wps_ab_state)
|
case 0: /* set the A spot */
|
||||||
{
|
button = ACTION_WPS_ABSETA_PREVDIR;
|
||||||
case 0: /* set the A spot */
|
break;
|
||||||
button = ACTION_WPS_ABSETA_PREVDIR;
|
case 1: /* set the B spot */
|
||||||
break;
|
button = ACTION_WPS_ABSETB_NEXTDIR;
|
||||||
case 1: /* set the B spot */
|
break;
|
||||||
button = ACTION_WPS_ABSETB_NEXTDIR;
|
case 2:
|
||||||
break;
|
button = ACTION_WPS_ABRESET;
|
||||||
case 2:
|
break;
|
||||||
button = ACTION_WPS_ABRESET;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
wps_ab_state = (wps_ab_state+1) % 3;
|
|
||||||
}
|
}
|
||||||
|
wps_ab_state = (wps_ab_state+1) % 3;
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* def ACTION_WPSAB_SINGLE */
|
||||||
|
|
||||||
switch(button)
|
switch(button)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_HOTKEY
|
#ifdef HAVE_HOTKEY
|
||||||
case ACTION_WPS_HOTKEY:
|
case ACTION_WPS_HOTKEY:
|
||||||
|
{
|
||||||
|
hotkey = true;
|
||||||
if (!global_settings.hotkey_wps)
|
if (!global_settings.hotkey_wps)
|
||||||
break;
|
break;
|
||||||
/* fall through */
|
if (global_settings.hotkey_wps == HOTKEY_PLUGIN)
|
||||||
#endif
|
|
||||||
case ACTION_WPS_CONTEXT:
|
|
||||||
{
|
|
||||||
bool hotkey = button == ACTION_WPS_HOTKEY;
|
|
||||||
|
|
||||||
#ifdef HAVE_HOTKEY
|
|
||||||
if (hotkey && global_settings.hotkey_wps == HOTKEY_PLUGIN)
|
|
||||||
{
|
{
|
||||||
/* leave WPS without re-enabling theme */
|
/* leave WPS without re-enabling theme */
|
||||||
theme_enabled = false;
|
theme_enabled = false;
|
||||||
|
@ -711,39 +798,31 @@ long gui_wps_show(void)
|
||||||
if (!audio_status())
|
if (!audio_status())
|
||||||
{
|
{
|
||||||
/* re-enable theme since we're returning to SBS */
|
/* re-enable theme since we're returning to SBS */
|
||||||
FOR_NB_SCREENS(i)
|
gwps_leave_wps(true);
|
||||||
{
|
|
||||||
struct gui_wps *gwps = skin_get_gwps(WPS, i);
|
|
||||||
#ifdef HAVE_BACKDROP_IMAGE
|
|
||||||
skin_backdrop_show(sb_get_backdrop(i));
|
|
||||||
#endif
|
|
||||||
viewportmanager_theme_undo(i, skin_has_sbs(gwps));
|
|
||||||
}
|
|
||||||
return GO_TO_ROOT;
|
return GO_TO_ROOT;
|
||||||
}
|
}
|
||||||
|
restore = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
#endif
|
/* fall through */
|
||||||
|
#endif /* def HAVE_HOTKEY */
|
||||||
|
case ACTION_WPS_CONTEXT:
|
||||||
|
{
|
||||||
|
gwps_leave_wps(true);
|
||||||
|
int retval = onplay(state->id3->path,
|
||||||
|
FILE_ATTR_AUDIO, CONTEXT_WPS, hotkey);
|
||||||
|
/* if music is stopped in the context menu we want to exit the wps */
|
||||||
|
if (retval == ONPLAY_MAINMENU
|
||||||
|
|| !audio_status())
|
||||||
|
return GO_TO_ROOT;
|
||||||
|
else if (retval == ONPLAY_PLAYLIST)
|
||||||
|
return GO_TO_PLAYLIST_VIEWER;
|
||||||
|
else if (retval == ONPLAY_PLUGIN)
|
||||||
{
|
{
|
||||||
gwps_leave_wps(true);
|
restore_theme();
|
||||||
int retval = onplay(state->id3->path,
|
theme_enabled = false;
|
||||||
FILE_ATTR_AUDIO, CONTEXT_WPS, hotkey);
|
open_plugin_run(ID2P(LANG_OPEN_PLUGIN_SET_WPS_CONTEXT_PLUGIN));
|
||||||
/* if music is stopped in the context menu we want to exit the wps */
|
|
||||||
if (retval == ONPLAY_MAINMENU
|
|
||||||
|| !audio_status())
|
|
||||||
return GO_TO_ROOT;
|
|
||||||
else if (retval == ONPLAY_PLAYLIST)
|
|
||||||
return GO_TO_PLAYLIST_VIEWER;
|
|
||||||
else if (retval == ONPLAY_PLUGIN)
|
|
||||||
{
|
|
||||||
FOR_NB_SCREENS(i)
|
|
||||||
{
|
|
||||||
struct gui_wps *gwps = skin_get_gwps(WPS, i);
|
|
||||||
viewportmanager_theme_enable(i, skin_has_sbs(gwps), NULL);
|
|
||||||
}
|
|
||||||
theme_enabled = false;
|
|
||||||
open_plugin_run(ID2P(LANG_OPEN_PLUGIN_SET_WPS_CONTEXT_PLUGIN));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
restore = true;
|
restore = true;
|
||||||
|
@ -757,24 +836,26 @@ long gui_wps_show(void)
|
||||||
|
|
||||||
/* play/pause */
|
/* play/pause */
|
||||||
case ACTION_WPS_PLAY:
|
case ACTION_WPS_PLAY:
|
||||||
if (global_settings.party_mode)
|
|
||||||
break;
|
|
||||||
wps_do_playpause(true);
|
wps_do_playpause(true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ACTION_WPS_VOLUP:
|
case ACTION_WPS_VOLUP: /* fall through */
|
||||||
global_settings.volume += sound_steps(SOUND_VOLUME);
|
|
||||||
vol_changed = true;
|
|
||||||
break;
|
|
||||||
case ACTION_WPS_VOLDOWN:
|
case ACTION_WPS_VOLDOWN:
|
||||||
global_settings.volume -= sound_steps(SOUND_VOLUME);
|
if (button == ACTION_WPS_VOLUP)
|
||||||
vol_changed = true;
|
global_settings.volume += sound_steps(SOUND_VOLUME);
|
||||||
|
else
|
||||||
|
global_settings.volume -= sound_steps(SOUND_VOLUME);
|
||||||
|
|
||||||
|
setvol();
|
||||||
|
FOR_NB_SCREENS(i)
|
||||||
|
{
|
||||||
|
skin_update(WPS, i, SKIN_REFRESH_NON_STATIC);
|
||||||
|
}
|
||||||
|
update = false;
|
||||||
break;
|
break;
|
||||||
/* fast forward
|
/* fast forward
|
||||||
OR next dir if this is straight after ACTION_WPS_SKIPNEXT */
|
OR next dir if this is straight after ACTION_WPS_SKIPNEXT */
|
||||||
case ACTION_WPS_SEEKFWD:
|
case ACTION_WPS_SEEKFWD:
|
||||||
if (global_settings.party_mode)
|
|
||||||
break;
|
|
||||||
if (current_tick -last_right < HZ)
|
if (current_tick -last_right < HZ)
|
||||||
{
|
{
|
||||||
if (state->id3->cuesheet)
|
if (state->id3->cuesheet)
|
||||||
|
@ -793,9 +874,7 @@ long gui_wps_show(void)
|
||||||
/* fast rewind
|
/* fast rewind
|
||||||
OR prev dir if this is straight after ACTION_WPS_SKIPPREV,*/
|
OR prev dir if this is straight after ACTION_WPS_SKIPPREV,*/
|
||||||
case ACTION_WPS_SEEKBACK:
|
case ACTION_WPS_SEEKBACK:
|
||||||
if (global_settings.party_mode)
|
if (current_tick - last_left < HZ)
|
||||||
break;
|
|
||||||
if (current_tick -last_left < HZ)
|
|
||||||
{
|
{
|
||||||
if (state->id3->cuesheet)
|
if (state->id3->cuesheet)
|
||||||
{
|
{
|
||||||
|
@ -824,8 +903,6 @@ long gui_wps_show(void)
|
||||||
|
|
||||||
/* prev / restart */
|
/* prev / restart */
|
||||||
case ACTION_WPS_SKIPPREV:
|
case ACTION_WPS_SKIPPREV:
|
||||||
if (global_settings.party_mode)
|
|
||||||
break;
|
|
||||||
last_left = current_tick;
|
last_left = current_tick;
|
||||||
#ifdef AB_REPEAT_ENABLE
|
#ifdef AB_REPEAT_ENABLE
|
||||||
/* if we're in A/B repeat mode and the current position
|
/* if we're in A/B repeat mode and the current position
|
||||||
|
@ -844,8 +921,6 @@ long gui_wps_show(void)
|
||||||
/* next
|
/* next
|
||||||
OR if skip length set, hop by predetermined amount. */
|
OR if skip length set, hop by predetermined amount. */
|
||||||
case ACTION_WPS_SKIPNEXT:
|
case ACTION_WPS_SKIPNEXT:
|
||||||
if (global_settings.party_mode)
|
|
||||||
break;
|
|
||||||
last_right = current_tick;
|
last_right = current_tick;
|
||||||
#ifdef AB_REPEAT_ENABLE
|
#ifdef AB_REPEAT_ENABLE
|
||||||
/* if we're in A/B repeat mode and the current position is
|
/* if we're in A/B repeat mode and the current position is
|
||||||
|
@ -866,8 +941,6 @@ long gui_wps_show(void)
|
||||||
/* next / prev directories */
|
/* next / prev directories */
|
||||||
/* and set A-B markers if in a-b mode */
|
/* and set A-B markers if in a-b mode */
|
||||||
case ACTION_WPS_ABSETB_NEXTDIR:
|
case ACTION_WPS_ABSETB_NEXTDIR:
|
||||||
if (global_settings.party_mode)
|
|
||||||
break;
|
|
||||||
#if defined(AB_REPEAT_ENABLE)
|
#if defined(AB_REPEAT_ENABLE)
|
||||||
if (ab_repeat_mode_enabled())
|
if (ab_repeat_mode_enabled())
|
||||||
{
|
{
|
||||||
|
@ -881,8 +954,6 @@ long gui_wps_show(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ACTION_WPS_ABSETA_PREVDIR:
|
case ACTION_WPS_ABSETA_PREVDIR:
|
||||||
if (global_settings.party_mode)
|
|
||||||
break;
|
|
||||||
#if defined(AB_REPEAT_ENABLE)
|
#if defined(AB_REPEAT_ENABLE)
|
||||||
if (ab_repeat_mode_enabled())
|
if (ab_repeat_mode_enabled())
|
||||||
ab_set_A_marker(state->id3->elapsed);
|
ab_set_A_marker(state->id3->elapsed);
|
||||||
|
@ -915,7 +986,7 @@ long gui_wps_show(void)
|
||||||
restore = true;
|
restore = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enter_shortcuts_menu)
|
if (enter_shortcuts_menu) /* enter_shortcuts_menu */
|
||||||
{
|
{
|
||||||
global_status.last_screen = GO_TO_SHORTCUTMENU;
|
global_status.last_screen = GO_TO_SHORTCUTMENU;
|
||||||
int ret = do_shortcut_menu(NULL);
|
int ret = do_shortcut_menu(NULL);
|
||||||
|
@ -952,8 +1023,6 @@ long gui_wps_show(void)
|
||||||
|
|
||||||
/* stop and exit wps */
|
/* stop and exit wps */
|
||||||
case ACTION_WPS_STOP:
|
case ACTION_WPS_STOP:
|
||||||
if (global_settings.party_mode)
|
|
||||||
break;
|
|
||||||
bookmark = true;
|
bookmark = true;
|
||||||
exit = true;
|
exit = true;
|
||||||
break;
|
break;
|
||||||
|
@ -1013,85 +1082,6 @@ long gui_wps_show(void)
|
||||||
update = true;
|
update = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vol_changed)
|
|
||||||
{
|
|
||||||
bool res = false;
|
|
||||||
vol_changed = false;
|
|
||||||
setvol();
|
|
||||||
FOR_NB_SCREENS(i)
|
|
||||||
{
|
|
||||||
if(update_onvol_change(i))
|
|
||||||
res = true;
|
|
||||||
}
|
|
||||||
if (res) {
|
|
||||||
restore = true;
|
|
||||||
restoretimer = RESTORE_WPS_NEXT_SECOND;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (restore &&
|
|
||||||
((restoretimer == RESTORE_WPS_INSTANTLY) ||
|
|
||||||
TIME_AFTER(current_tick, restoretimer)))
|
|
||||||
{
|
|
||||||
restore = false;
|
|
||||||
restoretimer = RESTORE_WPS_INSTANTLY;
|
|
||||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
|
||||||
add_event(LCD_EVENT_ACTIVATION, wps_lcd_activation_hook);
|
|
||||||
#endif
|
|
||||||
/* we remove the update delay since it's not very usable in the wps,
|
|
||||||
* e.g. during volume changing or ffwd/rewind */
|
|
||||||
sb_skin_set_update_delay(0);
|
|
||||||
skin_request_full_update(WPS);
|
|
||||||
update = true;
|
|
||||||
gwps_enter_wps(theme_enabled);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
#if defined(HAVE_BACKLIGHT) || defined(HAVE_REMOTE_LCD)
|
|
||||||
gwps_caption_backlight(state);
|
|
||||||
#endif
|
|
||||||
FOR_NB_SCREENS(i)
|
|
||||||
{
|
|
||||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
|
||||||
/* currently, all remotes are readable without backlight
|
|
||||||
* so still update those */
|
|
||||||
if (lcd_active() || (i != SCREEN_MAIN))
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
bool full_update = skin_do_full_update(WPS, i);
|
|
||||||
if (update || full_update)
|
|
||||||
{
|
|
||||||
skin_update(WPS, i, full_update ?
|
|
||||||
SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
update = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (exit) {
|
|
||||||
audio_pause();
|
|
||||||
update_non_static();
|
|
||||||
if (bookmark)
|
|
||||||
bookmark_autobookmark(true);
|
|
||||||
audio_stop();
|
|
||||||
#ifdef AB_REPEAT_ENABLE
|
|
||||||
ab_reset_markers();
|
|
||||||
#endif
|
|
||||||
gwps_leave_wps(true);
|
|
||||||
#ifdef HAVE_RECORDING
|
|
||||||
if (button == ACTION_WPS_REC)
|
|
||||||
return GO_TO_RECSCREEN;
|
|
||||||
#endif
|
|
||||||
if (global_settings.browse_current)
|
|
||||||
return GO_TO_PREVIOUS_BROWSER;
|
|
||||||
return GO_TO_PREVIOUS;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (button && !IS_SYSEVENT(button) )
|
|
||||||
storage_spin();
|
|
||||||
}
|
}
|
||||||
return GO_TO_ROOT; /* unreachable - just to reduce compiler warnings */
|
return GO_TO_ROOT; /* unreachable - just to reduce compiler warnings */
|
||||||
}
|
}
|
||||||
|
|
|
@ -304,7 +304,7 @@ int time_screen(void* ignored)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ret = do_menu(&time_menu, NULL, menu, false);
|
ret = do_menu(&time_menu, NULL, menu, false);
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
/* see comments above in the button callback */
|
/* see comments above in the button callback */
|
||||||
if (!menu_was_pressed && ret == GO_TO_PREVIOUS)
|
if (!menu_was_pressed && ret == GO_TO_PREVIOUS)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
37
apps/misc.c
37
apps/misc.c
|
@ -1569,25 +1569,43 @@ int clamp_value_wrap(int value, int max, int min)
|
||||||
static enum current_activity
|
static enum current_activity
|
||||||
current_activity[MAX_ACTIVITY_DEPTH] = {ACTIVITY_UNKNOWN};
|
current_activity[MAX_ACTIVITY_DEPTH] = {ACTIVITY_UNKNOWN};
|
||||||
static int current_activity_top = 0;
|
static int current_activity_top = 0;
|
||||||
void push_current_activity(enum current_activity screen)
|
|
||||||
|
static void push_current_activity_refresh(enum current_activity screen, bool refresh)
|
||||||
{
|
{
|
||||||
current_activity[current_activity_top++] = screen;
|
current_activity[current_activity_top++] = screen;
|
||||||
FOR_NB_SCREENS(i)
|
FOR_NB_SCREENS(i)
|
||||||
{
|
{
|
||||||
skinlist_set_cfg(i, NULL);
|
skinlist_set_cfg(i, NULL);
|
||||||
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
if (refresh)
|
||||||
|
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void pop_current_activity_refresh(bool refresh)
|
||||||
|
{
|
||||||
|
current_activity_top--;
|
||||||
|
FOR_NB_SCREENS(i)
|
||||||
|
{
|
||||||
|
skinlist_set_cfg(i, NULL);
|
||||||
|
if (refresh)
|
||||||
|
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void push_current_activity(enum current_activity screen)
|
||||||
|
{
|
||||||
|
push_current_activity_refresh(screen, true);
|
||||||
|
}
|
||||||
|
|
||||||
void push_activity_without_refresh(enum current_activity screen)
|
void push_activity_without_refresh(enum current_activity screen)
|
||||||
{
|
{
|
||||||
current_activity[current_activity_top++] = screen;
|
push_current_activity_refresh(screen, false);
|
||||||
FOR_NB_SCREENS(i)
|
|
||||||
skinlist_set_cfg(i, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void pop_current_activity(enum activity_refresh refresh)
|
void pop_current_activity(void)
|
||||||
{
|
{
|
||||||
|
pop_current_activity_refresh(true);
|
||||||
|
#if 0
|
||||||
current_activity_top--;
|
current_activity_top--;
|
||||||
FOR_NB_SCREENS(i)
|
FOR_NB_SCREENS(i)
|
||||||
{
|
{
|
||||||
|
@ -1595,7 +1613,14 @@ void pop_current_activity(enum activity_refresh refresh)
|
||||||
if (ACTIVITY_REFRESH_NOW == refresh)
|
if (ACTIVITY_REFRESH_NOW == refresh)
|
||||||
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void pop_current_activity_without_refresh(void)
|
||||||
|
{
|
||||||
|
pop_current_activity_refresh(false);
|
||||||
|
}
|
||||||
|
|
||||||
enum current_activity get_current_activity(void)
|
enum current_activity get_current_activity(void)
|
||||||
{
|
{
|
||||||
return current_activity[current_activity_top?current_activity_top-1:0];
|
return current_activity[current_activity_top?current_activity_top-1:0];
|
||||||
|
|
|
@ -214,15 +214,10 @@ struct mp3entry;
|
||||||
int id3_get_replaygain_mode(const struct mp3entry *id3);
|
int id3_get_replaygain_mode(const struct mp3entry *id3);
|
||||||
void replaygain_update(void);
|
void replaygain_update(void);
|
||||||
|
|
||||||
enum activity_refresh
|
|
||||||
{
|
|
||||||
ACTIVITY_REFRESH_DEFERRED = 0,
|
|
||||||
ACTIVITY_REFRESH_NOW,
|
|
||||||
};
|
|
||||||
|
|
||||||
void push_current_activity(enum current_activity screen);
|
void push_current_activity(enum current_activity screen);
|
||||||
void push_activity_without_refresh(enum current_activity screen);
|
void push_activity_without_refresh(enum current_activity screen);
|
||||||
void pop_current_activity(enum activity_refresh refresh);
|
void pop_current_activity(void);
|
||||||
|
void pop_current_activity_without_refresh(void);
|
||||||
enum current_activity get_current_activity(void);
|
enum current_activity get_current_activity(void);
|
||||||
|
|
||||||
/* format a sound value like: -1.05 dB */
|
/* format a sound value like: -1.05 dB */
|
||||||
|
|
|
@ -148,7 +148,7 @@ static bool clipboard_clip(struct clipboard *clip, const char *path,
|
||||||
static int bookmark_load_menu_wrapper(void)
|
static int bookmark_load_menu_wrapper(void)
|
||||||
{
|
{
|
||||||
if (get_current_activity() == ACTIVITY_CONTEXTMENU) /* get rid of parent activity */
|
if (get_current_activity() == ACTIVITY_CONTEXTMENU) /* get rid of parent activity */
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED); /* when called from ctxt menu */
|
pop_current_activity_without_refresh(); /* when called from ctxt menu */
|
||||||
|
|
||||||
return bookmark_load_menu();
|
return bookmark_load_menu();
|
||||||
}
|
}
|
||||||
|
@ -474,7 +474,7 @@ static bool save_playlist(void)
|
||||||
static int wps_view_cur_playlist(void)
|
static int wps_view_cur_playlist(void)
|
||||||
{
|
{
|
||||||
if (get_current_activity() == ACTIVITY_CONTEXTMENU) /* get rid of parent activity */
|
if (get_current_activity() == ACTIVITY_CONTEXTMENU) /* get rid of parent activity */
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED); /* when called from ctxt menu */
|
pop_current_activity_without_refresh(); /* when called from ctxt menu */
|
||||||
|
|
||||||
playlist_viewer_ex(NULL, NULL);
|
playlist_viewer_ex(NULL, NULL);
|
||||||
|
|
||||||
|
@ -1520,7 +1520,7 @@ MENUITEM_FUNCTION(view_cue_item, 0, ID2P(LANG_BROWSE_CUESHEET),
|
||||||
static int browse_id3_wrapper(void)
|
static int browse_id3_wrapper(void)
|
||||||
{
|
{
|
||||||
if (get_current_activity() == ACTIVITY_CONTEXTMENU) /* get rid of parent activity */
|
if (get_current_activity() == ACTIVITY_CONTEXTMENU) /* get rid of parent activity */
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED); /* when called from ctxt menu */
|
pop_current_activity_without_refresh(); /* when called from ctxt menu */
|
||||||
|
|
||||||
if (browse_id3(audio_current_track(),
|
if (browse_id3(audio_current_track(),
|
||||||
playlist_get_display_index(),
|
playlist_get_display_index(),
|
||||||
|
@ -1979,7 +1979,7 @@ int onplay(char* file, int attr, int from, bool hotkey)
|
||||||
menu_selection = do_menu(menu, NULL, NULL, false);
|
menu_selection = do_menu(menu, NULL, NULL, false);
|
||||||
|
|
||||||
if (get_current_activity() == ACTIVITY_CONTEXTMENU) /* Activity may have been */
|
if (get_current_activity() == ACTIVITY_CONTEXTMENU) /* Activity may have been */
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW); /* popped already by menu item */
|
pop_current_activity(); /* popped already by menu item */
|
||||||
|
|
||||||
switch (menu_selection)
|
switch (menu_selection)
|
||||||
{
|
{
|
||||||
|
|
|
@ -143,7 +143,7 @@ static void format_line(const struct playlist_entry* track, char* str,
|
||||||
static bool update_playlist(bool force);
|
static bool update_playlist(bool force);
|
||||||
static enum pv_onplay_result onplay_menu(int index);
|
static enum pv_onplay_result onplay_menu(int index);
|
||||||
|
|
||||||
static void close_playlist_viewer(bool pop_activity);
|
static void close_playlist_viewer(void);
|
||||||
|
|
||||||
static void playlist_buffer_init(struct playlist_buffer *pb, char *names_buffer,
|
static void playlist_buffer_init(struct playlist_buffer *pb, char *names_buffer,
|
||||||
int names_buffer_size)
|
int names_buffer_size)
|
||||||
|
@ -525,12 +525,12 @@ static enum pv_onplay_result show_track_info(const struct playlist_entry *curren
|
||||||
static enum pv_onplay_result open_with(const struct playlist_entry *current_track)
|
static enum pv_onplay_result open_with(const struct playlist_entry *current_track)
|
||||||
{
|
{
|
||||||
char selected_track[MAX_PATH];
|
char selected_track[MAX_PATH];
|
||||||
close_playlist_viewer(false); /* don't pop activity yet – relevant for plugin_load */
|
close_playlist_viewer(); /* don't pop activity yet – relevant for plugin_load */
|
||||||
|
|
||||||
strmemccpy(selected_track, current_track->name, sizeof(selected_track));
|
strmemccpy(selected_track, current_track->name, sizeof(selected_track));
|
||||||
|
|
||||||
int plugin_return = filetype_list_viewers(selected_track);
|
int plugin_return = filetype_list_viewers(selected_track);
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
pop_current_activity_without_refresh();
|
||||||
|
|
||||||
switch (plugin_return)
|
switch (plugin_return)
|
||||||
{
|
{
|
||||||
|
@ -548,11 +548,11 @@ static enum pv_onplay_result open_with(const struct playlist_entry *current_trac
|
||||||
static enum pv_onplay_result open_pictureflow(const struct playlist_entry *current_track)
|
static enum pv_onplay_result open_pictureflow(const struct playlist_entry *current_track)
|
||||||
{
|
{
|
||||||
char selected_track[MAX_PATH];
|
char selected_track[MAX_PATH];
|
||||||
close_playlist_viewer(false); /* don't pop activity yet – relevant for plugin_load */
|
close_playlist_viewer(); /* don't pop activity yet – relevant for plugin_load */
|
||||||
|
|
||||||
strmemccpy(selected_track, current_track->name, sizeof(selected_track));
|
strmemccpy(selected_track, current_track->name, sizeof(selected_track));
|
||||||
int plugin_return = filetype_load_plugin((void *)"pictureflow", selected_track);
|
int plugin_return = filetype_load_plugin((void *)"pictureflow", selected_track);
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
pop_current_activity_without_refresh();
|
||||||
|
|
||||||
switch (plugin_return)
|
switch (plugin_return)
|
||||||
{
|
{
|
||||||
|
@ -1093,15 +1093,14 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename,
|
||||||
}
|
}
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
close_playlist_viewer(true);
|
pop_current_activity_without_refresh();
|
||||||
|
close_playlist_viewer();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void close_playlist_viewer(bool pop_activity)
|
static void close_playlist_viewer(void)
|
||||||
{
|
{
|
||||||
talk_shutup();
|
talk_shutup();
|
||||||
if (pop_activity)
|
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
|
||||||
if (viewer.playlist)
|
if (viewer.playlist)
|
||||||
{
|
{
|
||||||
if (viewer.initial_selection)
|
if (viewer.initial_selection)
|
||||||
|
|
|
@ -925,14 +925,16 @@ int plugin_load(const char* plugin, const void* parameter)
|
||||||
|
|
||||||
tree_unlock_cache(tree_get_context());
|
tree_unlock_cache(tree_get_context());
|
||||||
|
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
pop_current_activity_without_refresh();
|
||||||
int curr_activity = get_current_activity();
|
if (rc != PLUGIN_GOTO_WPS)
|
||||||
if ((curr_activity != ACTIVITY_PLAYLISTVIEWER) &&
|
|
||||||
(curr_activity != ACTIVITY_WPS) &&
|
|
||||||
(rc != PLUGIN_GOTO_WPS))
|
|
||||||
{
|
{
|
||||||
FOR_NB_SCREENS(i)
|
int curr_activity = get_current_activity();
|
||||||
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
if ((curr_activity != ACTIVITY_PLAYLISTVIEWER) &&
|
||||||
|
(curr_activity != ACTIVITY_WPS))
|
||||||
|
{
|
||||||
|
FOR_NB_SCREENS(i)
|
||||||
|
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pfn_tsr_exit)
|
if (!pfn_tsr_exit)
|
||||||
|
|
|
@ -1109,7 +1109,7 @@ int gui_syncpitchscreen_run(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
//rb->pcmbuf_set_low_latency(false);
|
//rb->pcmbuf_set_low_latency(false);
|
||||||
//pop_current_activity(ACTIVITY_REFRESH_NOW);
|
//pop_current_activity();
|
||||||
|
|
||||||
/* Clean up */
|
/* Clean up */
|
||||||
FOR_NB_SCREENS(i)
|
FOR_NB_SCREENS(i)
|
||||||
|
|
|
@ -729,7 +729,7 @@ void radio_screen(void)
|
||||||
cpu_idle_mode(false);
|
cpu_idle_mode(false);
|
||||||
#endif
|
#endif
|
||||||
fms_fix_displays(FMS_EXIT);
|
fms_fix_displays(FMS_EXIT);
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
in_screen = false;
|
in_screen = false;
|
||||||
} /* radio_screen */
|
} /* radio_screen */
|
||||||
|
|
||||||
|
|
|
@ -1844,7 +1844,7 @@ rec_abort:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
settings_save();
|
settings_save();
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
return (rec_status & RCSTAT_BEEN_IN_USB_MODE) != 0;
|
return (rec_status & RCSTAT_BEEN_IN_USB_MODE) != 0;
|
||||||
} /* recording_screen */
|
} /* recording_screen */
|
||||||
|
|
||||||
|
|
|
@ -280,9 +280,9 @@ static int browser(void* param)
|
||||||
if (ret_val == GO_TO_WPS
|
if (ret_val == GO_TO_WPS
|
||||||
|| ret_val == GO_TO_PREVIOUS_MUSIC
|
|| ret_val == GO_TO_PREVIOUS_MUSIC
|
||||||
|| ret_val == GO_TO_PLUGIN)
|
|| ret_val == GO_TO_PLUGIN)
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
pop_current_activity_without_refresh();
|
||||||
else
|
else
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
|
|
||||||
switch ((intptr_t)param)
|
switch ((intptr_t)param)
|
||||||
{
|
{
|
||||||
|
@ -355,10 +355,10 @@ static int wpsscrn(void* param)
|
||||||
|| last_screen == GO_TO_SYSTEM_SCREEN
|
|| last_screen == GO_TO_SYSTEM_SCREEN
|
||||||
|| last_screen == GO_TO_PLAYLISTS_SCREEN)))
|
|| last_screen == GO_TO_PLAYLISTS_SCREEN)))
|
||||||
{
|
{
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
pop_current_activity_without_refresh();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
|
|
||||||
return ret_val;
|
return ret_val;
|
||||||
}
|
}
|
||||||
|
@ -396,10 +396,10 @@ static int playlist_view_catalog(void * param)
|
||||||
|
|
||||||
if (item_was_selected)
|
if (item_was_selected)
|
||||||
{
|
{
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
pop_current_activity_without_refresh();
|
||||||
return GO_TO_WPS;
|
return GO_TO_WPS;
|
||||||
}
|
}
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
return GO_TO_ROOT;
|
return GO_TO_ROOT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -714,10 +714,10 @@ static inline int load_screen(int screen)
|
||||||
|| ret_val == GO_TO_PREVIOUS_BROWSER
|
|| ret_val == GO_TO_PREVIOUS_BROWSER
|
||||||
|| ret_val == GO_TO_FILEBROWSER)
|
|| ret_val == GO_TO_FILEBROWSER)
|
||||||
{
|
{
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
pop_current_activity_without_refresh();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
}
|
}
|
||||||
|
|
||||||
last_screen = screen;
|
last_screen = screen;
|
||||||
|
@ -744,7 +744,7 @@ static int load_context_screen(int selection)
|
||||||
|
|
||||||
if (context_menu)
|
if (context_menu)
|
||||||
retval = do_menu(context_menu, NULL, NULL, false);
|
retval = do_menu(context_menu, NULL, NULL, false);
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -992,7 +992,7 @@ void root_menu(void)
|
||||||
|
|
||||||
push_activity_without_refresh(ACTIVITY_UNKNOWN); /* prevent plugin_load */
|
push_activity_without_refresh(ACTIVITY_UNKNOWN); /* prevent plugin_load */
|
||||||
next_screen = load_plugin_screen(key); /* from flashing root */
|
next_screen = load_plugin_screen(key); /* from flashing root */
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED); /* menu activity */
|
pop_current_activity_without_refresh(); /* menu activity */
|
||||||
|
|
||||||
if (next_screen == GO_TO_PREVIOUS)
|
if (next_screen == GO_TO_PREVIOUS)
|
||||||
{
|
{
|
||||||
|
|
|
@ -733,7 +733,7 @@ bool browse_id3(struct mp3entry *id3, int playlist_display_index, int playlist_a
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -719,9 +719,9 @@ int do_shortcut_menu(void *ignored)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (GO_TO_PLUGIN == done)
|
if (GO_TO_PLUGIN == done)
|
||||||
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
|
pop_current_activity_without_refresh();
|
||||||
else
|
else
|
||||||
pop_current_activity(ACTIVITY_REFRESH_NOW);
|
pop_current_activity();
|
||||||
--buflib_move_lock;
|
--buflib_move_lock;
|
||||||
|
|
||||||
return done;
|
return done;
|
||||||
|
|
Loading…
Reference in a new issue