From 5cc98efddcef4cb9c4a2a9c0a3ad72bd86bebd61 Mon Sep 17 00:00:00 2001 From: Nicolas Pennequin Date: Mon, 21 May 2007 13:41:43 +0000 Subject: Add %fk and %Fk WPS tags : (next) file audio frequency in KHz (rewrite of FS#6393 to adapt it to the tokenizer). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13455 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/gwps-common.c | 10 ++++++++++ apps/gui/gwps.h | 1 + apps/gui/wps_debug.c | 7 ++++++- apps/gui/wps_parser.c | 2 ++ 4 files changed, 19 insertions(+), 1 deletion(-) (limited to 'apps/gui') diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index 2429d74b86..5524c1490e 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c @@ -943,6 +943,16 @@ static char *get_token_value(struct gui_wps *gwps, snprintf(buf, buf_size, "%ld", id3->frequency); return buf; + case WPS_TOKEN_FILE_FREQUENCY_KHZ: + /* ignore remainders < 100, so 22050 Hz becomes just 22k */ + if ((id3->frequency % 1000) < 100) + snprintf(buf, buf_size, "%ld", id3->frequency / 1000); + else + snprintf(buf, buf_size, "%ld.%d", + id3->frequency / 1000, + (id3->frequency % 1000) / 100); + return buf; + case WPS_TOKEN_FILE_NAME: if (get_dir(buf, buf_size, id3->path, 0)) { /* Remove extension */ diff --git a/apps/gui/gwps.h b/apps/gui/gwps.h index 5fa2acfea9..26a800cbbd 100644 --- a/apps/gui/gwps.h +++ b/apps/gui/gwps.h @@ -172,6 +172,7 @@ enum wps_token_type { WPS_TOKEN_FILE_BITRATE, WPS_TOKEN_FILE_CODEC, WPS_TOKEN_FILE_FREQUENCY, + WPS_TOKEN_FILE_FREQUENCY_KHZ, WPS_TOKEN_FILE_NAME, WPS_TOKEN_FILE_NAME_WITH_EXTENSION, WPS_TOKEN_FILE_PATH, diff --git a/apps/gui/wps_debug.c b/apps/gui/wps_debug.c index 767f296cdd..8ba4b6f000 100644 --- a/apps/gui/wps_debug.c +++ b/apps/gui/wps_debug.c @@ -340,7 +340,12 @@ static void dump_wps_tokens(struct wps_data *data) break; case WPS_TOKEN_FILE_FREQUENCY: - snprintf(buf, sizeof(buf), "%sfile audio frequency", + snprintf(buf, sizeof(buf), "%sfile audio frequency in Hz", + next_str(next)); + break; + + case WPS_TOKEN_FILE_FREQUENCY_KHZ: + snprintf(buf, sizeof(buf), "%sfile audio frequency in KHz", next_str(next)); break; diff --git a/apps/gui/wps_parser.c b/apps/gui/wps_parser.c index b053cee109..5c72f7c90a 100644 --- a/apps/gui/wps_parser.c +++ b/apps/gui/wps_parser.c @@ -159,6 +159,7 @@ static const struct wps_tag all_tags[] = { { WPS_TOKEN_FILE_BITRATE, "fb", WPS_REFRESH_STATIC, NULL }, { WPS_TOKEN_FILE_CODEC, "fc", WPS_REFRESH_STATIC, NULL }, { WPS_TOKEN_FILE_FREQUENCY, "ff", WPS_REFRESH_STATIC, NULL }, + { WPS_TOKEN_FILE_FREQUENCY_KHZ, "fk", WPS_REFRESH_STATIC, NULL }, { WPS_TOKEN_FILE_NAME_WITH_EXTENSION, "fm", WPS_REFRESH_STATIC, NULL }, { WPS_TOKEN_FILE_NAME, "fn", WPS_REFRESH_STATIC, NULL }, { WPS_TOKEN_FILE_PATH, "fp", WPS_REFRESH_STATIC, NULL }, @@ -171,6 +172,7 @@ static const struct wps_tag all_tags[] = { { WPS_TOKEN_FILE_BITRATE, "Fb", WPS_REFRESH_DYNAMIC, NULL }, { WPS_TOKEN_FILE_CODEC, "Fc", WPS_REFRESH_DYNAMIC, NULL }, { WPS_TOKEN_FILE_FREQUENCY, "Ff", WPS_REFRESH_DYNAMIC, NULL }, + { WPS_TOKEN_FILE_FREQUENCY_KHZ, "Fk", WPS_REFRESH_STATIC, NULL }, { WPS_TOKEN_FILE_NAME_WITH_EXTENSION, "Fm", WPS_REFRESH_DYNAMIC, NULL }, { WPS_TOKEN_FILE_NAME, "Fn", WPS_REFRESH_DYNAMIC, NULL }, { WPS_TOKEN_FILE_PATH, "Fp", WPS_REFRESH_DYNAMIC, NULL }, -- cgit v1.2.3