[Feature] skinengine subline timeout hide line for n seconds

builds on top of the file text patch to add hide timeouts to
subline text tags

this allows you to specify both a show time and hide time
for these elements

%t(show, hide)

also removes the 327 second limit for timeouts whne this form is used

Change-Id: If4598dcc24d0c7be4380e7595b7d91c7eba3a728
This commit is contained in:
William Wilgus 2024-12-07 14:58:35 -05:00 committed by William Wilgus
parent eb3e5eb2bf
commit 44bfffd7c5
33 changed files with 103 additions and 59 deletions

View file

@ -927,7 +927,8 @@ static int parse_timeout_tag(struct skin_element *element,
{ {
(void)wps_data; (void)wps_data;
int val = 0; int val = 0;
if (element->params_count == 0) int params_count = element->params_count;
if (params_count == 0)
{ {
switch (token->type) switch (token->type)
{ {
@ -943,8 +944,23 @@ static int parse_timeout_tag(struct skin_element *element,
} }
} }
else else
{
val = get_param(element, 0)->data.number; val = get_param(element, 0)->data.number;
if (token->type == SKIN_TOKEN_SUBLINE_TIMEOUT && params_count == 2)
{
struct wps_subline_timeout *st = skin_buffer_alloc(sizeof(*st));
if (st)
{
st->show = val;
st->hide = get_param(element, 1)->data.number;
st->next_tick = current_tick; /* show immediately the first time */
token->type = SKIN_TOKEN_SUBLINE_TIMEOUT_HIDE;
token->value.data = PTRTOSKINOFFSET(skin_buffer, st);
return 0;
}
}
token->value.i = val * TIMEOUT_UNIT; token->value.i = val * TIMEOUT_UNIT;
}
return 0; return 0;
} }
@ -1378,6 +1394,7 @@ failure:
element->type = COMMENT; element->type = COMMENT;
element->data = INVALID_OFFSET; element->data = INVALID_OFFSET;
token->type = SKIN_TOKEN_NO_TOKEN; token->type = SKIN_TOKEN_NO_TOKEN;
token->value.data = INVALID_OFFSET;
return 0; return 0;
} }

View file

@ -628,25 +628,39 @@ static int get_subline_timeout(struct gui_wps *gwps, struct skin_element* line)
} }
while (element) while (element)
{ {
if (element->type == TAG && int type = element->type;
element->tag->type == SKIN_TOKEN_SUBLINE_TIMEOUT ) if (type == TAG && element->tag->type == SKIN_TOKEN_SUBLINE_TIMEOUT)
{ {
token = SKINOFFSETTOPTR(skin_buffer, element->data); token = SKINOFFSETTOPTR(skin_buffer, element->data);
if (token) if (token)
{
if (token->type == SKIN_TOKEN_SUBLINE_TIMEOUT_HIDE)
{
struct wps_subline_timeout *st;
st = SKINOFFSETTOPTR(skin_buffer, token->value.data);
retval = st->show * TIMEOUT_UNIT;
if (st->hide != 0)
{
if(TIME_BEFORE(current_tick, st->next_tick))
retval = 0; /* don't display yet.. */
else
st->next_tick = current_tick + st->hide * TIMEOUT_UNIT;
}
}
else
retval = token->value.i; retval = token->value.i;
} }
else if (element->type == CONDITIONAL) }
else if (type == CONDITIONAL)
{ {
struct conditional *conditional = SKINOFFSETTOPTR(skin_buffer, element->data); struct conditional *conditional = SKINOFFSETTOPTR(skin_buffer, element->data);
int val = evaluate_conditional(gwps, 0, conditional, element->children_count); int val = evaluate_conditional(gwps, 0, conditional, element->children_count);
int tmoval = get_subline_timeout(gwps, get_child(element->children, val)); int tmoval = get_subline_timeout(gwps, get_child(element->children, val));
if (tmoval >= 0) if (tmoval >= 0)
{
return MAX(retval, tmoval); /* Bugfix %t()%?CONDITIONAL tmo ignored */ return MAX(retval, tmoval); /* Bugfix %t()%?CONDITIONAL tmo ignored */
} }
} else if (type == COMMENT)
else if (element->type == COMMENT)
{ {
retval = 0; /* don't display this item */ retval = 0; /* don't display this item */
} }

View file

@ -82,16 +82,14 @@ struct wps_token {
bool next; bool next;
}; };
struct wps_subline_timeout { struct wps_subline_timeout {
long next_tick; unsigned long next_tick;
unsigned short hide; unsigned short hide;
unsigned short show; unsigned short show;
}; };
char* get_dir(char* buf, int buf_size, const char* path, int level); char* get_dir(char* buf, int buf_size, const char* path, int level);
struct skin_token_list { struct skin_token_list {
OFFSETTYPE(struct wps_token *) token; OFFSETTYPE(struct wps_token *) token;
OFFSETTYPE(struct skin_token_list *) next; OFFSETTYPE(struct skin_token_list *) next;

View file

@ -50,6 +50,7 @@ static const struct tag_info legal_tags[] =
TAG(SKIN_TOKEN_FILE_SIZE, "fs", "", SKIN_REFRESH_STATIC), TAG(SKIN_TOKEN_FILE_SIZE, "fs", "", SKIN_REFRESH_STATIC),
TAG(SKIN_TOKEN_FILE_VBR, "fv", "", SKIN_REFRESH_STATIC), TAG(SKIN_TOKEN_FILE_VBR, "fv", "", SKIN_REFRESH_STATIC),
TAG(SKIN_TOKEN_FILE_DIRECTORY, "d" , "I", SKIN_REFRESH_STATIC), TAG(SKIN_TOKEN_FILE_DIRECTORY, "d" , "I", SKIN_REFRESH_STATIC),
TAG(SKIN_TOKEN_FILE_TEXT, "ft" , "F|i", SKIN_REFRESH_STATIC),
TAG(SKIN_TOKEN_FILE_BITRATE, "Fb", "", SKIN_REFRESH_STATIC), TAG(SKIN_TOKEN_FILE_BITRATE, "Fb", "", SKIN_REFRESH_STATIC),
TAG(SKIN_TOKEN_FILE_CODEC, "Fc", "", SKIN_REFRESH_STATIC), TAG(SKIN_TOKEN_FILE_CODEC, "Fc", "", SKIN_REFRESH_STATIC),
@ -191,7 +192,7 @@ static const struct tag_info legal_tags[] =
TAG(SKIN_TOKEN_RDS_TEXT, "tz", "", SKIN_REFRESH_DYNAMIC), TAG(SKIN_TOKEN_RDS_TEXT, "tz", "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_SUBLINE_SCROLL, "s", "", SKIN_REFRESH_SCROLL), TAG(SKIN_TOKEN_SUBLINE_SCROLL, "s", "", SKIN_REFRESH_SCROLL),
TAG(SKIN_TOKEN_SUBLINE_TIMEOUT, "t" , "D", 0), TAG(SKIN_TOKEN_SUBLINE_TIMEOUT, "t" , "D|d", 0),
TAG(SKIN_TOKEN_ENABLE_THEME, "we", "", 0|NOBREAK), TAG(SKIN_TOKEN_ENABLE_THEME, "we", "", 0|NOBREAK),
TAG(SKIN_TOKEN_DISABLE_THEME, "wd", "", 0|NOBREAK), TAG(SKIN_TOKEN_DISABLE_THEME, "wd", "", 0|NOBREAK),

View file

@ -70,6 +70,7 @@ enum skin_token_type {
/* Sublines */ /* Sublines */
SKIN_TOKEN_SUBLINE_TIMEOUT, SKIN_TOKEN_SUBLINE_TIMEOUT,
SKIN_TOKEN_SUBLINE_TIMEOUT_HIDE, /* INTERNAL USE ONLY */
SKIN_TOKEN_SUBLINE_SCROLL, SKIN_TOKEN_SUBLINE_SCROLL,
/* Conditional */ /* Conditional */
@ -155,6 +156,7 @@ enum skin_token_type {
SKIN_TOKEN_FILE_SIZE, SKIN_TOKEN_FILE_SIZE,
SKIN_TOKEN_FILE_VBR, SKIN_TOKEN_FILE_VBR,
SKIN_TOKEN_FILE_DIRECTORY, SKIN_TOKEN_FILE_DIRECTORY,
SKIN_TOKEN_FILE_TEXT,
/* Image */ /* Image */
SKIN_TOKEN_IMAGE_BACKDROP, SKIN_TOKEN_IMAGE_BACKDROP,

View file

@ -449,8 +449,12 @@ Subline related special characters and tags:
\begin{description} \begin{description}
\item[;] Split items on a line into separate sublines \item[;] Split items on a line into separate sublines
\item[\%t] Set the subline display time. The \item[\%t] Set the subline display time. The
`\config{\%t}' is followed by either integer seconds (\config{\%t5}), or seconds `\config{\%t}' is followed by either integer seconds (\config{\%t5[,timehide]}), or seconds
and tenths of a second within () e.g. (\config{\%t(3.5)}). and tenths of a second within () e.g. (\config{\%t(3.5)[,timehide]}).
specify timehide to set number of seconds before tag will be displayed again.
when using timehide the message is displayed for timeshow and not displayed again for timehide seconds.
``Note:'' the max timeout allowed in themes is about 655 seconds (~10 minutes) going over will result in a timeout less than 10 minutes.
\%t(ts,th) supports longer timeouts (~100 minutes)
\end{description} \end{description}
Each alternating subline can still be optionally scrolled while it is Each alternating subline can still be optionally scrolled while it is
@ -464,6 +468,12 @@ Example subline definition:
Display current and remaining track time Display current and remaining track time
for 3 seconds, for 3 seconds,
repeat... repeat...
%s%t(4, 30)%Ia;%s%It;%t(3)%sId; : Display next id3 artist for 4 seconds,
Display next id3 title for 2 seconds,
Display next id3 album for 3 seconds
For the next 30 seconds - display title for 2 seconds and album for 3 seconds
repeat...
\end{example} \end{example}
Conditionals can be used with sublines to display a different set and/or number Conditionals can be used with sublines to display a different set and/or number

View file

@ -559,11 +559,13 @@ Examples of the \%if tag:\\
\section{Subline Tags} \section{Subline Tags}
\begin{tagmap} \begin{tagmap}
\config{\%t(time)} \config{\%t(timeshow [,timehide])} & Set the subline display cycle time.\\
& Set the subline display cycle time (\%t(5) or \%t(3.4) formats) \\
\config{;}
& Split items on a line into separate sublines \\
\end{tagmap} \end{tagmap}
Use this tag to set the time a subline is displayed and optionally the amount of time to hide the line before line will be displayed again
\begin{description}
\item[timeshow] -- how many seconds to display the line (\%t(5) or \%t(3.4) formats).
\item[timehide] -- OPTIONAL, how many seconds to wait before displaying the line again.
\end{description}
Allows grouping of several items (sublines) onto one line, with the Allows grouping of several items (sublines) onto one line, with the
display cycling round the defined sublines. See display cycling round the defined sublines. See

View file

@ -50,6 +50,6 @@
%s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>> %s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>>
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%t(5)%ac%s%?Fn<%Sx(Next:) %?It<%It|%Fn>|%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>>%;%t(5)%ac%s%?Fn<%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%Fn>|%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>>> %t(5)%ac%s%?Fn<%Sx(Next:) %?It<%It|%Fn>|%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>>%;%t(5)%ac%s%?Fn<%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%Fn>|%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>>>;%s%ac%t(1, 300)%ft(playername.txt)
%V(0,48,-,8,-) %V(0,48,-,8,-)
%pc%ar%pr %pc%ar%pr

View file

@ -49,7 +49,7 @@
# #
# Next Track Info # Next Track Info
%V(3,73,122,12,-) %V(3,73,122,12,-)
%s%ac%Sx(Next:) %?It<%It|%Fn> %s%ac%Sx(Next:) %?It<%It|%Fn>;%s%ac%t(1, 300)%ft(playername.txt)
# #
# Time Elapsed/Remaining # Time Elapsed/Remaining
%V(3,95,122,12,1) %V(3,95,122,12,1)

View file

@ -49,7 +49,7 @@
# #
# Next Track Info # Next Track Info
%V(3,70,122,12,-) %V(3,70,122,12,-)
%s%ac%Sx(Next:) %?It<%It|%Fn> %s%ac%Sx(Next:) %?It<%It|%Fn>;%s%ac%t(1, 300)%ft(playername.txt)
# #
# Time Elapsed/Remaining # Time Elapsed/Remaining
%V(3,96,122,12,-) %V(3,96,122,12,-)

View file

@ -55,7 +55,7 @@
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%Sx(Next Track:) %s%ac%Sx(Next Track:);%s%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>
#Time and Playlist Info #Time and Playlist Info

View file

@ -59,4 +59,4 @@
# #
# Next Track Info # Next Track Info
%V(0,42,128,8,1) %V(0,42,128,8,1)
%ac%s%Sx(Next:) %?It<%It|%Fn> %ac%s%Sx(Next:) %?It<%It|%Fn>;%s%ac%t(1, 300)%ft(playername.txt)

View file

@ -49,7 +49,7 @@
# #
# Next Track Info # Next Track Info
%V(3,56,122,12,-) %V(3,56,122,12,-)
%s%ac%Sx(Next:) %?It<%It|%Fn> %s%ac%Sx(Next:) %?It<%It|%Fn>;%s%ac%t(1, 300)%ft(playername.txt)
# #
# Time Elapsed/Remaining # Time Elapsed/Remaining
%V(3,73,122,12,1) %V(3,73,122,12,1)

View file

@ -53,4 +53,4 @@
%s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>> %s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>>
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%Sx(Next:) %ac%It %s%Sx(Next:) %ac%It;%s%ac%t(1, 300)%ft(playername.txt)

View file

@ -57,11 +57,11 @@
%s%al%?id<%id|%?d(1)<%d(1)|%(root%)>> %s%al%?id<%id|%?d(1)<%d(1)|%(root%)>>
%s%al%?it<%it|%fn> %s%al%?it<%it|%fn>
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%al%Sx(Next:) %?It<%It|%Fn> %s%al%Sx(Next:) %?It<%It|%Fn>;%s%al%t(1, 300)%ft(playername.txt)
# #
# Track Info - No Album Art # Track Info - No Album Art
%Vl(b,0,10,-,48,1) %Vl(b,0,10,-,48,1)
%s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>> %s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>>
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%Sx(Next:) %?It<%It|%Fn> %s%ac%Sx(Next:) %?It<%It|%Fn>;%s%ac%t(1, 300)%ft(playername.txt)

View file

@ -61,7 +61,7 @@
%s%al%?id<%id|%?d(1)<%d(1)|%(root%)>> %s%al%?id<%id|%?d(1)<%d(1)|%(root%)>>
%s%al%?it<%it|%fn> %s%al%?it<%it|%fn>
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%al%Sx(Next Track:) %s%al%Sx(Next Track:);%s%al%t(1, 300)%ft(playername.txt)
%s%al%?It<%It|%Fn> %s%al%?It<%It|%Fn>
# #
# Track Info - No Album Art # Track Info - No Album Art
@ -69,5 +69,5 @@
%s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>> %s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>>
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%Sx(Next Track:) %s%ac%Sx(Next Track:);%s%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>

View file

@ -55,5 +55,5 @@
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%s%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>

View file

@ -62,7 +62,7 @@
%s%al%?it<%it|%fn> %s%al%?it<%it|%fn>
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%Sx(Next Track:) %Sx(Next Track:);%t(1, 300)%ft(playername.txt)
%s%?It<%It|%Fn> %s%?It<%It|%Fn>
# #
# Track Info - No Album Art # Track Info - No Album Art
@ -71,5 +71,5 @@
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>

View file

@ -62,7 +62,7 @@
%s%al%?it<%it|%fn> %s%al%?it<%it|%fn>
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%al%Sx(Next Track:) %s%al%Sx(Next Track:);%s%al%t(1, 300)%ft(playername.txt)
%s%al%?It<%It|%Fn> %s%al%?It<%It|%Fn>
# #
# Track Info - No Album Art # Track Info - No Album Art
@ -71,5 +71,5 @@
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%s%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>

View file

@ -62,7 +62,7 @@
%s%al%?it<%it|%fn> %s%al%?it<%it|%fn>
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%al%Sx(Next Track:) %s%al%Sx(Next Track:);%s%al%t(1, 300)%ft(playername.txt)
%s%al%?It<%It|%Fn> %s%al%?It<%It|%Fn>
# #
# Track Info - No Album Art # Track Info - No Album Art
@ -71,5 +71,5 @@
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>

View file

@ -69,6 +69,6 @@
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%?iy<%iy|> %s%ac%?iy<%iy|>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>
%s%ac%?Ia<%Ia|%?IA<%IA>> %s%ac%?Ia<%Ia|%?IA<%IA>>

View file

@ -62,7 +62,7 @@
%s%al%?it<%it|%fn> %s%al%?it<%it|%fn>
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%al%Sx(Next Track:) %s%al%Sx(Next Track:);%s%al%t(1, 300)%ft(playername.txt)
%s%al%?It<%It|%Fn> %s%al%?It<%It|%Fn>
# #
# Track Info - No Album Art # Track Info - No Album Art
@ -71,5 +71,5 @@
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>

View file

@ -30,7 +30,7 @@
%?C<%s%ac%?it<%it|%fn>|> %?C<%s%ac%?it<%it|%fn>|>
%?C<%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>|%ac%Sx(Next Track:)>> %?C<%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>|%ac%Sx(Next Track:)>>
%?C<|%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>>> %?C<|%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>>>
%?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>> %?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>>;%s%ac%t(1, 300)%ft(playername.txt)
%pc%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>%ar%pr %pc%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>%ar%pr

View file

@ -61,7 +61,7 @@
%s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>> %s%ac%?id<%id|%?d(1)<%d(1)|%(root%)>>
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn> %s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>;%s%ac%t(1, 300)%ft(playername.txt)
# #
# Track Info - No Album Art # Track Info - No Album Art
%Vl(b,0,45,-,198,1) %Vl(b,0,45,-,198,1)
@ -73,7 +73,7 @@
%ac%?ig<%ig|> %ac%?ig<%ig|>
%ac%?fv<%(vbr%) |>%fb kbit/s %fc %ac%?fv<%(vbr%) |>%fb kbit/s %fc
%ac%Sx(Next:) %ac%Sx(Next:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>> %s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>
%ac%s%?It<%It|%Fn> %ac%s%?It<%It|%Fn>
%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> %s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>>

View file

@ -25,7 +25,7 @@
%?C<%s%ac%?it<%it|%fn>|> %?C<%s%ac%?it<%it|%fn>|>
%?C<%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>|%ac%Sx(Next Track:)> %?C<%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>|%ac%Sx(Next Track:)>
%?C<|%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>>> %?C<|%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>>>
%?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>> %?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>>;%s%ac%t(1, 300)%ft(playername.txt)
%pc%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>%ar%pr %pc%ac%?Sr<%pe %Sx(of) %pp|%pp %Sx(of) %pe>%ar%pr

View file

@ -35,7 +35,7 @@
%s%al%?id<%id|%?d(1)<%d(1)|%(root%)>> %s%al%?id<%id|%?d(1)<%d(1)|%(root%)>>
#%s%al%iy #%s%al%iy
%s%al%Sx(Next Track:) %s%al%Sx(Next Track:);%s%al%t(1, 300)%ft(playername.txt)
%s%al%?It<%It|%Fn> %s%al%?It<%It|%Fn>
%s%al%?Ia<%Ia|%IA> %s%al%?Ia<%Ia|%IA>
@ -45,7 +45,7 @@
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%iy %s%ac%iy
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>
%s%ac%?Ia<%Ia|%IA> %s%ac%?Ia<%Ia|%IA>

View file

@ -63,7 +63,7 @@
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%al%?iy<%iy> %s%al%?iy<%iy>
%s%al%Sx(Next Track:) %s%al%Sx(Next Track:);%s%al%t(1, 300)%ft(playername.txt)
%s%al%?It<%It|%Fn> %s%al%?It<%It|%Fn>
%s%al%?Ia<%Ia|%?IA<%IA>> %s%al%?Ia<%Ia|%?IA<%IA>>
# #
@ -74,6 +74,6 @@
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%?iy<%iy> %s%ac%?iy<%iy>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>
%s%ac%?Ia<%Ia|%?IA<%IA>> %s%ac%?Ia<%Ia|%?IA<%IA>>

View file

@ -35,7 +35,7 @@
%ac%?ig<%ig|> %ac%?ig<%ig|>
%ac%?fv<%(vbr%) |>%fb kbit/s %fc %ac%?fv<%(vbr%) |>%fb kbit/s %fc
%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> %s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%ac%s%?It<%It|%Fn> %ac%s%?It<%It|%Fn>
# #
# album art viewport # album art viewport
@ -53,7 +53,7 @@
# next track info - AA # next track info - AA
%Vl(d,0,338,-,-120,-) %Vl(d,0,338,-,-120,-)
%?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>> %?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>>;%s%ac%t(1, 300)%ft(playername.txt)
# playtime # playtime
%V(15,398,290,30,-) %V(15,398,290,30,-)

View file

@ -62,7 +62,7 @@
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn> %s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>;%s%ac%t(1, 300)%ft(playername.txt)
# #
# Track Info - No Album Art # Track Info - No Album Art
%Vl(b,0,56,-,247,1) %Vl(b,0,56,-,247,1)
@ -75,7 +75,7 @@
%ac%?fv<%(vbr%) |>%fb kbit/s %fc %ac%?fv<%(vbr%) |>%fb kbit/s %fc
%ac%Sx(Next:) %ac%Sx(Next:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>> %s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>
%ac%s%?It<%It|%Fn> %ac%s%?It<%It|%Fn>
%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> %s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>>

View file

@ -63,7 +63,7 @@
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%al%?iy<%iy> %s%al%?iy<%iy>
%s%al%Sx(Next Track:) %s%al%Sx(Next Track:);%s%al%t(1, 300)%ft(playername.txt)
%s%al%?It<%It|%Fn> %s%al%?It<%It|%Fn>
%s%al%?Ia<%Ia|%?IA<%IA>> %s%al%?Ia<%Ia|%?IA<%IA>>
# #
@ -74,6 +74,6 @@
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%ac%?iy<%iy> %s%ac%?iy<%iy>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?It<%It|%Fn> %s%ac%?It<%It|%Fn>
%s%ac%?Ia<%Ia|%?IA<%IA>> %s%ac%?Ia<%Ia|%?IA<%IA>>

View file

@ -36,7 +36,7 @@
%ac%?ig<%ig|> %ac%?ig<%ig|>
%ac%?fv<%(vbr%) |>%fb kbit/s %fc %ac%?fv<%(vbr%) |>%fb kbit/s %fc
%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> %s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%ac%s%?It<%It|%Fn> %ac%s%?It<%It|%Fn>
# #
# album art viewport # album art viewport
@ -54,7 +54,7 @@
# next track info - AA # next track info - AA
%Vl(d,0,550,-,-200,-) %Vl(d,0,550,-,-200,-)
%?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>> %?C<%s%ac%Sx(Next:) %?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>|%s%ac%?Id<%Id|%?D(1)<%D(1)|%(root%)>>>;%s%ac%t(1, 300)%ft(playername.txt)
# playtime # playtime
%V(20,660,440,36,-) %V(20,660,440,36,-)

View file

@ -21,7 +21,7 @@
%s%ac%?it<%it|%fn> %s%ac%?it<%it|%fn>
%s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%ac%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%ac%Sx(Next Track:) %ac%Sx(Next Track:);%ac%t(1, 300)%ft(playername.txt)
%s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn> %s%ac%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>
# #
@ -38,7 +38,7 @@
%s%al%?it<%it|%fn> %s%al%?it<%it|%fn>
%s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>> %s%al%?ia<%ia|%?iA<%iA|%?d(2)<%d(2)|%(root%)>>>
%s%al%Sx(Next Track:) %s%al%Sx(Next Track:);%s%al%t(1, 300)%ft(playername.txt)
%s%al%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn> %s%al%?Ia<%Ia|%?IA<%IA|%?D(2)<%D(2)|%(root%)>>> - %?It<%It|%Fn>
# playtime # playtime

View file

@ -49,7 +49,7 @@
# #
# Next Track Info # Next Track Info
%V(2,56,92,8,1) %V(2,56,92,8,1)
%s%ac%Sx(Next:) %?It<%It|%Fn> %s%ac%Sx(Next:) %?It<%It|%Fn>;%s%ac%t(1, 300)%ft(playername.txt)
# #
# Time Elapsed/Remaining # Time Elapsed/Remaining
%V(2,73,92,8,1) %V(2,73,92,8,1)