Implement %Ss for playback speed
This is similar to %Sp for pitch. The conditional form %?Ss<...> is also supported in the same way as FS#10680; you can use %?Ss<%xdAa|%xdAb|> to show an icon of a tortoise (subpicture 1 of image A) or a hare (subpicture 2 of image A) when not playing at the normal speed. Flyspray: FS#10681 Author: Junio C Hamano git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23591 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
7de32efe1c
commit
8c15799e70
3 changed files with 24 additions and 0 deletions
|
@ -279,6 +279,9 @@ static const struct wps_tag all_tags[] = {
|
|||
#if (CONFIG_CODEC != MAS3507D)
|
||||
{ WPS_TOKEN_SOUND_PITCH, "Sp", WPS_REFRESH_DYNAMIC, NULL },
|
||||
#endif
|
||||
#if (CONFIG_CODEC == SWCODEC)
|
||||
{ WPS_TOKEN_SOUND_SPEED, "Ss", WPS_REFRESH_DYNAMIC, NULL },
|
||||
#endif
|
||||
#if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD)
|
||||
{ WPS_TOKEN_VLED_HDD, "lh", WPS_REFRESH_DYNAMIC, NULL },
|
||||
#endif
|
||||
|
|
|
@ -49,6 +49,7 @@
|
|||
#include "playlist.h"
|
||||
#if CONFIG_CODEC == SWCODEC
|
||||
#include "playback.h"
|
||||
#include "tdspeed.h"
|
||||
#endif
|
||||
#include "viewport.h"
|
||||
|
||||
|
@ -832,6 +833,25 @@ const char *get_token_value(struct gui_wps *gwps,
|
|||
}
|
||||
#endif
|
||||
|
||||
#if CONFIG_CODEC == SWCODEC
|
||||
case WPS_TOKEN_SOUND_SPEED:
|
||||
{
|
||||
int32_t pitch = sound_get_pitch();
|
||||
int32_t speed;
|
||||
if (dsp_timestretch_available())
|
||||
speed = GET_SPEED(pitch, dsp_get_timestretch());
|
||||
else
|
||||
speed = pitch;
|
||||
snprintf(buf, buf_size, "%ld.%ld",
|
||||
speed / PITCH_SPEED_PRECISION,
|
||||
(speed % PITCH_SPEED_PRECISION) / (PITCH_SPEED_PRECISION / 10));
|
||||
if (intval)
|
||||
*intval = pitch_speed_enum(limit, speed,
|
||||
PITCH_SPEED_PRECISION * 100);
|
||||
return buf;
|
||||
}
|
||||
#endif
|
||||
|
||||
case WPS_TOKEN_MAIN_HOLD:
|
||||
#ifdef HAS_BUTTON_HOLD
|
||||
if (button_hold())
|
||||
|
|
|
@ -68,6 +68,7 @@ enum wps_token_type {
|
|||
WPS_TOKEN_SOUND_PITCH,
|
||||
#endif
|
||||
#if (CONFIG_CODEC == SWCODEC)
|
||||
WPS_TOKEN_SOUND_SPEED,
|
||||
WPS_TOKEN_REPLAYGAIN,
|
||||
WPS_TOKEN_CROSSFADE,
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue