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
diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c
index 2429d74..5524c14 100644
--- a/apps/gui/gwps-common.c
+++ b/apps/gui/gwps-common.c
@@ -943,6 +943,16 @@
             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 5fa2acf..26a800c 100644
--- a/apps/gui/gwps.h
+++ b/apps/gui/gwps.h
@@ -172,6 +172,7 @@
     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 767f296..8ba4b6f 100644
--- a/apps/gui/wps_debug.c
+++ b/apps/gui/wps_debug.c
@@ -340,7 +340,12 @@
                 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 b053cee..5c72f7c 100644
--- a/apps/gui/wps_parser.c
+++ b/apps/gui/wps_parser.c
@@ -159,6 +159,7 @@
     { 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 @@
     { 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 },