diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2006-04-04 17:48:10 +0000 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2006-04-04 17:48:10 +0000 |
commit | ebb8a22742adf02c9e0cabd1d02ffae6f9930931 (patch) | |
tree | d378535c1cef9db1e025e136f9935bbac3562e86 | |
parent | 72458ba8ed5d5ef12c8334656de2e4d03da0cc12 (diff) | |
download | rockbox-ebb8a22742adf02c9e0cabd1d02ffae6f9930931.tar.gz rockbox-ebb8a22742adf02c9e0cabd1d02ffae6f9930931.zip |
Some small corrections to Advanced Topics. Code policing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9493 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | manual/advanced_topics/main.tex | 178 |
1 files changed, 102 insertions, 76 deletions
diff --git a/manual/advanced_topics/main.tex b/manual/advanced_topics/main.tex index e9c9fbd849..3a4d782b7d 100644 --- a/manual/advanced_topics/main.tex +++ b/manual/advanced_topics/main.tex | |||
@@ -1,37 +1,41 @@ | |||
1 | \chapter{Advanced Topics} | 1 | \chapter{Advanced Topics} |
2 | 2 | ||
3 | \section{\label{ref:CustomisingUI}Customising the userinterface} | 3 | \section{\label{ref:CustomisingUI}Customising the userinterface} |
4 | \subsection{\label{ref:GettingExtras}Getting Extras (Fonts,Languages)} | 4 | \subsection{\label{ref:GettingExtras}Getting Extras (Fonts, Languages)} |
5 | Rockbox supports custom fonts (for the Recorder and Ondio only) and a number of different languages. Rockbox comes with several fonts and languages already included. If new fonts and language files have been created, then they will be found at \url{http://www.rockbox.org/fonts/} and \url{http://www.rockbox.org/lang/}. | 5 | Rockbox supports custom fonts (for the Recorder and Ondio only) and a number of different languages. Rockbox comes with several fonts and languages already included. If new fonts and language files have been created, then they will be found at \url{http://www.rockbox.org/fonts/} and \url{http://www.rockbox.org/lang/}. |
6 | 6 | ||
7 | \subsection{\label{ref:Loadingfonts}Loading Fonts (Recorder, Ondio)} | 7 | \opt{HAVE_LCD_BITMAP}{ |
8 | Rockbox can load fonts dynamically. Simply copy the .fnt file to the \dap\ and ``play'' them in the directory browser or select \textbf{General Settings {\textgreater} Fonts} from the Main Menu . | 8 | \subsection{\label{ref:Loadingfonts}Loading Fonts} |
9 | 9 | Rockbox can load fonts dynamically. Simply copy the \fname{.fnt} file to the \dap\ | |
10 | If you want a font to be loaded automatically every time you start up, | 10 | and ``play'' them in the directory browser or select \textbf{General Settings |
11 | it must be located in the \fname{/.rockbox }folder and the file name | 11 | {\textgreater} Fonts} from the Main Menu. |
12 | must be at most 24 characters long. | 12 | |
13 | 13 | If you want a font to be loaded automatically every time you start up, | |
14 | Any BDF font file up to 16 pixels high should be usable with Rockbox. To | 14 | it must be located in the \fname{/.rockbox } folder and the file name |
15 | convert from .bdf to .fnt, use the \fname{convbdf} tool. This tool can be found in the tools directory of the Rockbox source code. | 15 | must be at most 24 characters long. |
16 | |||
17 | Any BDF font file up to 16 pixels high should be usable with Rockbox. To | ||
18 | convert from .bdf to .fnt, use the \fname{convbdf} tool. This tool can be | ||
19 | found in the tools directory of the Rockbox source code. | ||
20 | } | ||
16 | 21 | ||
17 | \subsection{\label{ref:Loadinglanguages}Loading Languages} | 22 | \subsection{\label{ref:Loadinglanguages}Loading Languages} |
18 | Rockbox can load language files at runtime. Simply copy the .lng file (do not use the .lang file) to the \dap\ and ``play'' it in the Rockbox directory browser or select \textbf{General Settings {}-{\textgreater} Languages }from the Main Menu. | 23 | Rockbox can load language files at runtime. Simply copy the .lng file (do not |
19 | 24 | use the .lang file) to the \dap\ and ``play'' it in the Rockbox directory | |
20 | If you want a language to be loaded automatically every time you start up, it must be located in the \fname{/.rockbox }folder and the file name must be a maximum of 24 characters long. | 25 | browser or select \textbf{General Settings $\rightarrow$ Languages }from the |
26 | Main Menu. | ||
21 | 27 | ||
22 | Rockbox supports many different languages. You can get .lng files at \url{http://www.rockbox.org/lang/}. | 28 | If you want a language to be loaded automatically every time you start up, it |
23 | Currently all of these languages are included in the Rockbox | 29 | must be located in the \fname{/.rockbox }folder and the file name must be a |
24 | distribution. | 30 | maximum of 24 characters long. |
25 | 31 | ||
26 | If your language is not yet supported and you want to write your own language file, follow these instructions: | 32 | Rockbox supports many different languages. You can get .lng files at |
33 | \url{http://www.rockbox.org/lang/}. | ||
34 | Currently all of these languages are included in the Rockbox distribution. | ||
27 | 35 | ||
28 | \begin{itemize} | 36 | If your language is not yet supported and you want to write your own language |
29 | \item Copy the\url{./ http://www.rockbox.org/lang/english.lang} file and start filling in the ``new:'' lines. | 37 | file find the instructions on the Rockbox website: |
30 | \item Name your file \fname{{\textless}language{\textgreater}.lang}, where | 38 | \url{http://www.rockbox.org/twiki/bin/view/Main/HowtoUpdateLangfile} |
31 | \fname{{\textless}language{\textgreater}} is the local name for your language. i.e. \fname{svenska.lang}, \fname{francais.lang} etc. | ||
32 | \item When you are done, submit your .lang file to Rockbox patch tracker.\\ | ||
33 | (\url{http://www.rockbox.org/bugs/index.php?type=4}) | ||
34 | \end{itemize} | ||
35 | 39 | ||
36 | \section{\label{ref:ConfiguringtheWPS}Configuring the WPS} | 40 | \section{\label{ref:ConfiguringtheWPS}Configuring the WPS} |
37 | 41 | ||
@@ -42,14 +46,28 @@ If your language is not yet supported and you want to write your own language fi | |||
42 | \item After editing the .wps file, ``play'' it to make it take effect. | 46 | \item After editing the .wps file, ``play'' it to make it take effect. |
43 | \item All characters not preceded by \% are displayed as typed. | 47 | \item All characters not preceded by \% are displayed as typed. |
44 | \item Lines beginning with \# are comments and will be ignored. | 48 | \item Lines beginning with \# are comments and will be ignored. |
45 | \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. | 49 | \item Maximum file size used is \opt{recorder,recorderv2fm,ondio,h1xx,h300,ipodcolor,ipodnano}{1600} |
50 | \opt{player}{400} | ||
51 | bytes. If you have a bigger WPS file, only the first part of it will be loaded and used. | ||
46 | \end{itemize} | 52 | \end{itemize} |
47 | 53 | ||
48 | \subsection{File Location} | 54 | \subsection{File Location} |
49 | Custom 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 \fname{/.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. | 55 | Custom WPS files may be located anywhere on the drive. The only restriction is |
56 | that they must end in .wps. When you ``play'' a .wps file, it will be used for | ||
57 | future WPS screens. If the ``played'' .wps file is located in the | ||
58 | \fname{/.rockbox} folder, it will be remembered and used after reboot. | ||
59 | The .wps filename must be no more than 24 characters long for it to be | ||
60 | remembered. | ||
50 | 61 | ||
51 | \subsection{How To Create A .wps File} | 62 | \subsection{How To Create A .wps File} |
52 | Quite 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 \fname{Rockbox.txt}, save the file as \fname{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. See appendix \ref{ref:wps_tags} for all the tags that are available. | 63 | Quite simply, enter the WPS code in your favourite text editor, Notepad on |
64 | Windows works fine. When you save it, instead of saving it as a .txt file, save | ||
65 | it as a .wps file. Example: Instead of \fname{Rockbox.txt}, save the file as | ||
66 | \fname{Rockbox.wps}. To make sure non english characters display correctly in | ||
67 | your WPS you must save the .wps file with UTF-8 character encoding. This can be | ||
68 | done in most editors, for example Notepad in Windows 2000 or XP (but not in | ||
69 | 9x/ME) can do this. See appendix \ref{ref:wps_tags} for all the tags that are | ||
70 | available. | ||
53 | 71 | ||
54 | \subsubsection{Conditional Tags} | 72 | \subsubsection{Conditional Tags} |
55 | 73 | ||
@@ -128,7 +146,7 @@ Example subline with conditionals: | |||
128 | 146 | ||
129 | \%?it{\textless}\%t8\%s\%it{\textbar}\%s\%fn{\textgreater};\%?ia{\textless}\%t3\%s\%ia{\textbar}\%t0{\textgreater}\\ | 147 | \%?it{\textless}\%t8\%s\%it{\textbar}\%s\%fn{\textgreater};\%?ia{\textless}\%t3\%s\%ia{\textbar}\%t0{\textgreater}\\ |
130 | 148 | ||
131 | The format above will do two different things depending if ID3 tags are present. If the ID3 artist and title are present : | 149 | The format above will do two different things depending if ID3 tags are present. If the ID3 artist and title are present: |
132 | 150 | ||
133 | Display id3 title for 8 seconds,\\ | 151 | Display id3 title for 8 seconds,\\ |
134 | 152 | ||
@@ -136,19 +154,24 @@ Display id3 artist for 3 seconds,\\ | |||
136 | 154 | ||
137 | repeat...\\ | 155 | repeat...\\ |
138 | 156 | ||
139 | If the ID3 artist and title are not present :\\ | 157 | If the ID3 artist and title are not present:\\ |
140 | 158 | ||
141 | Display the filename continuously.\\ | 159 | Display the filename continuously.\\ |
142 | 160 | ||
143 | Note 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. | 161 | Note that by using a subline display time of 0 in one branch of a conditional, |
162 | a subline can be skipped (not displayed) when that condition is met. | ||
144 | 163 | ||
145 | 164 | ||
146 | \subsubsection{Using Images} | 165 | \subsubsection{Using Images} |
147 | You can have as many as 52 images in your WPS. There are two ways of displaying images: | 166 | You can have as many as 52 images in your WPS. There are two ways of |
167 | displaying images: | ||
148 | \begin{enumerate} | 168 | \begin{enumerate} |
149 | \item Load and always show the image, using the \%x tag | 169 | \item Load and always show the image, using the \%x tag |
150 | \item Preload the image with \%xl and show it with \%xd. This way you can have your images displayed conditionally. | 170 | \item Preload the image with \%xl and show it with \%xd. This way you can |
151 | \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). | 171 | have your images displayed conditionally. |
172 | \item Load an image and show as backdrop using the \%X tag. The image must | ||
173 | be of the same exact dimensions as your display. (Currently only | ||
174 | supported on color targets). | ||
152 | \end{enumerate} | 175 | \end{enumerate} |
153 | Example: | 176 | Example: |
154 | \begin{verbatim} | 177 | \begin{verbatim} |
@@ -160,17 +183,23 @@ Example: | |||
160 | %xl|e|rep_shuffle.bmp|16|64| | 183 | %xl|e|rep_shuffle.bmp|16|64| |
161 | %?mm<%xdb|%xdc|%xdd|%xde> | 184 | %?mm<%xdb|%xdc|%xdd|%xde> |
162 | \end{verbatim} | 185 | \end{verbatim} |
163 | This 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). | 186 | This example loads and displays a background image, and preloads four other |
187 | images at the same x and y position. Which image to display is determined by | ||
188 | the \%mm tag (the repeat mode). | ||
164 | 189 | ||
165 | \subsubsection{Example File} | 190 | \subsubsection{Example File} |
166 | \begin{verbatim} | 191 | \begin{verbatim} |
167 | %s%?in<%in - >%?it<%it|%fn> %?ia<[%ia%?id<, %id>]> | 192 | %s%?in<%in - >%?it<%it|%fn> %?ia<[%ia%?id<, %id>]> |
168 | %pb%pc/%pt | 193 | %pb%pc/%pt |
169 | \end{verbatim} | 194 | \end{verbatim} |
170 | That is, "tracknum - title [artist, album]", where most fields are only displayed if available. Could also be rendered as "filename" or "tracknum - title [artist]". | 195 | That is, ``tracknum -- title [artist, album]'', where most fields are only |
196 | displayed if available. Could also be rendered as ``filename'' or ``tracknum -- | ||
197 | title [artist]''. | ||
171 | 198 | ||
172 | \subsubsection{Default} | 199 | \subsubsection{Default} |
173 | If you haven't selected a .wps file in the \fname{/.rockbox} directory, you get the hard coded layout. The default WPS screen is: | 200 | If you haven't selected a .wps file in the \fname{/.rockbox} directory, you get |
201 | the hard coded layout. The default WPS screen is: | ||
202 | \fixme{do we really want to include the default wps in a users manual?} | ||
174 | \opt{player}{ | 203 | \opt{player}{ |
175 | %\begin{verbatim} | 204 | %\begin{verbatim} |
176 | %s%pp/%pe: %?it<%it|%fn> - %?ia<%ia|%d2> - %?id<%id|%d1> | 205 | %s%pp/%pe: %?it<%it|%fn> - %?ia<%ia|%d2> - %?id<%id|%d1> |
@@ -192,9 +221,14 @@ If you haven't selected a .wps file in the \fname{/.rockbox} directory, you get | |||
192 | } | 221 | } |
193 | 222 | ||
194 | \section{\label{ref:SettingsFile}Making your own settings file} | 223 | \section{\label{ref:SettingsFile}Making your own settings file} |
195 | A .cfg file is used to load settings from a plain text file. A .cfg file may reside anywhere on the hard disk. The only restriction is that the filename must end in .cfg | 224 | A .cfg file is used to load settings from a plain text file. A .cfg file may |
225 | reside anywhere on the hard disk. The only restriction is that the filename | ||
226 | must end in .cfg | ||
196 | 227 | ||
197 | Hint: Use the ``Write .cfg file'' feature \textbf({Main Menu{}-{\textgreater} General Settings}) to save the current settings, then use a text editor to customize the settings file. See appendix \ref{ref:config_file_options} for the full reference of available options. | 228 | Hint: Use the ``Write .cfg file'' feature \textbf({Main Menu$\rightarrow$ |
229 | General Settings}) to save the current settings, then use a text editor to | ||
230 | customize the settings file. See appendix \ref{ref:config_file_options} | ||
231 | for the full reference of available options. | ||
198 | 232 | ||
199 | \subsection{Format Rules} | 233 | \subsection{Format Rules} |
200 | 234 | ||
@@ -218,43 +252,29 @@ Hint: Use the ``Write .cfg file'' feature \textbf({Main Menu{}-{\textgreater} Ge | |||
218 | \end{verbatim} | 252 | \end{verbatim} |
219 | 253 | ||
220 | \section{\label{ref:PartISection1}Differences between binaries} | 254 | \section{\label{ref:PartISection1}Differences between binaries} |
221 | There are 3 different types of firmware binaries from Rockbox website. Current Version, Daily Builds and Bleeding Edge. | 255 | There are 3 different types of firmware binaries from Rockbox website: |
222 | 256 | Current Version, Daily Builds and Bleeding Edge. | |
223 | \begin{itemize} | 257 | |
224 | \item The current version is the latest stable version developed by the Rockbox Team. It's free of known critical bugs. It is available from \url{http://www.rockbox.org/download/}. | 258 | \begin{description} |
225 | \item The Daily Build is a development version of Rockbox. It supports all new features and patches developed since last stable version. It may also contain bugs! This version is generated automatically every day and can be found at \url{http://www.rockbox.org/daily.shtml}. | 259 | \item[Current Version.] The current version is the latest stable version |
226 | \item Bleeding edge builds are the same as the Daily build, but built from the latest development on each commit to the CVS repository. These builds are for people who want to test the code that developers just checked in. | 260 | developed by the Rockbox Team. It's free of known critical bugs. It is |
227 | \end{itemize} | 261 | available from \url{http://www.rockbox.org/download/}. |
228 | 262 | \item[Daily Builds.] The Daily Build is a development version of Rockbox. It | |
229 | \opt{recorder,recorderv2fm,ondo,player}{ | 263 | supports all new features and patches developed since last stable version. It |
230 | There are binaries for different \dap\ models: | 264 | may also contain bugs! This version is generated automatically every day |
231 | 265 | and can be found at \url{http://www.rockbox.org/daily.shtml}. | |
232 | \begin{itemize} | 266 | \item[Bleeding Edge.] Bleeding edge builds are the same as the Daily build, |
233 | \item \begin{itemize} | 267 | but built from the latest development on each commit to the CVS repository. |
234 | \item The Player version is suitable for Archos Jukebox 5000, 6000 and | 268 | These builds are for people who want to test the code that developers just |
235 | all Studio models. | 269 | checked in. |
236 | \end{itemize} | 270 | \end{description} |
237 | \end{itemize} | 271 | \note{If you don't want to get undefined behaviour from your \dap\ you should |
238 | \begin{itemize} | 272 | really stick to the Current Version. Development versions may have lots of |
239 | \item \begin{itemize} | 273 | changes so they may behave completely different than described in this manual, |
240 | \item If you have a recorder with cylindrically rounded bumpers, you | 274 | introduce new (and maybe annoying) bugs and similar. If you want to help the |
241 | need the ``regular'' recorder version. | 275 | project development you can try development builds and help by reporting bugs, |
242 | \item FM Recorders are models with a FM radio. | 276 | feature requests and so so. But be aware that using a development build may |
243 | \item The V2 recorder is a recorder in an FM Recorder form factor, but | 277 | eat also some more time.} |
244 | without radio. | ||
245 | \item The 8mb version requires a hardware hack, where the RAM chips are | ||
246 | replaced. | ||
247 | \item The Ondio builds come with and without radio support, for the | ||
248 | Ondio FM and SP respectively. | ||
249 | \end{itemize} | ||
250 | \end{itemize} | ||
251 | If in doubt as to which version to use, the table on page | ||
252 | \pageref{ref:Jukeboxtypetable} may be of assistance. | ||
253 | |||
254 | Note: All references in this manual to | ||
255 | ``Recorder'' apply equally to the FM Recorder | ||
256 | unless otherwise specified. | ||
257 | } | ||
258 | 278 | ||
259 | 279 | ||
260 | \section{\label{ref:FirmwareLoading}Firmware Loading} | 280 | \section{\label{ref:FirmwareLoading}Firmware Loading} |
@@ -270,6 +290,12 @@ load a file other than the one you intended. | |||
270 | } | 290 | } |
271 | 291 | ||
272 | \section{\label{ref:using_rolo}Using ROLO (Rockbox loader)} | 292 | \section{\label{ref:using_rolo}Using ROLO (Rockbox loader)} |
273 | Rockbox is able to load and start another firmware file without rebooting. You just press PLAY on an \opt{recorder,recorderv2fm,ondio}{.ajz}\opt{player}{.mod}\opt{h1xx,h300}{.iriver}\opt{ipodnano,ipodvideo,ipodnano}{.ipod} file. This can be used to test new firmware versions without deleting your current version. | 293 | Rockbox is able to load and start another firmware file without rebooting. |
294 | You just press PLAY on an | ||
295 | \opt{recorder,recorderv2fm,ondio}{.ajz} | ||
296 | \opt{player}{.mod}\opt{h1xx,h300}{.iriver} | ||
297 | \opt{ipodnano,ipodvideo,ipodnano}{.ipod} | ||
298 | file. This can be used to test new firmware versions without deleting your | ||
299 | current version. | ||
274 | 300 | ||
275 | \opt{recorder,recorderv2fm,ondio}{\input{advanced_topics/archos-flashing.tex}} | 301 | \opt{recorder,recorderv2fm,ondio}{\input{advanced_topics/archos-flashing.tex}} |