summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c36
1 files changed, 32 insertions, 4 deletions
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 4c7245dc94..8bd506da35 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -170,7 +170,9 @@ PLUGIN_IRAM_DECLARE
170#define MPEG_VOLDOWN2 BUTTON_VOL_DOWN 170#define MPEG_VOLDOWN2 BUTTON_VOL_DOWN
171#define MPEG_VOLUP2 BUTTON_VOL_UP 171#define MPEG_VOLUP2 BUTTON_VOL_UP
172#define MPEG_RW BUTTON_UP 172#define MPEG_RW BUTTON_UP
173#define MPEG_RW2 BUTTON_PREV
173#define MPEG_FF BUTTON_DOWN 174#define MPEG_FF BUTTON_DOWN
175#define MPEG_FF2 BUTTON_NEXT
174 176
175#define MPEG_RC_MENU BUTTON_RC_DSP 177#define MPEG_RC_MENU BUTTON_RC_DSP
176#define MPEG_RC_STOP (BUTTON_RC_PLAY | BUTTON_REPEAT) 178#define MPEG_RC_STOP (BUTTON_RC_PLAY | BUTTON_REPEAT)
@@ -1207,23 +1209,31 @@ static uint32_t wvs_ff_rw(int btn, unsigned refresh)
1207 switch (btn) 1209 switch (btn)
1208 { 1210 {
1209 case MPEG_FF: 1211 case MPEG_FF:
1212#ifdef MPEG_FF2
1213 case MPEG_FF2:
1214#endif
1210#ifdef MPEG_RC_FF 1215#ifdef MPEG_RC_FF
1211 case MPEG_RC_FF: 1216 case MPEG_RC_FF:
1212#endif 1217#endif
1213 wvs_set_status(WVS_STATUS_FF); 1218 if (!(btn & BUTTON_REPEAT))
1219 wvs_set_status(WVS_STATUS_FF);
1220 btn = MPEG_FF | BUTTON_REPEAT; /* simplify code below */
1214 break; 1221 break;
1215 case MPEG_RW: 1222 case MPEG_RW:
1223#ifdef MPEG_RW2
1224 case MPEG_RW2:
1225#endif
1216#ifdef MPEG_RC_RW 1226#ifdef MPEG_RC_RW
1217 case MPEG_RC_RW: 1227 case MPEG_RC_RW:
1218#endif 1228#endif
1219 wvs_set_status(WVS_STATUS_RW); 1229 if (!(btn & BUTTON_REPEAT))
1230 wvs_set_status(WVS_STATUS_RW);
1231 btn = MPEG_RW | BUTTON_REPEAT; /* simplify code below */
1220 break; 1232 break;
1221 default: 1233 default:
1222 btn = -1; 1234 btn = -1;
1223 } 1235 }
1224 1236
1225 btn |= BUTTON_REPEAT;
1226
1227 while (1) 1237 while (1)
1228 { 1238 {
1229 stream_keep_disk_active(); 1239 stream_keep_disk_active();
@@ -1236,6 +1246,12 @@ static uint32_t wvs_ff_rw(int btn, unsigned refresh)
1236 1246
1237 case MPEG_FF | BUTTON_REPEAT: 1247 case MPEG_FF | BUTTON_REPEAT:
1238 case MPEG_RW | BUTTON_REPEAT: 1248 case MPEG_RW | BUTTON_REPEAT:
1249#ifdef MPEG_FF2
1250 case MPEG_FF2 | BUTTON_REPEAT:
1251#endif
1252#ifdef MPEG_RW2
1253 case MPEG_RW2 | BUTTON_REPEAT:
1254#endif
1239#ifdef MPEG_RC_FF 1255#ifdef MPEG_RC_FF
1240 case MPEG_RC_FF | BUTTON_REPEAT: 1256 case MPEG_RC_FF | BUTTON_REPEAT:
1241 case MPEG_RC_RW | BUTTON_REPEAT: 1257 case MPEG_RC_RW | BUTTON_REPEAT:
@@ -1244,6 +1260,12 @@ static uint32_t wvs_ff_rw(int btn, unsigned refresh)
1244 1260
1245 case MPEG_FF | BUTTON_REL: 1261 case MPEG_FF | BUTTON_REL:
1246 case MPEG_RW | BUTTON_REL: 1262 case MPEG_RW | BUTTON_REL:
1263#ifdef MPEG_FF2
1264 case MPEG_FF2 | BUTTON_REL:
1265#endif
1266#ifdef MPEG_RW2
1267 case MPEG_RW2 | BUTTON_REL:
1268#endif
1247#ifdef MPEG_RC_FF 1269#ifdef MPEG_RC_FF
1248 case MPEG_RC_FF | BUTTON_REL: 1270 case MPEG_RC_FF | BUTTON_REL:
1249 case MPEG_RC_RW | BUTTON_REL: 1271 case MPEG_RC_RW | BUTTON_REL:
@@ -1667,6 +1689,12 @@ static void button_loop(void)
1667 1689
1668 case MPEG_RW: 1690 case MPEG_RW:
1669 case MPEG_FF: 1691 case MPEG_FF:
1692#ifdef MPEG_RW2
1693 case MPEG_RW2:
1694#endif
1695#ifdef MPEG_FF2
1696 case MPEG_FF2:
1697#endif
1670#ifdef MPEG_RC_RW 1698#ifdef MPEG_RC_RW
1671 case MPEG_RC_RW: 1699 case MPEG_RC_RW:
1672 case MPEG_RC_FF: 1700 case MPEG_RC_FF: