diff options
-rw-r--r-- | apps/gui/gwps-common.c | 31 | ||||
-rw-r--r-- | apps/gui/gwps-common.h | 1 | ||||
-rw-r--r-- | apps/gui/gwps.c | 32 |
3 files changed, 32 insertions, 32 deletions
diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index b43c357408..b60377de78 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c | |||
@@ -62,7 +62,6 @@ | |||
62 | #endif | 62 | #endif |
63 | #include "backdrop.h" | 63 | #include "backdrop.h" |
64 | #include "viewport.h" | 64 | #include "viewport.h" |
65 | #include "pcmbuf.h" | ||
66 | 65 | ||
67 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ | 66 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ |
68 | /* 3% of 30min file == 54s step size */ | 67 | /* 3% of 30min file == 54s step size */ |
@@ -151,36 +150,6 @@ bool update_onvol_change(struct gui_wps * gwps) | |||
151 | return false; | 150 | return false; |
152 | } | 151 | } |
153 | 152 | ||
154 | void play_hop(int direction) | ||
155 | { | ||
156 | unsigned step = ((unsigned)global_settings.skip_length*1000); | ||
157 | unsigned long *elapsed = &(wps_state.id3->elapsed); | ||
158 | |||
159 | if (direction == 1 && wps_state.id3->length - *elapsed < step+1000) { | ||
160 | #if CONFIG_CODEC == SWCODEC | ||
161 | if(global_settings.beep) | ||
162 | pcmbuf_beep(1000, 150, 1500*global_settings.beep); | ||
163 | #endif | ||
164 | return; | ||
165 | } else if ((direction == -1 && *elapsed < step)) { | ||
166 | *elapsed = 0; | ||
167 | } else { | ||
168 | *elapsed += step * direction; | ||
169 | } | ||
170 | if((audio_status() & AUDIO_STATUS_PLAY) && !wps_state.paused) { | ||
171 | #if (CONFIG_CODEC == SWCODEC) | ||
172 | audio_pre_ff_rewind(); | ||
173 | #else | ||
174 | audio_pause(); | ||
175 | #endif | ||
176 | } | ||
177 | audio_ff_rewind(*elapsed); | ||
178 | #if (CONFIG_CODEC != SWCODEC) | ||
179 | if (!wps_state.paused) | ||
180 | audio_resume(); | ||
181 | #endif | ||
182 | } | ||
183 | |||
184 | bool ffwd_rew(int button) | 153 | bool ffwd_rew(int button) |
185 | { | 154 | { |
186 | unsigned int step = 0; /* current ff/rewind step */ | 155 | unsigned int step = 0; /* current ff/rewind step */ |
diff --git a/apps/gui/gwps-common.h b/apps/gui/gwps-common.h index 3102d72c80..25ce435592 100644 --- a/apps/gui/gwps-common.h +++ b/apps/gui/gwps-common.h | |||
@@ -29,7 +29,6 @@ void fade(bool fade_in, bool updatewps); | |||
29 | bool gui_wps_display(void); | 29 | bool gui_wps_display(void); |
30 | bool update_onvol_change(struct gui_wps * gwps); | 30 | bool update_onvol_change(struct gui_wps * gwps); |
31 | bool update(struct gui_wps *gwps); | 31 | bool update(struct gui_wps *gwps); |
32 | void play_hop(int direction); | ||
33 | bool ffwd_rew(int button); | 32 | bool ffwd_rew(int button); |
34 | void display_keylock_text(bool locked); | 33 | void display_keylock_text(bool locked); |
35 | 34 | ||
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index 7ba9862895..d928bc3e64 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c | |||
@@ -63,6 +63,7 @@ | |||
63 | #include "pitchscreen.h" | 63 | #include "pitchscreen.h" |
64 | #include "appevents.h" | 64 | #include "appevents.h" |
65 | #include "viewport.h" | 65 | #include "viewport.h" |
66 | #include "pcmbuf.h" | ||
66 | 67 | ||
67 | /* currently only one wps_state is needed */ | 68 | /* currently only one wps_state is needed */ |
68 | struct wps_state wps_state; | 69 | struct wps_state wps_state; |
@@ -115,6 +116,37 @@ static void next_track(void) | |||
115 | 116 | ||
116 | audio_next(); | 117 | audio_next(); |
117 | } | 118 | } |
119 | |||
120 | static void play_hop(int direction) | ||
121 | { | ||
122 | unsigned step = ((unsigned)global_settings.skip_length*1000); | ||
123 | unsigned long *elapsed = &(wps_state.id3->elapsed); | ||
124 | |||
125 | if (direction == 1 && wps_state.id3->length - *elapsed < step+1000) { | ||
126 | #if CONFIG_CODEC == SWCODEC | ||
127 | if(global_settings.beep) | ||
128 | pcmbuf_beep(1000, 150, 1500*global_settings.beep); | ||
129 | #endif | ||
130 | return; | ||
131 | } else if ((direction == -1 && *elapsed < step)) { | ||
132 | *elapsed = 0; | ||
133 | } else { | ||
134 | *elapsed += step * direction; | ||
135 | } | ||
136 | if((audio_status() & AUDIO_STATUS_PLAY) && !wps_state.paused) { | ||
137 | #if (CONFIG_CODEC == SWCODEC) | ||
138 | audio_pre_ff_rewind(); | ||
139 | #else | ||
140 | audio_pause(); | ||
141 | #endif | ||
142 | } | ||
143 | audio_ff_rewind(*elapsed); | ||
144 | #if (CONFIG_CODEC != SWCODEC) | ||
145 | if (!wps_state.paused) | ||
146 | audio_resume(); | ||
147 | #endif | ||
148 | } | ||
149 | |||
118 | static int fix_wps_bars(void) | 150 | static int fix_wps_bars(void) |
119 | { | 151 | { |
120 | #ifdef HAVE_LCD_BITMAP | 152 | #ifdef HAVE_LCD_BITMAP |