summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manual/advanced_topics/main.tex487
-rw-r--r--manual/booktabs.sty182
-rw-r--r--manual/preamble.tex4
3 files changed, 497 insertions, 176 deletions
diff --git a/manual/advanced_topics/main.tex b/manual/advanced_topics/main.tex
index 97165d6855..3068a76acb 100644
--- a/manual/advanced_topics/main.tex
+++ b/manual/advanced_topics/main.tex
@@ -50,131 +50,238 @@ tracker.
50\subsection{Description / General Info} 50\subsection{Description / General Info}
51 51
52\begin{itemize} 52\begin{itemize}
53\item The Custom While Playing Screen (WPS) display is used on both the 53\item The Custom While Playing Screen (WPS) display is used as a means to customise the WPS to the user's likings.
54Player and Recorder as a means to customise the WPS to the
55user's likings.
56\item After editing the .wps file, ``play'' it to make it take effect. 54\item After editing the .wps file, ``play'' it to make it take effect.
57\item The file may be 2 lines long for the Player, and 13 lines for the
58Recorder.
59\item All characters not preceded by \% are displayed as typed. 55\item All characters not preceded by \% are displayed as typed.
60\item Lines beginning with \# are comments and will be ignored. 56\item Lines beginning with \# are comments and will be ignored.
57\item Maximum file size used is \opt{recorder,recorderv2fm,ondio,h1xx,h300,ipodcolor,ipodnano}{1600}\opt{player}{400} bytes. If you have a bigger WPS file, only the first part of it will be loaded and used.
61\end{itemize} 58\end{itemize}
62 59
63\subsection{File Location} 60\subsection{File Location}
64Custom WPS files may be located anywhere on the drive. The only 61Custom WPS files may be located anywhere on the drive. The only restriction is that they must end in .wps. When you ``play'' a .wps file, it will be used for future WPS screens. If the ``played'' .wps file is located in the /.rockbox folder, it will be remembered and used after reboot. The .wps filename must be no more than 24 characters long for it to be remembered.
65restriction is that they must end in .wps. When PLAY is pressed on a
66.wps file, it will be used for future WPS screens. If the
67``played'' .wps file is located in the
68/.rockbox folder, it will be remembered and used after reboot. The .wps
69filename must be no more than 24 characters long for it to be
70remembered.
71 62
72\subsection{Tags} 63\subsection{How To Create A .wps File}
73 64Quite simply, enter the WPS code in your favourite text editor, Notepad on Windows works fine. When you save it, instead of saving it as a .txt file, save it as a .wps file. Example: Instead of Rockbox.txt, save the file as Rockbox.wps. To make sure non english characters display correctly in your WPS you must save the .wps file with UTF-8 character encoding. This can be done in most editors, for example Notepad in Windows 2000 or XP (but not in 9x/ME) can do this.
74\begin{itemize}
75\item {\bfseries
76ID3 Info Tags:}
77
78\%ia : ID3 Artist
79
80\%ic : ID3 Composer
81
82\%id : ID3 Album Name
83
84\%ig : ID3 Genre Name
85
86\%in : ID3 Track Number
87
88\%it : ID3 Track Title
89
90\%iy : ID3 Year
91
92\%iv : ID3 Version (1.0, 1.1, 2.2, 2.3, 2.4 or empty if no id3 tag)
93\item {\bfseries
94Battery Info:}
95
96\%bl : Show numeric battery level in percent
97
98\%bt : Show estimated battery time left
99\item {\bfseries
100File Info Tags:}
101
102\%fb : File Bitrate (in kbps)
103
104\%ff : File Frequency (in Hz)
105
106\%fm : File Name
107 65
108\%fn : File Name (without extension) 66\subsection{Tags}
109
110\%fp : File Path
111
112\%fs : File Size (In Kilobytes)
113
114\%fv : ``(vbr)'' if variable bit rate or ``'' if constant bit rate
115
116\%d1 : First directory from end of file path.
117
118\%d2 : Second directory from end of file path.
119
120\%d3 : Third directory from end of file path.
121
122Example for the the \%dN commands: If the path is /Rock/Kent/Isola/11
123{}-747.mp3, \%d1 is ``Isola'', \%d2 is ``Kent'', \%d3 is ``Rock''.
124\end{itemize}
125
126\begin{itemize}
127\item {\bfseries
128Playlist/Song Info Tags:}
129 67
130\%pb : Progress Bar 68\subsubsection{Status Bar}
69\begin{center}
70 \begin{tabular}{@{}ll@{}}\toprule
71 \textbf{Tag} & \textbf{Description}\\\midrule
72 \%we & Status Bar Enabled\\
73 \%wd & Status Bar Disabled\\\bottomrule
74 \end{tabular}
75\end{center}
76These tags override the player setting for the display of the status bar, they must be on their own line.
77
78\subsubsection{ID3 Info}
79\begin{center}
80 \begin{tabular}{@{}ll@{}}\toprule
81 \textbf{Tag} & \textbf{Description}\\\midrule
82 \%ia & ID3 Artist\\
83 \%ic & ID3 Composer\\
84 \%id & ID3 Album Name\\
85 \%ig & ID3 Genre Name\\
86 \%in & ID3 Track Number\\
87 \%it & ID3 Track Title\\
88 \%iv & ID3 Version (1.0, 1.1, 2.2, 2.3, 2.4 or empty if no id3 tag)\\
89 \%iy & ID3 Year\\\bottomrule
90 \end{tabular}
91\end{center}
92Remember that this information is not always available, so use the conditionals to show alternate information in preference to assuming.
93
94\subsubsection{Battery Info}
95\begin{center}
96 \begin{tabular}{@{}ll@{}}\toprule
97 \textbf{Tag} & \textbf{Description}\\\midrule
98 \%bl & Show numeric battery level in percent.\\
99 & Can also be used in a conditional: \%?bl{\textless}0{\textbar}1{\textbar}2{\textbar}3{\textbar}4{\textgreater}\\
100 \%bv & Show the battery level in volts\\
101 \%bt & Show estimated battery time left\\
102 \%bp & "p" if the charger is connected \\
103 & (only on targets that can charge batteries)\\
104 \%bc & "c" if the unit is currently charging the battery\\
105 & (only on targets that have software charge control or monitoring)\\\bottomrule
106 \end{tabular}
107\end{center}
108
109\subsubsection{File Info}
110\begin{center}
111 \begin{tabular}{@{}ll@{}}\toprule
112 \textbf{Tag} & \textbf{Description}\\\midrule
113 \%fb & File Bitrate (in kbps)\\
114 \%fc & File Codec (e.g. "MP3" or "FLAC")\\
115 & This tag can also be used in a conditional tag,\\
116 & \%?fc{\textless}mp1{\textbar}mp2{\textbar}mp3{\textbar}wav{\textbar}vorbis{\textbar}flac{\textbar}mpc{\textbar}a52{\textbar}wavpack{\textbar}unknown{\textgreater}\\
117 & The codec order is as follows: MP1, MP2, MP3, WAV, Ogg Vorbis (OGG),\\
118 & FLAC, MPC, AC3, WavPack (WV), ALAC, AAC, Shorten (SHN), AIFF\\
119 \%ff & File Frequency (in Hz)\\
120 \%fm & File Name\\
121 \%fn & File Name (without extension)\\
122 \%fp & File Path\\
123 \%fs & File Size (In Kilobytes)\\
124 \%fv & "(avg)" if variable bit rate or "" if constant bit rate\\
125 \%d1 & First directory from end of file path.\\
126 \%d2 & Second directory from end of file path.\\
127 \%d3 & Third directory from end of file path.\\\bottomrule
128 \end{tabular}
129\end{center}
130Example for the the \%dN commands: If the path is "/Rock/Kent/Isola/11 - 747.mp3", \%d1 is "Isola", \%d2 is "Kent"... You get the picture.
131
132\subsubsection{Playlist/Song Info}
133\begin{center}
134 \begin{tabular}{@{}ll@{}}\toprule
135 \textbf{Tag} & \textbf{Description}\\\midrule
136 \%pb & Progress Bar
137 \opt{player}{
138 & This will display a 1 character "cup" \\
139 & that empties as the time progresses.}\\
140 \opt{recorder,recorderv2fm,h1xx,h300,ipodcolor,ipodnano}{
141 & This will replace the entire line with a progress bar. \\
142 & You can set the height, position and width of the progressbar\\
143 & (in pixels): \%pb{\textbar}height{\textbar}leftpos{\textbar}rightpos{\textbar}} \\
144 \%pf & Player: Full-line progress bar + time display\\
145 \%pc & Current Time In Song\\
146 \%pe & Total Number of Playlist Entries\\
147 \%pm & Peak Meter (Recorder only) The entire line is used as volume peak meter.\\
148 \%pn & Playlist Name (Without path or extension)\\
149 \%pp & Playlist Position\\
150 \%pr & Remaining Time In Song\\
151 \%ps & Shuffle. Shows 's' if shuffle mode is enabled.\\
152 \%pt & Total Track Time\\
153 \%pv & Current volume. Can also be used in a conditional: \\
154 & \%?pv{\textless}0{\textbar}1{\textbar}2{\textbar}3{\textbar}4{\textbar}5{\textbar}6{\textbar}7{\textbar}8{\textbar}9{\textbar}10{\textgreater}\\\bottomrule
155 \end{tabular}
156\end{center}
157
158\subsubsection{Runtime Database}
159\begin{center}
160 \begin{tabular}{@{}ll@{}}\toprule
161 \textbf{Tag} & \textbf{Description}\\\midrule
162 \%rp & Song playcount\\
163 \%rr & Song rating (0-10). This tag can also be used in a conditional tag,\\
164 & \%?rr{\textless}0{\textbar}1{\textbar}2{\textbar}3{\textbar}4{\textbar}5{\textbar}6{\textbar}7{\textbar}8{\textbar}9{\textbar}10{\textgreater}\\\bottomrule
165 \end{tabular}
166\end{center}
167
168\opt{h1xx,h300}{
169\subsubsection{Hold Switches}
170\begin{center}
171 \begin{tabular}{@{}ll@{}}\toprule
172 \textbf{Tag} & \textbf{Description}\\\midrule
173 \%mh & "h" if the main unit hold switch is on\\
174 \%mr & "r" if the remote hold switch is on\\\bottomrule
175 \end{tabular}
176\end{center}
177}
178
179\subsubsection{Virtual LED}
180\begin{center}
181 \begin{tabular}{@{}ll@{}}\toprule
182 \textbf{Tag} & \textbf{Description}\\\midrule
183 \%lh & "h" if there is hard disk activity\\\bottomrule
184 \end{tabular}
185\end{center}
186
187\subsubsection{Repeat Mode}
188\begin{center}
189 \begin{tabular}{@{}ll@{}}\toprule
190 \textbf{Tag} & \textbf{Description}\\\midrule
191 \%mm & Repeat mode, 0-4, in the order: Off, All, One, Shuffle, \opt{player,recorder,recorderv2fm}{A-B}\\\bottomrule
192 \end{tabular}
193\end{center}
194Example: \%?mm{\textless}Off{\textbar}All{\textbar}One{\textbar}Shuffle{\textbar}A-B{\textgreater}
195
196\subsubsection{Playback Mode Tags}
197\begin{center}
198 \begin{tabular}{@{}ll@{}}\toprule
199 \textbf{Tag} & \textbf{Description}\\\midrule
200 \%mp & Play status, 0-4, in the order: Stop, Play, Pause, Fast forward, Rewind\\\bottomrule
201 \end{tabular}
202\end{center}
203Example: \%?mp{\textless}Stop{\textbar}Play{\textbar}Pause{\textbar}Ffwd{\textbar}Rew{\textgreater}
204
205\subsubsection{Images}
206\begin{center}
207 \begin{tabular}{@{}ll@{}}\toprule
208 \textbf{Tag} & \textbf{Description}\\\midrule
209 \%X{\textbar}filename.bmp{\textbar} & Load and set a backdrop image for the WPS.\\
210 & This image must be exactly the same size as your LCD.\\
211 \%P{\textbar}filename.bmp{\textbar} & Load a Progress bar image for the WPS.\\
212 & Use \%pb tag to show the progress bar\\
213 \%x{\textbar}n{\textbar}filename{\textbar}x{\textbar}y{\textbar} & Load and display an image\\
214 & n = image ID (a-z and A-Z)\\
215 & filename = filename (relative to /.rockbox/ and including .bmp)\\
216 & x = x coordinate\\
217 & y = y coordinate.\\
218 \%xl{\textbar}n{\textbar}filename{\textbar}x{\textbar}y{\textbar} & Preload an image for later display\\
219 & n = image ID (a-z and A-Z)\\
220 & filename = filename (relative to /.rockbox/ and including .bmp)\\
221 & x = x coordinate\\
222 & y = y coordinate.\\
223 \%xdn & Display a preloaded image\\
224
225 & n = image ID (a-z and A-Z)\\\bottomrule
226 \end{tabular}
227\end{center}
228Example: image /.rockbox/bg.bmp with ID "a" at 37, 109 would be: \%x{\textbar}a{\textbar}bg.bmp{\textbar}37{\textbar}109{\textbar}
131 229
132\begin{itemize} 230\begin{itemize}
133\item[] { 231\item \textbf{Note:} The images must be in a rockbox compatible format (1 bit per pixel BMP)
134Player: This will display a 1 character 232\item \textbf{Note:} The image tag must be on its own line
135``cup'' that empties as the song progresses.} 233\item \textbf{Note:} The ID is case sensitive, giving 52 different ID's
136 234\item \textbf{Note:} The size of the LCD screen for each player varies. See table below for appropriate sizes of each device. The x and y coordinates must repect each of the players' limits.
137Recorder: This will replace the entire line with a progress bar.
138\end{itemize}
139\%pf : Player: Full{}-line progress bar + time display
140
141\%pc : Current Time In Song
142
143\%pe : Total Number of Playlist Entries
144
145\%pm : Peak Meter (Recorder only) {}- the entire line is used as volume
146peak meter.
147
148\%pn : Playlist Name (Without path or extension)
149
150\%pp : Playlist Position
151
152\%pr : Remaining Time In Song
153
154\%ps : Shuffle. Shows 's' if shuffle
155mode is enabled.
156
157\%pt : Total Track Time
158
159\%pv : Current volume
160\item {\bfseries
161Conditional Tags (If/Else block):}
162
163 \%?xx{\textless}{\textbar}{\textgreater} : Conditional: if the tag
164specified by ``xx'' has a value, the text
165between the ``{\textless}'' and the ``{\textbar}'' is displayed, else the text
166between the ``{\textbar}'' and the
167``{\textgreater}'' is displayed. The else part is optional, so the ``{\textbar}'' does not have to be specified if no else part is desired. The conditionals
168nest, so the text in the if and else part can contain all \% commands,
169including conditionals.
170\end{itemize} 235\end{itemize}
171\begin{itemize}
172\item {\bfseries
173Next Song info}
174 236
237\subsubsection{LCD Screen Sizes}
238\begin{center}
239 \begin{tabular}{@{}lll@{}}\toprule
240 \textbf{Player} & \textbf{Main LCD Size} & \textbf{Remote LCD Size}\\\midrule
241 iRiver H1x0 & 160x128 & 128x64\\
242 iRiver H3x0 & 220x176 & 128x64\\
243 Archos Recorders & 112x64 & \\
244 Archos Ondio & 112x64 & \\
245 iPod Nano & 176x132 & \\
246 iPod 4G Color & 220x176 & \\
247 iPod 5G Video & 320x240 & \\
248 iAudio X5 & 160x128 & \\\bottomrule
249 \end{tabular}
250\end{center}
251
252\subsubsection{Alignment}
253\begin{center}
254 \begin{tabular}{@{}lll@{}}\toprule
255 \textbf{Tag} & \textbf{Description}\\\midrule
256 \%al & Text is left aligned\\
257 \%ac & Text is center aligned\\
258 \%ar & Text is right aligned\\\bottomrule
259 \end{tabular}
260\end{center}
261All alignment tags may be present in one line, but they need to be in the order left - center - right. If the aligned texts overlap, they are merged.
262
263\subsubsection{Conditional Tags}
264\textbf{If/else}\\
265\newline
266Syntax: \%?xx{\textless}true{\textbar}false{\textgreater}\\
267
268If the tag specified by ``xx'' has a value, the text between the ``{\textless}'' and the ``{\textbar}'' is displayed (the true part), else the text between the ``{\textbar}'' and the ``{\textgreater}'' is displayed (the false part).
269The else part is optional, so the ``{\textbar}'' does not have to be specified if no else part is desired. The conditionals nest, so the text in the if and else part can contain all \% commands, including conditionals.
270\newline
271\textbf{Enumerations}\\
272\newline
273Syntax: \%?xx{\textless}alt1{\textbar}alt2{\textbar}alt3{\textbar}...{\textbar}else{\textgreater}
274
275For tags with multiple values, like Play status, the conditional can hold a list of alternatives, one for each value the tag can have.
276
277Example: \%?mp{\textless}Stop{\textbar}Play{\textbar}Pause{\textbar}Ffwd{\textbar}Rew{\textgreater}
278
279The last else part is optional, and will be displayed if the tag has no value. The WPS parser will always display the last part if the tag has no value, or if the list of alternatives is too short.
280
281\subsubsection{Next Song info}
175You can display information about the next song {}- the song that is 282You can display information about the next song {}- the song that is
176about to play after the one currently playing (unless you change the 283about to play after the one currently playing (unless you change the
177plan). 284plan).
178 285
179If you use the upper{}-case versions of the 286If you use the upper{}-case versions of the
180three tags: F, I and D, they will instead refer to the next song 287three tags: F, I and D, they will instead refer to the next song
@@ -185,8 +292,8 @@ Take note that the next song information WILL NOT be available at all
185times, but will most likely be available at the end of a song. We 292times, but will most likely be available at the end of a song. We
186suggest you use the conditional display tag a lot when displaying 293suggest you use the conditional display tag a lot when displaying
187information about the next song! 294information about the next song!
188\item {\bfseries 295
189Alternating sublines} 296\subsubsection{Alternating sublines}
190 297
191It is possible to group items on each line into 2 or more groups or 298It is possible to group items on each line into 2 or more groups or
192``sublines''. Each subline will be displayed 299``sublines''. Each subline will be displayed
@@ -211,70 +318,100 @@ seconds (\%t5), or seconds and tenths of a second (\%t3.5).
211Each alternating subline can still be optionally scrolled while it is 318Each alternating subline can still be optionally scrolled while it is
212being displayed, and scrollable formats can be displayed on the same 319being displayed, and scrollable formats can be displayed on the same
213line with non{}-scrollable formats (such as track elapsed time) as long 320line with non{}-scrollable formats (such as track elapsed time) as long
214as they are separated into different sublines. 321as they are separated into different sublines.
215\item {\bfseries 322
216Other Tags:} 323Example subline definition:
217 324
218\%\% : Display a '\%' 325\begin{verbatim}
219 326 %s%t4%ia;%s%it;%t3%pc %pr : Display id3 artist for 4 seconds,
220\%{\textless} : Display a 327 Display id3 title for 2 seconds,
221'{\textless}' 328 Display current and remaining track time
222 329 for 3 seconds,
223\%{\textbar} : Display a '{\textbar}' 330 repeat...
224 331\end{verbatim}
225\%{\textgreater} : Display a 332
226'{\textgreater}' 333Conditionals can be used with sublines to display a different set and/or number of sublines on the line depending on the evaluation of the conditional.
227 334
228\%s : Indicate that the line should scroll. Can occur anywhere in a line 335Example subline with conditionals:
229(given that the text is displayed; see conditionals above). You can 336
230specify up to 10 scrolling lines. Scrolling lines can not contain 337\%?it{\textless}\%t8\%s\%it{\textbar}\%s\%fn{\textgreater};\%?ia{\textless}\%t3\%s\%ia{\textbar}\%t0{\textgreater}\\
231dynamic content such as timers, peak meters or progress bars. 338
232\end{itemize} 339The format above will do two different things depending if ID3 tags are present. If the ID3 artist and title are present :
233{\bfseries 340
234Example File} 341Display id3 title for 8 seconds,\\
235 342
236\%s\%pp/\%pe: \%?it{\textless}\%it{\textbar}\%fn{\textgreater} {}- 343Display id3 artist for 3 seconds,\\
237\%?ia{\textless}\%ia{\textbar}\%d2{\textgreater} {}- 344
238\%?id{\textless}\%id{\textbar}\%d1{\textgreater} 345repeat...\\
239 346
240\%pb\%pc/\%pt 347If the ID3 artist and title are not present :\\
241 348
242That is, ``tracknum {}- title [artist, 349Display the filename continuously.\\
243album]'', where most fields are only displayed if 350
244available. Could also be rendered as 351Note that by using a subline display time of 0 in one branch of a conditional, a subline can be skipped (not displayed) when that condition is met.
245``filename'' or ``tracknum {}-title [artist]''. 352
246 353\subsubsection{Other Tags}
247{\bfseries 354\begin{verbatim}
248Default} 355 %% : Display a '%'
249 356 %< : Display a '<'
357 %| : Display a '|'
358 %> : Display a '>'
359 %; : Display a ';'
360 %s : Indicate that the line should scroll. Can occur anywhere in
361 a line (given that the text is displayed; see conditionals
362 above). You can specify up to 10 scrolling lines.
363 Scrolling lines can not contain dynamic content such as timers,
364 peak meters or progress bars.
365\end{verbatim}
366
367\subsubsection{Using Images}
368You can have as many as 52 images in your WPS. There are two ways of displaying images:
369\begin{enumerate}
370 \item Load and always show the image, using the \%x tag
371 \item Preload the image with \%xl and show it with \%xd. This way you can have your images displayed conditionally.
372 \item Load an image and show as backdrop using the \%X tag. The image must be of the same exact dimensions as your display. (Currently only supported on color targets).
373\end{enumerate}
374Example:
375\begin{verbatim}
376%X|background.bmp|
377%x|a|static_icon.bmp|50|50|
378%xl|b|rep_off.bmp|16|64|
379%xl|c|rep_all.bmp|16|64|
380%xl|d|rep_one.bmp|16|64|
381%xl|e|rep_shuffle.bmp|16|64|
382%?mm<%xdb|%xdc|%xdd|%xde>
383\end{verbatim}
384This example loads and displays a background image, and preloads four other images at the same x and y position. Which image to display is determined by the \%mm tag (the repeat mode).
385
386\subsubsection{Example File}
387\begin{verbatim}
388%s%?in<%in - >%?it<%it|%fn> %?ia<[%ia%?id<, %id>]>
389%pb%pc/%pt
390\end{verbatim}
391That is, "tracknum - title [artist, album]", where most fields are only displayed if available. Could also be rendered as "filename" or "tracknum - title [artist]".
392
393\subsubsection{Default}
250If you haven't selected a .wps file in the /.rockbox 394If you haven't selected a .wps file in the /.rockbox
251directory, you get the hard coded layout. The default WPS screen for 395directory, you get the hard coded layout. The default WPS screen is:
252Players is: 396\opt{player}{
253 397%\begin{verbatim}
254\%s\%pp/\%pe: \%?it{\textless}\%it{\textbar}\%fn{\textgreater} {}- 398 %s%pp/%pe: %?it<%it|%fn> - %?ia<%ia|%d2> - %?id<%id|%d1>
255\%?ia{\textless}\%ia{\textbar}\%d2{\textgreater} {}- 399 %pc%?ps<*|/>%pt
256\%?id{\textless}\%id{\textbar}\%d1{\textgreater} 400%\end{verbatim}
257 401}
258\%pc\%?ps{\textless}*{\textbar}/{\textgreater}\%pt 402
259 403\opt{recorder,recorderv2fm,h1xx,h300,ipodcolor,ipodnano}{
260And for the Recorder and Ondio: 404% \begin{verbatim}
261 405 %s%?it<%?in<%in. |>%it|%fn>
262\%s\%?it{\textless}\%?in{\textless}\%in. 406 %s%?ia<%ia|%?d2<%d2|(root)>>
263{\textbar}{\textgreater}\%it{\textbar}\%fn{\textgreater} 407 %s%?id<%id|%?d1<%d1|(root)>> %?iy<(%iy)|>
264 408
265\%s\%?ia{\textless}\%ia{\textbar}\%?d2{\textless}\%d2{\textbar}(root){\textgreater}{\textgreater} 409 %al%pc/%pt%ar[%pp:%pe]
266 410 %fbkBit %?fv<avg|> %?iv<(id3v%iv)|(no id3)>
267\%s\%?id{\textless}\%id{\textbar}\%?d1{\textless}\%d1{\textbar}(root){\textgreater}{\textgreater} 411 %pb
268\%?iy{\textless}(\%iy){\textbar}{\textgreater} 412 %pm
269 413 % \end{verbatim}
270\%pc/\%pt [\%pp:\%pe] 414}
271
272\%fbkBit \%?fv{\textless}avg{\textbar}{\textgreater}
273\%?iv{\textless}(id3v\%iv){\textbar}(no id3){\textgreater}
274
275\%pb
276
277\%pm
278 415
279\section{\label{ref:SettingsFile}Making your own settings file} 416\section{\label{ref:SettingsFile}Making your own settings file}
280A .cfg file is used to load settings from a plain text file. A .cfg file 417A .cfg file is used to load settings from a plain text file. A .cfg file
diff --git a/manual/booktabs.sty b/manual/booktabs.sty
new file mode 100644
index 0000000000..cf25d78c2b
--- /dev/null
+++ b/manual/booktabs.sty
@@ -0,0 +1,182 @@
1%%
2%% This is file `booktabs.sty',
3%% generated with the docstrip utility.
4%%
5%% The original source files were:
6%%
7%% booktabs.dtx (with options: `package')
8%%
9%% -----------------------------------------------------------------
10%% Author: Simon Fear
11%% Maintainer: Danie Els (dnjels@sun.ac.za)
12%%
13%% This file is part of the booktabs package for publication
14%% quality tables for LaTeX
15%%
16%% Copyright (C) 1995--2005 Simon Fear
17%%
18%% This program is free software; you can redistribute it and/or
19%% modify it under the terms of the GNU General Public License as
20%% published by the Free Software Foundation; either version 2 of
21%% the License, or (at your option) any later version.
22%%
23%% This program is distributed in the hope that it will be useful,
24%% but WITHOUT ANY WARRANTY; without even the implied warranty of
25%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26%% GNU General Public License for more details.
27%%
28%% You should have received a copy of the GNU General Public
29%% License along with this program; if not, write to the Free
30%% Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
31%% MA 02111-1307 USA
32%% -----------------------------------------------------------------
33\NeedsTeXFormat{LaTeX2e}[1999/12/01]
34\ProvidesPackage{booktabs}
35 [2005/04/14 v1.61803 publication quality tables]
36\newdimen\heavyrulewidth
37\newdimen\lightrulewidth
38\newdimen\cmidrulewidth
39\newdimen\belowrulesep
40\newdimen\belowbottomsep
41\newdimen\aboverulesep
42\newdimen\abovetopsep
43\newdimen\cmidrulesep
44\newdimen\cmidrulekern
45\newdimen\defaultaddspace
46\heavyrulewidth=.08em
47\lightrulewidth=.05em
48\cmidrulewidth=.03em
49\belowrulesep=.65ex
50\belowbottomsep=0pt
51\aboverulesep=.4ex
52\abovetopsep=0pt
53\cmidrulesep=\doublerulesep
54\cmidrulekern=.5em
55\defaultaddspace=.5em
56\newcount\@cmidla
57\newcount\@cmidlb
58\newdimen\@aboverulesep
59\newdimen\@belowrulesep
60\newcount\@thisruleclass
61\newcount\@lastruleclass
62\@lastruleclass=0
63\newdimen\@thisrulewidth
64\def\futurenonspacelet#1{\def\@BTcs{#1}%
65 \afterassignment\@BTfnslone\let\nexttoken= }
66\def\@BTfnslone{\expandafter\futurelet\@BTcs\@BTfnsltwo}
67\def\@BTfnsltwo{\expandafter\ifx\@BTcs\@sptoken\let\next=\@BTfnslthree
68 \else\let\next=\nexttoken\fi \next}
69\def\@BTfnslthree{\afterassignment\@BTfnslone\let\next= }
70\def\toprule{\noalign{\ifnum0=`}\fi
71 \@aboverulesep=\abovetopsep
72 \global\@belowrulesep=\belowrulesep %global cos for use in the next noalign
73 \global\@thisruleclass=\@ne
74 \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}}
75\def\midrule{\noalign{\ifnum0=`}\fi
76 \@aboverulesep=\aboverulesep
77 \global\@belowrulesep=\belowrulesep
78 \global\@thisruleclass=\@ne
79 \@ifnextchar[{\@BTrule}{\@BTrule[\lightrulewidth]}}
80\def\bottomrule{\noalign{\ifnum0=`}\fi
81 \@aboverulesep=\aboverulesep
82 \global\@belowrulesep=\belowbottomsep
83 \global\@thisruleclass=\@ne
84 \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}}
85\def\specialrule#1#2#3{\noalign{\ifnum0=`}\fi
86 \@aboverulesep=#2\global\@belowrulesep=#3\global\@thisruleclass=\tw@
87 \@BTrule[#1]}
88\def\addlinespace{\noalign{\ifnum0=`}\fi
89 \@ifnextchar[{\@addspace}{\@addspace[\defaultaddspace]}}
90\def\@addspace[#1]{\global\@belowrulesep=#1\global\@thisruleclass=\tw@
91 \futurelet\@tempa\@BTendrule}
92\def\@BTrule[#1]{%
93 \global\@thisrulewidth=#1\relax
94 \ifnum\@thisruleclass=\tw@\vskip\@aboverulesep\else
95 \ifnum\@lastruleclass=\z@\vskip\@aboverulesep\else
96 \ifnum\@lastruleclass=\@ne\vskip\doublerulesep\fi\fi\fi
97 \ifx\longtable\undefined
98 \let\@BTswitch\@BTnormal
99 \else\ifx\hline\LT@hline
100 \let\@BTswitch\@BLTrule
101 \else
102 \let\@BTswitch\@BTnormal
103 \fi\fi
104 \@BTswitch}
105\AtBeginDocument{%
106 \providecommand*\CT@arc@{}}%% colortbl support
107\def\@BTnormal{%
108 {\CT@arc@\hrule\@height\@thisrulewidth}%
109 \futurenonspacelet\@tempa\@BTendrule}
110\def\@BLTrule{\@ifnextchar({\@@BLTrule}{\@@BLTrule()}}
111\def\@@BLTrule(#1){\@setrulekerning{#1}%
112\global\@cmidlb\LT@cols
113\ifnum0=`{\fi}%
114\@cmidruleb
115\noalign{\ifnum0=`}\fi
116\futurenonspacelet\@tempa\@BTendrule}
117\def\@BTendrule{\ifx\@tempa\toprule\global\@lastruleclass=\@thisruleclass
118 \else\ifx\@tempa\midrule\global\@lastruleclass=\@thisruleclass
119 \else\ifx\@tempa\bottomrule\global\@lastruleclass=\@thisruleclass
120 \else\ifx\@tempa\cmidrule\global\@lastruleclass=\@thisruleclass
121 \else\ifx\@tempa\specialrule\global\@lastruleclass=\@thisruleclass
122 \else\ifx\@tempa\addlinespace\global\@lastruleclass=\@thisruleclass
123 \else\global\@lastruleclass=\z@\fi\fi\fi\fi\fi\fi
124 \ifnum\@lastruleclass=\@ne\relax\else\vskip\@belowrulesep\fi
125 \ifnum0=`{\fi}}
126\def\@setrulekerning#1{%
127 \global\let\cmrkern@l\z@
128 \global\let\cmrkern@r\z@
129 \@tfor\@tempa :=#1\do
130 {\def\@tempb{r}%
131 \ifx\@tempa\@tempb
132 \global\let\cmrkern@r\cmidrulekern
133 \def\cmrsideswitch{\cmrkern@r}%
134 \else
135 \def\@tempb{l}%
136 \ifx\@tempa\@tempb
137 \global\let\cmrkern@l\cmidrulekern
138 \def\cmrsideswitch{\cmrkern@l}%
139 \else
140 \global\expandafter\let\cmrsideswitch\@tempa
141 \fi
142 \fi}}
143\def\cmidrule{\noalign{\ifnum0=`}\fi
144 \@ifnextchar[{\@cmidrule}{\@cmidrule[\cmidrulewidth]}}
145\def\@cmidrule[#1]{\@ifnextchar({\@@cmidrule[#1]}{\@@cmidrule[#1]()}}
146\def\@@cmidrule[#1](#2)#3{\@@@cmidrule[#3]{#1}{#2}}
147\def\@@@cmidrule[#1-#2]#3#4{\global\@cmidla#1\relax
148 \global\advance\@cmidla\m@ne
149 \ifnum\@cmidla>0\global\let\@gtempa\@cmidrulea\else
150 \global\let\@gtempa\@cmidruleb\fi
151 \global\@cmidlb#2\relax
152 \global\advance\@cmidlb-\@cmidla
153 \global\@thisrulewidth=#3
154 \@setrulekerning{#4}
155 \ifnum\@lastruleclass=\z@\vskip \aboverulesep\fi
156 \ifnum0=`{\fi}\@gtempa
157 \noalign{\ifnum0=`}\fi\futurenonspacelet\@tempa\@xcmidrule}
158\def\@xcmidrule{%
159 \ifx\@tempa\cmidrule
160 \vskip-\@thisrulewidth
161 \global\@lastruleclass=\@ne
162 \else \ifx\@tempa\morecmidrules
163 \vskip \cmidrulesep
164 \global\@lastruleclass=\@ne\else
165 \vskip \belowrulesep
166 \global\@lastruleclass=\z@
167 \fi\fi
168 \ifnum0=`{\fi}}
169\def\@cmidrulea{%
170 \multispan\@cmidla&\multispan\@cmidlb
171 \unskip\hskip\cmrkern@l%
172 {\CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill}%
173 \hskip\cmrkern@r\cr}%
174\def\@cmidruleb{%
175 \multispan\@cmidlb
176 \unskip\hskip \cmrkern@l%
177 {\CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill}%
178 \hskip\cmrkern@r\cr}%
179\def\morecmidrules{\noalign{\relax}}
180\endinput
181%%
182%% End of file `booktabs.sty'.
diff --git a/manual/preamble.tex b/manual/preamble.tex
index 7f23a2a154..9c83615076 100644
--- a/manual/preamble.tex
+++ b/manual/preamble.tex
@@ -1,6 +1,7 @@
1\documentclass[a4paper,11pt]{report} 1\documentclass[a4paper,11pt]{report}
2\usepackage[latin1]{inputenc} 2\usepackage[latin1]{inputenc}
3\usepackage{helvet} 3%\usepackage{helvet}
4\renewcommand{\familydefault}{\sfdefault}
4 5
5\usepackage{float} 6\usepackage{float}
6\floatstyle{ruled} 7\floatstyle{ruled}
@@ -28,6 +29,7 @@
28\usepackage{enumerate} 29\usepackage{enumerate}
29\usepackage{subfigure} 30\usepackage{subfigure}
30\usepackage{color} 31\usepackage{color}
32\usepackage{booktabs}
31%\usepackage{url} 33%\usepackage{url}
32%\urlstyle{same} 34%\urlstyle{same}
33 35