Index: apps/gui/skin_engine/skin_tokens.c
===================================================================
--- apps/gui/skin_engine/skin_tokens.c	(revision 29823)
+++ apps/gui/skin_engine/skin_tokens.c	(working copy)
@@ -315,6 +315,15 @@
                 format_time(buf, buf_size, length);
                 return buf;
 
+            case SKIN_TOKEN_TRACK_LENGTH_SECONDS:
+            {
+		int time = length;
+		if (intval)
+		   *intval = time / 1000;
+		snprintf(buf, buf_size, "%d", time / 1000);
+		return buf;
+            }
+
             case SKIN_TOKEN_TRACK_ELAPSED_PERCENT:
                 if (length <= 0)
                     return NULL;
Index: lib/skin_parser/tag_table.c
===================================================================
--- lib/skin_parser/tag_table.c	(revision 29823)
+++ lib/skin_parser/tag_table.c	(working copy)
@@ -135,6 +135,7 @@
     { SKIN_TOKEN_TRACK_TIME_ELAPSED,    "pc", "", SKIN_REFRESH_DYNAMIC },
     { SKIN_TOKEN_TRACK_TIME_REMAINING,  "pr", "", SKIN_REFRESH_DYNAMIC },
     { SKIN_TOKEN_TRACK_LENGTH,          "pt", "", SKIN_REFRESH_STATIC },
+    { SKIN_TOKEN_TRACK_LENGTH_SECONDS,  "pz", "", SKIN_REFRESH_STATIC },
     { SKIN_TOKEN_TRACK_STARTING,        "pS" , "|D", SKIN_REFRESH_DYNAMIC },
     { SKIN_TOKEN_TRACK_ENDING,          "pE" , "|D", SKIN_REFRESH_DYNAMIC },
     { SKIN_TOKEN_PLAYLIST_POSITION,     "pp", "", SKIN_REFRESH_STATIC },
Index: utils/skinupdater/tag_table.c
===================================================================
--- utils/skinupdater/tag_table.c	(revision 29823)
+++ utils/skinupdater/tag_table.c	(working copy)
@@ -131,6 +131,7 @@
     { "pc", "" },
     { "pr", "" },
     { "pt", "" },
+    { "pz", "" },
     { "pS" , "|I"},
     { "pE" , "|I"},
     { "pp", "" },
