Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 1 | % $Id$ % |
Alex Parker | 40782d5 | 2010-05-13 08:13:31 +0000 | [diff] [blame] | 2 | \chapter{\label{ref:wps_tags}Theme Tags} |
| 3 | Themeing is discussed in detail in section \reference{ref:ConfiguringtheWPS}, |
| 4 | what follows is a list of the available tags. |
| 5 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 6 | \section{Status Bar} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 7 | \begin{tagmap} |
Alex Parker | 0c1f3e6 | 2010-03-21 10:20:19 +0000 | [diff] [blame] | 8 | \config{\%we} & Display Status Bar\\ |
| 9 | \config{\%wd} & Hide Status Bar\\ |
| 10 | \config{\%wi} & Display the inbuilt Status Bar in the current viewport\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 11 | \end{tagmap} |
| 12 | These tags override the player setting for the display of the status bar. |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 13 | They must be noted on their own line (which will not be shown in the WPS). |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 14 | |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 15 | \section{Information from the track tags} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 16 | \begin{tagmap} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 17 | \config{\%ia} & Artist\\ |
| 18 | \config{\%ic} & Composer\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 19 | \config{\%iA} & Album Artist\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 20 | \config{\%id} & Album Name\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 21 | \config{\%iG} & Grouping\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 22 | \config{\%ig} & Genre Name\\ |
| 23 | \config{\%in} & Track Number\\ |
| 24 | \config{\%it} & Track Title\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 25 | \config{\%iC} & Comment\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 26 | \config{\%iv} & ID3 version (1.0, 1.1, 2.2, 2.3, 2.4, or empty if not an ID3 tag)\\ |
| 27 | \config{\%iy} & Year\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 28 | \config{\%ik} & Disc Number\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 29 | \end{tagmap} |
| 30 | Remember that this information is not always available, so use the |
| 31 | conditionals to show alternate information in preference to assuming. |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 32 | |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 33 | These tags, when written with a capital ``I'' (e.g. \config{\%Ia} or \config{\%Ic}), |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 34 | show the information for the next song to be played. |
| 35 | |
| 36 | \nopt{lcd_charcell}{ |
| 37 | \section{Viewports} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 38 | \begin{tagmap} |
| 39 | \nopt{lcd_non-mono}{% |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 40 | \config{\%V(x,y,[width],\tabnlindent[height],[font])} |
Alexander Levin | 6d4637c | 2010-03-27 15:52:27 +0000 | [diff] [blame] | 41 | & See section \ref{ref:Viewports}\\} |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 42 | |
| 43 | \nopt{lcd_color}{\opt{lcd_non-mono}{% |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 44 | \config{\%V(x,y,[width],\tabnlindent[height],[font])}\newline |
| 45 | \config{\%Vf([fgshade])}\newline |
| 46 | \config{\%Vb([bgshade])} |
Alexander Levin | 6d4637c | 2010-03-27 15:52:27 +0000 | [diff] [blame] | 47 | & See section \ref{ref:Viewports}\\}} |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 48 | |
| 49 | \opt{lcd_color}{% |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 50 | \config{\%V(x,y,[width],\tabnlindent[height],[font])}\newline |
| 51 | \config{\%Vf([fgcolour])}\newline |
| 52 | \config{\%Vb([bgcolour])} |
Alexander Levin | 6d4637c | 2010-03-27 15:52:27 +0000 | [diff] [blame] | 53 | & See section \ref{ref:Viewports}\\} |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 54 | |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 55 | \config{\%Vd('identifier')} & Display the `identifier' viewport. E.g. |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 56 | \config{\%?C<\%Vd(a)|\%Vd(b)>} |
Alexander Levin | ac00d26 | 2010-03-26 22:12:39 +0000 | [diff] [blame] | 57 | will show viewport `a' if album art is found, and `b' if it isn't.\\ |
Alex Parker | 6d549df | 2010-05-13 08:13:37 +0000 | [diff] [blame] | 58 | |
Alex Parker | 49f2fce | 2010-06-20 16:27:41 +0000 | [diff] [blame] | 59 | \config{\%Vi('label',\dots)} & |
Alexander Levin | 9f95a0b | 2010-05-13 08:41:01 +0000 | [diff] [blame] | 60 | Declare a Custom UI Viewport. The `\dots' parameters use the same logic as |
Alex Parker | 6d549df | 2010-05-13 08:13:37 +0000 | [diff] [blame] | 61 | the \config{\%V} tag explained above. See section \ref{ref:Viewports}.\\ |
| 62 | |
Alex Parker | 49f2fce | 2010-06-20 16:27:41 +0000 | [diff] [blame] | 63 | \config{\%VI('label')} & Set the Info Viewport to use the viewport called |
Alex Parker | 6d549df | 2010-05-13 08:13:37 +0000 | [diff] [blame] | 64 | label, as declared with the previous tag.\\ |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 65 | \end{tagmap} |
Alex Parker | 1b0c77f | 2010-06-20 12:58:09 +0000 | [diff] [blame] | 66 | |
| 67 | \section{Additional Fonts} |
| 68 | \begin{tagmap} |
Alex Parker | 49f2fce | 2010-06-20 16:27:41 +0000 | [diff] [blame] | 69 | \config{\%Fl('id',filename)} & See section \ref{ref:multifont}.\\ |
Alex Parker | 1b0c77f | 2010-06-20 12:58:09 +0000 | [diff] [blame] | 70 | \end{tagmap} |
| 71 | |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 72 | } |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 73 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 74 | \section{Power Related Information} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 75 | \begin{tagmap} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 76 | \config{\%bl} & Numeric battery level in percents. |
| 77 | Can also be used in a conditional: |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 78 | \config{\%?bl<-1|0|1|2|\ldots|N>}, |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 79 | where the value $-1$ is used when the battery level isn't |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 80 | known (it usually is). |
| 81 | An image can also be used, the proportion of the image |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 82 | shown correspinds to the battery level: |
| 83 | \config{\%bl(x,y,[width],[height],image.bmp)}\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 84 | \config{\%bv} & The battery level in volts\\ |
| 85 | \config{\%bt} & Estimated battery time left\\ |
| 86 | \config{\%bp} & ``p'' if the charger is connected (only on targets |
| 87 | that can charge batteries)\\ |
| 88 | \config{\%bc} & ``c'' if the unit is currently charging the battery (only on |
| 89 | targets that have software charge control or monitoring)\\ |
| 90 | \config{\%bs} & Remaining time of the sleep timer (if it is set)\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 91 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 92 | |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 93 | \section{Information about the file} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 94 | \begin{tagmap} |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 95 | \config{\%fb} & File Bitrate (in kbps)\\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 96 | \config{\%fc} & File Codec (e.g. ``MP3'' or ``FLAC''). |
| 97 | This tag can also be used in a conditional tag: |
| 98 | \config{\%?fc<mp1|mp2|mp3|aiff|wav|ogg|\newline |
| 99 | flac|mpc|a52|wavpack|alac|aac|shn|sid|adx|nsf|\newline |
| 100 | speex|spc|ape|wma|mod|sap|unknown>}. |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 101 | The codec order is as follows: MP1, MP2, MP3, AIFF, WAV, |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 102 | Ogg Vorbis (OGG), FLAC, MPC, AC3, WavPack (WV), ALAC, AAC, |
| 103 | Shorten (SHN), SID, ADX, NSF, Speex, SPC, APE, WMA, MOD, SAP.\\ |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 104 | \config{\%ff} & File Frequency (in Hz)\\ |
Andree Buschmann | 53cf63f | 2010-04-14 19:44:07 +0000 | [diff] [blame] | 105 | \config{\%fk} & File Frequency (in kHz)\\ |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 106 | \config{\%fm} & File Name\\ |
| 107 | \config{\%fn} & File Name (without extension)\\ |
| 108 | \config{\%fp} & File Path\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 109 | \config{\%fs} & File Size (in Kilobytes)\\ |
| 110 | \config{\%fv} & ``(avg)'' if variable bit rate or empty string if constant bit rate\\ |
Alexander Levin | a43fbbb | 2010-07-01 18:55:43 +0000 | [diff] [blame] | 111 | \config{\%d(N)} & N-th segment from the end of the file's directory |
| 112 | (N can be 1, 2, 3, \dots)\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 113 | \end{tagmap} |
Alexander Levin | a43fbbb | 2010-07-01 18:55:43 +0000 | [diff] [blame] | 114 | Example for the \config{\%d(N)} commands: If the file is |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 115 | ``/Rock/Kent/Isola/11 - 747.mp3'', \config{\%d(1)} is ``Isola'', |
| 116 | \config{\%d(2)} is ``Kent'' and \config{\%d(3)} is ``Rock''. |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 117 | |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 118 | These tags, when written with the first letter capitalized (e.g. \config{\%Fn} |
| 119 | or \config{\%D(2)}), produce the information for the next file to be played. |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 120 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 121 | \section{Playlist/Song Info} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 122 | \begin{tagmap} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 123 | \config{\%pb} & Progress Bar. |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 124 | \opt{player}{ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 125 | This will display a one character ``cup'' |
Martin Arver | ec60a05 | 2006-03-29 18:40:42 +0000 | [diff] [blame] | 126 | that empties as the time progresses.} |
Nils Wallménius | 12eb058 | 2008-03-23 22:07:09 +0000 | [diff] [blame] | 127 | \opt{lcd_bitmap}{ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 128 | This will replace the entire line with a progress bar. |
| 129 | You can set the position, width and height of the progressbar |
| 130 | (in pixels) and load a custom image for it: |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 131 | \config{\%pb(x,y,[width],[height],image.bmp)}} \\ |
Dominik Riebeling | eef9694 | 2007-04-07 22:48:11 +0000 | [diff] [blame] | 132 | \opt{player}{% |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 133 | \config{\%pf} & Full-line progress bar \& time display\\ |
Dominik Riebeling | eef9694 | 2007-04-07 22:48:11 +0000 | [diff] [blame] | 134 | }% |
Alexander Levin | d8f5f51 | 2010-07-02 18:57:57 +0000 | [diff] [blame] | 135 | \config{\%px} & Percentage played in song\\ |
| 136 | \config{\%pc} & Current time in song\\ |
| 137 | \config{\%pe} & Total number of playlist entries\\ |
Dominik Riebeling | eef9694 | 2007-04-07 22:48:11 +0000 | [diff] [blame] | 138 | \nopt{player}{% |
| 139 | \config{\%pm} & Peak Meter. The entire line is used as % |
| 140 | volume peak meter.\\% |
| 141 | }% |
Alexander Levin | d8f5f51 | 2010-07-02 18:57:57 +0000 | [diff] [blame] | 142 | \config{\%pn} & Playlist name (without path or extension)\\ |
| 143 | \config{\%pp} & Playlist position\\ |
| 144 | \config{\%pr} & Remaining time in song\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 145 | \config{\%ps} & ``s'' if shuffle mode is enabled\\ |
Alexander Levin | d8f5f51 | 2010-07-02 18:57:57 +0000 | [diff] [blame] | 146 | \config{\%pt} & Total track time\\ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 147 | \config{\%pv} & Current volume (in dB). Can also be used in a conditional: |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 148 | \config{\%?pv<0|1|2|\ldots|N>}\newline |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 149 | 0 is used for mute, the last option is used for values greater than zero. |
| 150 | \opt{lcd_bitmap}{This can also be used like \%pb to provide a continuous scale: |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 151 | \config{\%pv(x,y,[width],[height],image.bmp)}} \\ |
Alex Parker | bbb2dd5 | 2010-03-21 10:20:09 +0000 | [diff] [blame] | 152 | \config{\%pS} & Track is starting. An optional number gives how many seconds |
| 153 | the tag remains true for after the start of the track. The default is |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 154 | 10 seconds if no number is specified. |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 155 | \config{\%pS(7)<in the first 7 seconds of track|in |
| 156 | the rest of the track>}\\ |
Alex Parker | bbb2dd5 | 2010-03-21 10:20:09 +0000 | [diff] [blame] | 157 | \config{\%pE} & Track is ending. An optional number gives how many seconds |
Alex Parker | 7e84cca | 2010-03-22 20:41:14 +0000 | [diff] [blame] | 158 | before the end of the track the tag becomes true. The default is |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 159 | 10 seconds if no number is specified. |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 160 | \config{\%pE(7)<in the last 7 seconds of track|in |
| 161 | the rest of the track>}\\ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 162 | \config{\%Sp} & Current playback pitch\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 163 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 164 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 165 | \section{Runtime Database} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 166 | \begin{tagmap} |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 167 | \config{\%rp} & Song playcount\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 168 | \config{\%rr} & Song rating (0-10). This tag can also be used in a conditional tag: % |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 169 | \config{\%?rr<0|1|2|3|4|5|6|7|8|9|10>}\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 170 | \config{\%ra} & Autoscore for the song\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 171 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 172 | |
Nils Wallménius | 12eb058 | 2008-03-23 22:07:09 +0000 | [diff] [blame] | 173 | \opt{swcodec}{ |
Dominik Riebeling | 9eaa568 | 2006-04-10 17:35:49 +0000 | [diff] [blame] | 174 | \section{Sound (DSP) settings} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 175 | \begin{tagmap} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 176 | \config{\%Sp} & Current playback pitch \\ |
Nils Wallménius | 12eb058 | 2008-03-23 22:07:09 +0000 | [diff] [blame] | 177 | \opt{swcodec}{ |
Jeffrey Goode | 0212de4 | 2009-11-11 17:38:00 +0000 | [diff] [blame] | 178 | \config{\%xf} & Crossfade setting, in the order: Off, Auto Skip, Man Skip, |
| 179 | Shuffle, Shuffle and Man Skip, Always\\ |
Andree Buschmann | 1248e9c | 2010-04-14 20:38:21 +0000 | [diff] [blame] | 180 | \config{\%rg} & ReplayGain value in use (x.y~dB). If used as a conditional, |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 181 | Replaygain type in use: \config{\%?rg<Off|Track% |
| 182 | |Album|TrackShuffle|AlbumShuffle% |
| 183 | |No tag>}\\ |
Dominik Riebeling | da1e28c | 2006-08-03 18:32:41 +0000 | [diff] [blame] | 184 | } |
Dominik Riebeling | 9eaa568 | 2006-04-10 17:35:49 +0000 | [diff] [blame] | 185 | \end{tagmap} |
| 186 | } |
Nils Wallménius | af68987 | 2009-08-24 15:19:14 +0000 | [diff] [blame] | 187 | |
Marianne Arnold | b013fb7 | 2010-07-01 21:02:12 +0000 | [diff] [blame] | 188 | \section{Hold} |
| 189 | \begin{tagmap} |
| 190 | \config{\%mh} & ``h'' if the main unit keys are locked\\ |
| 191 | \opt{remote_button_hold}{% |
| 192 | \config{\%mr} & ``r'' if the remote keys are locked\\ |
| 193 | } |
| 194 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 195 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 196 | \section{Virtual LED} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 197 | \begin{tagmap} |
Marianne Arnold | a352c62 | 2007-05-19 19:03:39 +0000 | [diff] [blame] | 198 | \config{\%lh} & ``h'' if the \disk\ is accessed\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 199 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 200 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 201 | \section{Repeat Mode} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 202 | \begin{tagmap} |
Marianne Arnold | c9532a2 | 2010-04-04 13:58:52 +0000 | [diff] [blame] | 203 | \config{\%mm} & Repeat mode, 0-4, in the order: Off, All, One, Shuffle, A-B\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 204 | \end{tagmap} |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 205 | Example: \config{\%?mm<Off|All|One|Shuffle% |
| 206 | |A-B>} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 207 | |
Alexander Levin | 0bfef1c | 2010-02-26 19:57:51 +0000 | [diff] [blame] | 208 | \section{Playback Mode} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 209 | \begin{tagmap} |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 210 | \config{\%mp} & Play status, 0-4, in the order: Stop, Play, Pause, |
Frank Gevaerts | 629bf3e | 2010-04-11 11:44:18 +0000 | [diff] [blame] | 211 | Fast Forward, Rewind, Recording, Recording paused, FM Radio playing, |
| 212 | FM Radio muted\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 213 | \end{tagmap} |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 214 | Example: \config{\%?mp<Stop|Play|Pause|% |
| 215 | Ffwd|Rew|Rec|Rec pause|FM|% |
| 216 | FM pause>} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 217 | |
Alexander Levin | 5ff8a5a | 2010-02-26 19:53:06 +0000 | [diff] [blame] | 218 | \section{Current Screen} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 219 | \begin{tagmap} |
Thomas Martitz | ea4eadc | 2010-02-27 21:24:50 +0000 | [diff] [blame] | 220 | \config{\%cs} & The current screen, 1-5, in the order: |
| 221 | Menus, WPS, Recording screen, FM Radio screen, Current Playlist screen\\ |
Alexander Levin | 5ff8a5a | 2010-02-26 19:53:06 +0000 | [diff] [blame] | 222 | \end{tagmap} |
Alexander Levin | 5ff8a5a | 2010-02-26 19:53:06 +0000 | [diff] [blame] | 223 | The tag can also be used as the switch in a conditional tag. For players without |
| 224 | some capabilities (e.g. having no FM radio) some values will be never yielded. |
| 225 | |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 226 | Example: \config{You are in the \%?cs<Main menu|WPS|% |
| 227 | Recording screen|FM Radio screen>} |
Alexander Levin | 5ff8a5a | 2010-02-26 19:53:06 +0000 | [diff] [blame] | 228 | |
Alex Parker | 165709b | 2010-03-21 10:20:24 +0000 | [diff] [blame] | 229 | \section{List Title (\fname{.sbs} only)} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 230 | \begin{tagmap} |
Alex Parker | 165709b | 2010-03-21 10:20:24 +0000 | [diff] [blame] | 231 | \config{\%Lt} & Title text. Should be used in a conditional so that non-list |
| 232 | screens don't show a title when they shouldn't\\ |
| 233 | \config{\%Li} & Title icon. This uses the same order as custom icons (see |
| 234 | \wikilink{CustomIcons} in the wiki) except that here \config{0} is ``no |
| 235 | icon''\\ |
| 236 | \end{tagmap} |
| 237 | |
| 238 | This tag can be used to give custom formatting to list titles. |
| 239 | Define a viewport with the font and formatting desired, and then use |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 240 | \config{\%?Lt<\%Lt>} to display the title within the |
Alex Parker | 165709b | 2010-03-21 10:20:24 +0000 | [diff] [blame] | 241 | viewport. If \config{\%Lt} is present anywhere in the \fname{.sbs}, then the |
| 242 | \config{\%Vi} viewport will not show the title. |
| 243 | |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 244 | \section{Changing Volume} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 245 | \begin{tagmap} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 246 | \config{\%mv(t)} & ``v'' if the volume is being changed\\ |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 247 | \end{tagmap} |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 248 | |
| 249 | The tag produces the letter ``v'' while the volume is being changed and some |
| 250 | amount of time after that, i.e. after the volume button has been released. The |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 251 | optional parameter \config{t} specifies that amount of time, in seconds. If it |
| 252 | is not specified, 1 second is assumed. |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 253 | |
| 254 | The tag can be used as the switch in a conditional tag to display different things |
| 255 | depending on whether the volume is being changed. It can produce neat effects |
| 256 | when used with conditional viewports. |
| 257 | |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 258 | Example: \config{\%?mv(2.5)<Volume changing|\%pv>} |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 259 | |
| 260 | The example above will display the text ``Volume changing'' if the volume is |
Andree Buschmann | 1248e9c | 2010-04-14 20:38:21 +0000 | [diff] [blame] | 261 | being changed and 2.5 seconds after the volume button has been released. After |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 262 | that, it will display the volume value. |
| 263 | |
Antoine Cellerier | 8289b96 | 2008-12-07 16:20:35 +0000 | [diff] [blame] | 264 | \section{Settings} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 265 | \begin{tagmap} |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 266 | \config{\%St(<setting\tabnlindent{}name>)} & The value of the Rockbox |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 267 | setting with the specified name. See \reference{ref:config_file_options} |
| 268 | for the list of the available settings.\\ |
Antoine Cellerier | 8289b96 | 2008-12-07 16:20:35 +0000 | [diff] [blame] | 269 | \end{tagmap} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 270 | |
| 271 | Examples: |
| 272 | \begin{enumerate} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 273 | \item As a simple tag: \config{\%St(skip length)} |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 274 | \item As a conditional: \config{\%?St(eq enabled)<Eq is enabled|Eq is disabled>} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 275 | \end{enumerate} |
| 276 | |
Antoine Cellerier | 8289b96 | 2008-12-07 16:20:35 +0000 | [diff] [blame] | 277 | |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 278 | \opt{lcd_bitmap}{ |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 279 | \section{\label{ref:wps_images}Images} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 280 | \begin{tagmap} |
Nils Wallménius | da55588 | 2006-11-13 15:14:28 +0000 | [diff] [blame] | 281 | \nopt{archos}{% |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 282 | \config{\%X(filename.bmp)} |
Dominik Riebeling | 2ce440d | 2008-03-26 19:35:39 +0000 | [diff] [blame] | 283 | & Load and set a backdrop image for the WPS. |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 284 | This image must be exactly the same size as your LCD.\\ |
Nils Wallménius | da55588 | 2006-11-13 15:14:28 +0000 | [diff] [blame] | 285 | }% |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 286 | \config{\%x(n,filename,x,y)} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 287 | & Load and display an image\newline |
| 288 | \config{n}: image ID (a-z and A-Z) for later referencing in \config{\%xd}\newline |
| 289 | \config{filename}: file name relative to \fname{/.rockbox/} and including ``.bmp''\newline |
| 290 | \config{x}: x coordinate\newline |
| 291 | \config{y}: y coordinate.\\ |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 292 | \config{\%xl(n,filename,x,y,\tabnlindent[nimages])} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 293 | & Preload an image for later display (useful for when your images are displayed conditionally).\newline |
| 294 | \config{n}: image ID (a-z and A-Z) for later referencing in \config{\%xd}\newline |
| 295 | \config{filename}: file name relative to \fname{/.rockbox/} and including ``.bmp''\newline |
| 296 | \config{x}: x coordinate\newline |
| 297 | \config{y}: y coordinate\newline |
| 298 | \config{nimages}: (optional) number of sub-images (tiled vertically, of the same height) |
Dominik Riebeling | 2ce440d | 2008-03-26 19:35:39 +0000 | [diff] [blame] | 299 | contained in the bitmap. Default is 1.\\ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 300 | \config{\%xd(n[i])} & Display a preloaded image. |
| 301 | \config{n}: image ID (a-z and A-Z) as it was specified in \config{\%x} or \config{\%xl}\newline |
| 302 | \config{i}: (optional) number of the sub-image to display (a-z for 1-26 and A-Z for 27-52). |
Dominik Riebeling | 2ce440d | 2008-03-26 19:35:39 +0000 | [diff] [blame] | 303 | By default the first (i.e. top most) sub-image will be used.\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 304 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 305 | |
Dominik Riebeling | 8f44dd2 | 2008-03-28 21:49:41 +0000 | [diff] [blame] | 306 | Examples: |
| 307 | \begin{enumerate} |
| 308 | \item Load and display the image \fname{/.rockbox/bg.bmp} with ID ``a'' at 37, 109:\\ |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 309 | \config{\%x(a,bg.bmp,37,109)} |
Dominik Riebeling | 8f44dd2 | 2008-03-28 21:49:41 +0000 | [diff] [blame] | 310 | \item Load a bitmap strip containing 5 volume icon images (all the same size) |
| 311 | with image ID ``M'', and then reference the individual sub-images in a conditional:\\ |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 312 | \config{\%xl(M,volume.bmp,134,153,5)}\\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 313 | \config{\%?pv<\%xd(Ma)|\%xd(Mb)|\%xd(Mc)|% |
| 314 | \%xd(Md)|\%xd(Me)>} |
Dominik Riebeling | 8f44dd2 | 2008-03-28 21:49:41 +0000 | [diff] [blame] | 315 | \end{enumerate} |
Dominik Riebeling | 2ce440d | 2008-03-26 19:35:39 +0000 | [diff] [blame] | 316 | |
| 317 | |
Dominik Riebeling | 18f319c | 2006-04-01 17:00:04 +0000 | [diff] [blame] | 318 | \note{ |
| 319 | \begin{itemize} |
Alexander Levin | 3adb821 | 2009-03-24 21:39:48 +0000 | [diff] [blame] | 320 | \item The images must be in BMP format |
Dominik Riebeling | 18f319c | 2006-04-01 17:00:04 +0000 | [diff] [blame] | 321 | \item The image tag must be on its own line |
| 322 | \item The ID is case sensitive, giving 52 different ID's |
| 323 | \item The size of the LCD screen for each player varies. See table below |
| 324 | for appropriate sizes of each device. The x and y coordinates must |
| 325 | repect each of the players' limits. |
| 326 | \end{itemize} |
| 327 | } |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 328 | } |
| 329 | |
| 330 | \opt{albumart}{ |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 331 | \section{\label{ref:album_art}Album Art} |
| 332 | Rockbox allows you to put the album art, or another image related to the music |
| 333 | on your \dap{} to display it in the PictureFlow plugin\opt{albumart}{ or in the |
| 334 | theme}. For this feature to work, there are a few requirements. |
| 335 | |
| 336 | \subsection{Limitations} |
| 337 | |
| 338 | Rockbox does not support album art embedded in your files' tags, and will |
| 339 | instead look for a picture located on disk. In addition to this, the |
| 340 | pictures must be in either BMP or JPEG format. Rockbox does not support |
| 341 | RLE-compressed BMP files, nor does it support progressive and multi-scan |
| 342 | JPEG files. JPEG files must consist of a single scan with interleaved components, |
| 343 | as progessive and multi-scan images require much more memory to decode. |
| 344 | |
| 345 | \subsection{Where to put album art} |
| 346 | |
| 347 | The pictures can be named a number of different ways, and placed to a number of |
| 348 | different locations. You can have pictures specific to the file or the album |
| 349 | or use a generic picture. You can place the picture in the same directory |
| 350 | as the file, in the parent directory or in a fixed directory named |
| 351 | \fname{/.rockbox/albumart/}. The order Rockbox uses when looking for a picture |
| 352 | is as follows (a list in braces means that those file extensions are tried in |
| 353 | that order): |
| 354 | |
| 355 | \begin{enumerate} |
| 356 | \item \fname{./filename.\{jpeg,jpg,bmp\}} |
| 357 | \item \fname{./albumtitle.\{jpeg,jpg,bmp\}} |
| 358 | \item \fname{./cover.\{jpeg,jpg,bmp\}} |
| 359 | \item \fname{./folder.jpg} |
Jonas Häggqvist | 22b2875 | 2010-07-01 12:30:18 +0000 | [diff] [blame] | 360 | \item \fname{/.rockbox/albumart/albumartist-albumtitle.\{jpeg,jpg,bmp\}} |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 361 | \item \fname{../albumtitle.\{jpeg,jpg,bmp\}} |
| 362 | \item \fname{../cover.\{jpeg,jpg,bmp\}} |
| 363 | \end{enumerate} |
| 364 | |
| 365 | The following characters will be replaced with an underscore (\_) when looking |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 366 | for albumtitle.bmp or albumartist-albumtitle.bmp: \textbackslash{} / : < |
| 367 | > ? * |. Doublequotes will be replaced by single quotes. |
Jonas Häggqvist | 22b2875 | 2010-07-01 12:30:18 +0000 | [diff] [blame] | 368 | If no album artist is set, artist will be used instead. See \wikilink{AlbumArt} |
| 369 | in the wiki for programs that will help you automate the process of putting |
| 370 | album art on your \dap{}. |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 371 | |
| 372 | \subsection{How to display the album art} |
| 373 | |
| 374 | Once the album art files are present on your \dap, they can be displayed as |
| 375 | follows. |
| 376 | |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 377 | \begin{tagmap} |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 378 | \config{\%Cl(x,y,[maxwidth],\tabnlindent[maxheight],\tabnlindent{}hor\_align,\tabnlindent{}vert\_align)} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 379 | & Define the settings for album art\newline |
| 380 | \config{x}: x coordinate\newline |
| 381 | \config{y}: y coordinate\newline |
| 382 | \config{maxwidth}: Maximum height\newline |
| 383 | \config{maxheight}: Maximum width\newline |
| 384 | \config{hor\_align}: Horizontal alignment, enter as `l', `c' or `r' for |
| 385 | left, centre or right. Centre is default\newline |
| 386 | \config{vert\_align}: Vertical alignment, enter as `t', `c' or `b' for |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 387 | top, centre or bottom. Centre is default\\ |
Jonathan Gordon | 50356d8 | 2010-06-08 15:09:32 +0000 | [diff] [blame] | 388 | \config{\%Cd} & Display the album art as configured. \\ |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 389 | \config{\%C} & Use in a conditional to determine if an image is available. \\ |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 390 | \end{tagmap} |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 391 | |
| 392 | The picture will be rescaled, preserving aspect ratio to fit the given |
| 393 | \config{maxwidth} and \config{maxheight}. If the aspect ratio doesn't match the |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 394 | configured values, the picture will be placed according to the alignment flags. |
Jonas Häggqvist | 0021534 | 2009-02-20 19:08:18 +0000 | [diff] [blame] | 395 | |
| 396 | Examples: |
| 397 | \begin{enumerate} |
| 398 | \item Load albumart at position 20,40 and display it without resizing:\\ |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 399 | \config{\%Cl(20,40,,)} |
Alexander Levin | 87b2ad14 | 2010-05-20 16:20:58 +0000 | [diff] [blame] | 400 | \item Load albumart at position 0,20 and resize it to be at most 100$\times$100 |
Jonas Häggqvist | 0021534 | 2009-02-20 19:08:18 +0000 | [diff] [blame] | 401 | pixels. If the image isn't square, align it to the bottom-right |
| 402 | corner:\\ |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 403 | \config{\%Cl(0,20,100,100,r,b)} |
Jonas Häggqvist | 0021534 | 2009-02-20 19:08:18 +0000 | [diff] [blame] | 404 | \end{enumerate} |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 405 | } |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 406 | |
Alex Parker | caa68b5 | 2010-05-29 19:02:19 +0000 | [diff] [blame] | 407 | \opt{radio}{ |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 408 | \section{FM Radio} |
| 409 | \begin{tagmap} |
Alexander Levin | 1940a0b | 2010-05-13 08:45:22 +0000 | [diff] [blame] | 410 | \config{\%tp} & Does this target have a radio? If it doesn't, the ``true'' |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 411 | branch of this conditional is completly ignored so you don't need to |
| 412 | worry about tags which are not recognized on non radio targets.\\ |
| 413 | \config{\%tt} & Is the tuner tuned?\\ |
Alexander Levin | 1940a0b | 2010-05-13 08:45:22 +0000 | [diff] [blame] | 414 | \config{\%tm} & Scan or preset mode? Scan is ``true'', preset is ``false''.\\ |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 415 | \config{\%ts} & Is the station in stereo?\\ |
Alexander Levin | edb6bed | 2010-05-15 21:47:30 +0000 | [diff] [blame] | 416 | \config{\%ta} & Minimum frequency (region specific) in MHz.\\ |
| 417 | \config{\%tb} & Maximum frequency (region specific) in MHz.\\ |
| 418 | \config{\%tf} & Current frequency in MHz.\\ |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 419 | \config{\%Ti} & Current preset id, i.e. 1-based number of the preset |
| 420 | within the presets list (usable in playlist viewer).\\ |
| 421 | \config{\%Tn} & Current preset name (usable in playlist viewer).\\ |
| 422 | \config{\%Tf} & Current preset frequency (usable in playlist viewer).\\ |
| 423 | \config{\%Tc} & Preset count, i.e. the number of stations in the current |
| 424 | preset list.\\ |
| 425 | \config{\%tx} & Is RDS available?\\ |
| 426 | \config{\%ty} & RDS name.\\ |
| 427 | \config{\%tz} & RDS text.\\ |
| 428 | \end{tagmap} |
| 429 | |
Alex Parker | 4b36063 | 2010-05-29 19:02:10 +0000 | [diff] [blame] | 430 | It is also possible to show ``Radio Art'' which can be used to display images |
| 431 | associated with presets. The tags are exactly the same as for album art, |
| 432 | described above. Images need to be placed in \fname{/.rockbox/fmpresets/}, |
| 433 | and must have the same name as the preset. They need to be in either |
| 434 | \fname{.bmp} or \fname{.jpg} format, and the radio must be in preset mode |
| 435 | and tuned to a preset (and not recording) in order for them to be shown. |
Alex Parker | caa68b5 | 2010-05-29 19:02:19 +0000 | [diff] [blame] | 436 | } |
Alex Parker | 4b36063 | 2010-05-29 19:02:10 +0000 | [diff] [blame] | 437 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 438 | \section{Alignment} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 439 | \begin{tagmap} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 440 | \config{\%al} & Align the text left\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 441 | \config{\%aL} & Align the text left, or to the right if RTL language is in use\\ |
Alex Parker | c4b6c05 | 2009-11-22 11:24:49 +0000 | [diff] [blame] | 442 | \config{\%ac} & Centre the text\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 443 | \config{\%ar} & Align the text right\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 444 | \config{\%aR} & Align the text right, or to the left if RTL language is in use\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 445 | \end{tagmap} |
| 446 | All alignment tags may be present in one line, but they need to be in the |
Alex Parker | c4b6c05 | 2009-11-22 11:24:49 +0000 | [diff] [blame] | 447 | order left -- centre -- right. If the aligned texts overlap, they are merged. |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 448 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 449 | \section{Conditional Tags} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 450 | |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 451 | \begin{tagmap} |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 452 | \config{\%?xx<true|false>} |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 453 | & If / Else: Evaluate for true or false case \\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 454 | \config{\%?xx<alt1|alt2|\tabnlindent{}alt3|\dots|else>} |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 455 | & Enumerations: Evaluate for first / second / third / \dots / last condition \\ |
| 456 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 457 | |
Alex Parker | e56030a | 2009-05-15 21:17:21 +0000 | [diff] [blame] | 458 | \section{Subline Tags} |
| 459 | |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 460 | \begin{tagmap} |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 461 | \config{\%t(time)} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 462 | & Set the subline display cycle time (\%t(5) or \%t(3.4) formats) \\ |
Alex Parker | e56030a | 2009-05-15 21:17:21 +0000 | [diff] [blame] | 463 | \config{;} |
| 464 | & Split items on a line into separate sublines \\ |
| 465 | \end{tagmap} |
Alex Parker | e56030a | 2009-05-15 21:17:21 +0000 | [diff] [blame] | 466 | |
| 467 | Allows grouping of several items (sublines) onto one line, with the |
| 468 | display cycling round the defined sublines. See |
| 469 | \reference{ref:AlternatingSublines} for details. |
| 470 | |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 471 | |
| 472 | \section{Time and Date} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 473 | \begin{tagmap} |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 474 | \opt{rtc}{ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 475 | \config{\%cd} & Day of month from 01 to 31\\ |
| 476 | \config{\%ce} & Zero padded day of month from 1 to 31\\ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 477 | \config{\%cf} & A conditional for 12/24 hour format.\newline |
| 478 | \config{\%?cf<24 hour stuff|12 hour stuff>}\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 479 | \config{\%cH} & Zero padded hour from 00 to 23 (24 hour format)\\ |
| 480 | \config{\%ck} & Hour from 0 to 23 (24 hour format)\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 481 | \config{\%cI} & Zero padded hour from 01 to 12 (am/pm format)\\ |
| 482 | \config{\%cl} & Hour from 1 to 12 (am/pm format)\\ |
| 483 | \config{\%cm} & Month from 01 to 12\\ |
Dominik Riebeling | f177af4 | 2007-04-10 17:38:40 +0000 | [diff] [blame] | 484 | \config{\%cM} & Minutes\\ |
| 485 | \config{\%cS} & Seconds\\ |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 486 | \config{\%cy} & 2-digit year\\ |
Dominik Riebeling | f177af4 | 2007-04-10 17:38:40 +0000 | [diff] [blame] | 487 | \config{\%cY} & 4-digit year\\ |
| 488 | \config{\%cP} & Capital AM/PM\\ |
| 489 | \config{\%cp} & Lowercase am/pm\\ |
| 490 | \config{\%ca} & Weekday name\\ |
| 491 | \config{\%cb} & Month name\\ |
| 492 | \config{\%cu} & Day of week from 1 to 7, 1 is Monday\\ |
| 493 | \config{\%cw} & Day of week from 0 to 6, 0 is Sunday\\ |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 494 | } |
| 495 | \config{\%cc} & Check for presence of the clock hardware\\ |
Dominik Riebeling | f177af4 | 2007-04-10 17:38:40 +0000 | [diff] [blame] | 496 | \end{tagmap} |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 497 | The \%cc tag returns ``c'' if the necessary hardware is present and can also be |
| 498 | used as a conditional. This can be very useful for designing a WPS that works on |
| 499 | multiple targets, some with and some without a clock. By using this tag as a |
| 500 | conditional it is possible to display current date and time on those targets that |
| 501 | support this |
| 502 | \opt{rtc}{ (like the \playertype)}, |
| 503 | or alternate information on those that do not |
| 504 | \nopt{rtc}{ (like the \playertype)}% |
| 505 | . |
| 506 | |
| 507 | Example: |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 508 | \config{\%?cc<\%cH:\%cM|No clock detected>} |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 509 | |
Alex Parker | 55c8b2b | 2010-03-21 10:20:14 +0000 | [diff] [blame] | 510 | \section{Text Translation} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 511 | \begin{tagmap} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 512 | \config{\%Sx(English)} |
Alex Parker | 55c8b2b | 2010-03-21 10:20:14 +0000 | [diff] [blame] | 513 | & Display the translation of ``English'' in the current language\\ |
| 514 | \end{tagmap} |
| 515 | |
| 516 | \begin{itemize} |
| 517 | \item ``English'' must be a phrase used in the language file. |
| 518 | \item It should match the \config{Source:} line in the language file. |
| 519 | \end{itemize} |
| 520 | |
| 521 | \note{checkwps cannot verify that the string is correct, so please check on |
| 522 | either the simulator or on target.} |
| 523 | |
| 524 | |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 525 | \opt{touchscreen}{ |
| 526 | \section{Touchscreen Areas (WPS only)} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 527 | \begin{tagmap} |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 528 | \config{\%T(x,y,[width],\tabnlindent[height],action)} |
Alexander Levin | 4c105b6 | 2010-03-07 22:12:16 +0000 | [diff] [blame] | 529 | & Invoke the action specified when the user presses in the defined |
| 530 | touchscreen area.\\ |
| 531 | \end{tagmap} |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 532 | If the action starts with \& then the area must be held. Possible actions are: |
| 533 | |
| 534 | \begin{description} |
| 535 | \item[play] -- Play/pause playback. |
| 536 | \item[stop] -- Stop playback and exit the WPS. |
| 537 | \item[prev] -- Previous track. |
| 538 | \item[next] -- Next track. |
| 539 | \item[ffwd] -- Seek forwards in the track. |
| 540 | \item[rwd] -- Seek backwards in the track. |
| 541 | \item[menu] -- Go to the main menu. |
| 542 | \item[browse] -- Go back to the file browser or database. |
| 543 | \item[shuffle] -- Toggle shuffle mode. |
| 544 | \item[repmode] -- Cycle through the repeat modes. |
| 545 | \item[quickscreen] -- Go to the quickscreen. |
| 546 | \item[contextmenu] -- Open the context menu. |
| 547 | \item[playlist] -- Go to the playlist viewer. |
| 548 | \item[progressbar] -- Seek to the appropriate position in the track based on the touch. |
| 549 | \item[volume] -- Set the volume to the appropriate level based on the touch. |
| 550 | \item[pitch] -- Open the pitchscreen. |
| 551 | \item[voldown] -- Decrease the volume by one step. |
| 552 | \item[volup] -- Increase the volume by one step. |
| 553 | \end{description} |
| 554 | |
| 555 | \section{Last Touchscreen Press (WPS only)} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 556 | \begin{tagmap} |
Alexander Levin | 4c105b6 | 2010-03-07 22:12:16 +0000 | [diff] [blame] | 557 | \config{\%Tl} & Indicates that the touchscreen is pressed.\\ |
| 558 | \end{tagmap} |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 559 | This tag can be used to display text or images or a viewport when the |
| 560 | touchscreen is pressed (like an On Screen Display). If you put a number |
| 561 | straight after \%Tl it will be used as a timeout in seconds |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 562 | (e.g \%Tl(2.5) will give a 2.5 second timeout) between the touchscreen press |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 563 | being released and the tag going false. If no number is specified it will |
| 564 | use a 1 second timeout. It can also be used as a conditional, and can be |
| 565 | used with conditional viewports. |
| 566 | } |
Dominik Riebeling | f177af4 | 2007-04-10 17:38:40 +0000 | [diff] [blame] | 567 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 568 | \section{Other Tags} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 569 | \begin{tagmap} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 570 | \config{\%(} & The character `('\\ |
| 571 | \config{\%)} & The character `)'\\ |
| 572 | \config{\%,} & The character `,'\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 573 | \config{\%\%} & The character `\%'\\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 574 | \config{\%<} & The character `<'\\ |
| 575 | \config{\%|} & The character `|'\\ |
| 576 | \config{\%>} & The character `>'\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 577 | \config{\%;} & The character `;'\\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 578 | \config{\#} & The character `\#'\\ |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 579 | \config{\%s} & Indicate that the line should scroll. Can occur |
| 580 | anywhere in a line (given that the text is |
| 581 | displayed; see conditionals above). You can specify |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 582 | up to ten scrolling lines. Scrolling lines can not |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 583 | contain dynamic content such as timers, peak meters |
| 584 | or progress bars.\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 585 | \end{tagmap} |
Alexander Levin | 4c105b6 | 2010-03-07 22:12:16 +0000 | [diff] [blame] | 586 | |