2 File Format Specifications
4 Description / General Info
5 --------------------------
6 * The Custom WPS Display is used on both the Rockbox Player and Recorder,
7 as a means to customize the WPS to the user's likings.
8 * After editing the .wps file, "play" it to make it take effect.
9 * The file may be 2 lines long for the Player, and 10 lines for the Recorder.
10 * All characters not preceded by % are displayed as typed.
11 * A line beginning with # is a comment
15 Custom WPS files may be located anywhere on the drive. The only restriction is
16 that they must end in .wps. When you PLAY a .wps file, it'll be used for the
17 future WPS screens. If the "played" wps file is located in the /.rockbox
18 folder, it'll be remembered and used for subsequent restarts. Filenames in the
19 /.rockbox folder must be no more than 24 characters long.
28 %in : ID3 Track Number
30 %iv : ID3 Version (1.0, 1.1, 2.2, 2.3, 2.4 or empty if no id3 tag)
35 %bl : Show numeric battery level in percent
36 %bt : Show estimated battery time left
39 %fb : File Bitrate (in kbps)
40 %ff : File Frequency (in Hz)
42 %fn : File Name (without extension)
44 %fs : File Size (In Kilobytes)
45 %fv : "(vbr)" if variable bit rate or "" if constant bit rate
46 %d1 : First directory from end of file path.
47 %d2 : Second directory from end of file path.
48 %d3 : Third directory from end of file path.
50 Example for the the %dN commands: If the path is "/Rock/Kent/Isola/11 -
51 747.mp3", %d1 is "Isola", %d2 is "Kent"... You get the picture.
53 Playlist/Song Info Tags:
55 Player: This will display a 1 character "cup" that empties as the
57 Recorder: This will replace the entire line with a progress bar.
58 %pf : Player: Full-line progress bar + time display
59 %pc : Current Time In Song
60 %pe : Total Number of Playlist Entries
61 %pm : Peak Meter (Recorder only)
62 The entire line is used as volume peak meter.
63 %pn : Playlist Name (Without path or extension)
64 %pp : Playlist Position
65 %pr : Remaining Time In Song
66 %ps : Shuffle. Shows 's' if shuffle mode is enabled.
67 %pt : Total Track Time
76 %mf : repeat off, returns f
77 %ma : repeat all, returns a
78 %mo : repeat one, returns o
79 %ms : repeat shuffle, returns s
83 %mu : pause, returns u
84 %mw : fastforward, returns w
85 %mb : fastbackward, returns b
87 Conditional Tags (If/Else block):
88 %?xx<|> : Conditional: if the tag specified by "xx" has a value, the
89 text between the "<" and the "|" is displayed, else the text
90 between the "|" and the ">" is displayed.
91 The else part is optional, so the "|" does not have to be
92 specified if no else part is desired. The conditionals nest,
93 so the text in the if and else part can contain all %
94 commands, including conditionals.
97 %al : Text is left aligned
98 %ac : Text is center aligned
99 %ar : Text is right aligned
101 All alignment tags may be present in on line, but the need to be in the order
102 left - center - right. If the aligned texts overlap, they are merged.
106 You can display information about the next song - the song that is about to
107 play after the one currently playing (unless you change the plan).
109 If you use the uppercase versions of the three tags: F, I and D, they will
110 instead refer to the next song instead of the current one. Example: %Ig is
111 the genre name used in the next song and %Ff is the mp3 frequency.
113 Take note that the next song information WILL NOT be available at all times,
114 but will most likely be available at the end of a song. We suggest you use the
115 conditional display tag a lot when displaying information about the next song!
119 It is possible to group items on each line into 2 or more groups or "sublines".
120 Each subline will be displayed in succession on the line for a specified time,
121 alternating continuously through each defined subline.
123 Items on a line are broken into sublines with the semicolon ';' character. The
124 display time for each subline defaults to 2 seconds unless modified by using
125 the '%t' tag to specify an alternate time (in seconds and optional tenths of a
126 second) for the subline to be displayed.
128 Subline related special characters and tags:
129 ; : Split items on a line into separate sublines
130 %t : Set the subline display time. The '%t' is followed by either integer
131 seconds (%t5), or seconds and tenths of a second (%t3.5).
134 Each alternating subline can still be optionally scrolled while it is being
135 displayed, and scrollable formats can be displayed on the same line with
136 non-scrollable formats (such as track elapsed time) as long as they are
137 separated into different sublines.
139 Example subline definition:
141 %s%t4%ia;%s%it;%t3%pc %pr : Display id3 artist for 4 seconds,
142 Display id3 title for 2 seconds,
143 Display current and remaining track time
147 Conditionals can be used with sublines to display a different set and/or number
148 of sublines on the line depending on the evaluation of the conditional.
150 Example subline with conditionals:
152 %?it<%t8%s%it|%s%fn>;%?ia<%t3%s%ia|%t0>
154 The format above will do two different things depending if ID3
155 tags are present. If the ID3 artist and title are present :
157 Display id3 title for 8 seconds,
158 Display id3 artist for 3 seconds,
161 If the ID3 artist and title are not present :
162 Display the filename continuously.
164 Note that by using a subline display time of 0 in one branch of a conditional,
165 a subline can be skipped (not displayed) when that condition is met.
175 %s : Indicate that the line should scroll. Can occur anywhere in
176 a line (given that the text is displayed; see conditionals
177 above). You can specify up to 10 scrolling lines.
178 Scrolling lines can not contain dynamic content such as timers,
179 peak meters or progress bars.
183 %s%?in<%in - >%?it<%it|%fn> %?ia<[%ia%?id<, %id>]>
186 That is, "tracknum - title [artist, album]", where most fields are only
187 displayed if available. Could also be rendered as "filename" or
188 "tracknum - title [artist]".
192 If you haven't selected a .wps file in the .rockbox directory, you get the
193 hardcoded wps layout. The default WPS screen is for player:
195 # Default WPS for Player
196 %s%pp/%pe: %?it<%it|%fn> - %?ia<%ia|%d2> - %?id<%id|%d1>
201 # Default WPS for Recorder
202 %s%?it<%?in<%in. |>%it|%fn>
203 %s%?ia<%ia|%?d2<%d2|(root)>>
204 %s%?id<%id|%?d1<%d1|(root)>> %?iy<(%iy)|>
207 %fbkBit %?fv<avg|> %?iv<(id3v%iv)|(no id3)>