From f4e152bdefe4eaad148e47afc8d69dff5c060762 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Tue, 22 Mar 2011 09:41:11 +0000 Subject: Make repeat mode/shuffle work in the sbs also git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29632 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/skin_engine/skin_touchsupport.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'apps/gui/skin_engine') diff --git a/apps/gui/skin_engine/skin_touchsupport.c b/apps/gui/skin_engine/skin_touchsupport.c index c16d223af3..e1a7d0688e 100644 --- a/apps/gui/skin_engine/skin_touchsupport.c +++ b/apps/gui/skin_engine/skin_touchsupport.c @@ -32,6 +32,7 @@ #include "lang.h" #include "splash.h" #include "playlist.h" +#include "dsp.h" /** Disarms all touchregions. */ void skin_disarm_touchregions(struct wps_data *data) @@ -237,6 +238,29 @@ int skin_get_touchaction(struct wps_data *data, int* edge_offset, returncode = ACTION_REDRAW; } break; + case ACTION_TOUCH_SHUFFLE: /* toggle shuffle mode */ + { + global_settings.playlist_shuffle = + !global_settings.playlist_shuffle; +#if CONFIG_CODEC == SWCODEC + dsp_set_replaygain(); +#endif + if (global_settings.playlist_shuffle) + playlist_randomise(NULL, current_tick, true); + else + playlist_sort(NULL, true); + returncode = ACTION_REDRAW; + } + break; + case ACTION_TOUCH_REPMODE: /* cycle the repeat mode setting */ + { + const struct settings_list *rep_setting = + find_setting(&global_settings.repeat_mode, NULL); + option_select_next_val(rep_setting, false, true); + audio_flush_and_reload_tracks(); + returncode = ACTION_REDRAW; + } + break; } return returncode; } -- cgit v1.2.3