From f5d2896f6279f231e57cc5f9c62ebc4e509f1fb6 Mon Sep 17 00:00:00 2001 From: kugel Date: Mon, 3 Aug 2009 15:46:21 +0000 Subject: [PATCH] Fix reds for IAP and a missing #include. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22141 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/wps.c | 8 ++++++++ apps/gui/wps.h | 21 ++++++++++++++------- apps/iap.c | 10 +++++----- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/apps/gui/wps.c b/apps/gui/wps.c index 447c1d6b0..d62507e0b 100644 --- a/apps/gui/wps.c +++ b/apps/gui/wps.c @@ -1232,3 +1232,11 @@ bool wps_uses_albumart(int *width, int *height) return false; } #endif + + +#ifdef IPOD_ACCESSORY_PROTOCOL +int wps_get_ff_rewind_count(void) +{ + return wps_state.ff_rewind_count; +} +#endif diff --git a/apps/gui/wps.h b/apps/gui/wps.h index b8cb7d2ff..f2f44859c 100644 --- a/apps/gui/wps.h +++ b/apps/gui/wps.h @@ -18,13 +18,17 @@ * KIND, either express or implied. * ****************************************************************************/ -#ifndef _MUSICSCREEN_H_ -#define _MUSICSCREEN_H_ +#ifndef _WPS_H_ +#define _WPS_H_ #include +#include "screen_access.h" long gui_wps_show(void); - +/* wrapper for the wps to load the skin (.wps/.rwps) files */ +void wps_data_load(enum screen_type, const char *, bool); +void wps_data_init(enum screen_type); + void gui_sync_wps_init(void); /* fades the volume, e.g. on pause or stop */ @@ -35,9 +39,6 @@ void display_keylock_text(bool locked); bool is_wps_fading(void); -/* wrapper for the wps to load the skin (.wps/.rwps) files */ -void wps_data_load(enum screen_type, const char *, bool); -void wps_data_init(enum screen_type); #ifdef HAVE_ALBUMART /* @@ -47,4 +48,10 @@ void wps_data_init(enum screen_type); */ bool wps_uses_albumart(int*, int*); #endif -#endif + +#ifdef IPOD_ACCESSORY_PROTOCOL +/* return length of the current ff or rewin action, IAP needs this */ +int wps_get_ff_rewind_count(void); +#endif /* IPOD_ACCESSORY_PROTOCOL */ + +#endif /* _WPS_H_ */ diff --git a/apps/iap.c b/apps/iap.c index 8dfef9516..1d351ab1e 100644 --- a/apps/iap.c +++ b/apps/iap.c @@ -36,7 +36,7 @@ #include "audio.h" #include "settings.h" #include "metadata.h" -#include "skin_engine/skin_engine.h" +#include "wps.h" #include "action.h" @@ -191,7 +191,7 @@ void iap_periodic(void) unsigned char data[] = {0x04, 0x00, 0x27, 0x04, 0x00, 0x00, 0x00, 0x00}; unsigned long time_elapsed = audio_current_track()->elapsed; - time_elapsed += wps_state.ff_rewind_count; + time_elapsed += wps_get_ff_rewind_count(); data[3] = 0x04; // playing @@ -685,13 +685,13 @@ void iap_handlepkt(void) /* Jump to track number in current playlist */ case 0x0037: { + int paused = (is_wps_fading() || (audio_status() & AUDIO_STATUS_PAUSE)); long tracknum = (signed long)serbuf[4] << 24 | (signed long)serbuf[5] << 16 | (signed long)serbuf[6] << 8 | serbuf[7]; - if (!wps_state.paused) - audio_pause(); + audio_pause(); audio_skip(tracknum - playlist_next(0)); - if (!wps_state.paused) + if (!paused) audio_resume(); /* respond with cmd ok packet */ -- 2.11.4.GIT