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 | |
Alex Parker | 15258e0 | 2010-09-17 19:13:20 +0000 | [diff] [blame] | 6 | \note{The ``bar-type tags'' (such as \%pb, \%pv, \%bl etc.) can be further |
| 7 | themed -- see \reference{ref:bar_tags}.} |
| 8 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 9 | \section{Status Bar} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 10 | \begin{tagmap} |
Alex Parker | 0c1f3e6 | 2010-03-21 10:20:19 +0000 | [diff] [blame] | 11 | \config{\%we} & Display Status Bar\\ |
| 12 | \config{\%wd} & Hide Status Bar\\ |
| 13 | \config{\%wi} & Display the inbuilt Status Bar in the current viewport\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 14 | \end{tagmap} |
| 15 | 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] | 16 | 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] | 17 | |
Marianne Arnold | fa63211 | 2010-10-29 17:52:20 +0000 | [diff] [blame] | 18 | \section{Hardware Capabilities} |
| 19 | \begin{tagmap} |
| 20 | \config{\%cc} & Check for presence of a real time clock, returns ``c'' |
| 21 | when used unconditionally\\ |
| 22 | \config{\%tp} & Does this target have a radio?\\ |
| 23 | \config{\%Tp} & Indicates that the target has a touchscreen\\ |
| 24 | \end{tagmap} |
| 25 | With the above tags it is possible to find out about the presence of certain |
| 26 | hardware and make the theme adapt to it. This can be very useful for designing |
| 27 | a theme that works on multiple targets with differing hardware capabilities, e.g. |
| 28 | targets that do and do not have a clock. When used conditionally, the ``true'' |
| 29 | branch is completely ignored if it does not apply. |
| 30 | |
| 31 | Example: |
| 32 | \config{\%?cc<\%cH:\%cM|No clock detected>} |
| 33 | |
| 34 | |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 35 | \section{Information from the track tags} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 36 | \begin{tagmap} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 37 | \config{\%ia} & Artist\\ |
| 38 | \config{\%ic} & Composer\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 39 | \config{\%iA} & Album Artist\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 40 | \config{\%id} & Album Name\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 41 | \config{\%iG} & Grouping\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 42 | \config{\%ig} & Genre Name\\ |
| 43 | \config{\%in} & Track Number\\ |
| 44 | \config{\%it} & Track Title\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 45 | \config{\%iC} & Comment\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 46 | \config{\%iv} & ID3 version (1.0, 1.1, 2.2, 2.3, 2.4, or empty if not an ID3 tag)\\ |
| 47 | \config{\%iy} & Year\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 48 | \config{\%ik} & Disc Number\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 49 | \end{tagmap} |
| 50 | Remember that this information is not always available, so use the |
| 51 | conditionals to show alternate information in preference to assuming. |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 52 | |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 53 | 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] | 54 | show the information for the next song to be played. |
| 55 | |
| 56 | \nopt{lcd_charcell}{ |
| 57 | \section{Viewports} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 58 | \begin{tagmap} |
| 59 | \nopt{lcd_non-mono}{% |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 60 | \config{\%V(x,y,[width],\tabnlindent[height],[font])} |
Alexander Levin | 6d4637c | 2010-03-27 15:52:27 +0000 | [diff] [blame] | 61 | & See section \ref{ref:Viewports}\\} |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 62 | |
| 63 | \nopt{lcd_color}{\opt{lcd_non-mono}{% |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 64 | \config{\%V(x,y,[width],\tabnlindent[height],[font])}\newline |
| 65 | \config{\%Vf([fgshade])}\newline |
| 66 | \config{\%Vb([bgshade])} |
Alexander Levin | 6d4637c | 2010-03-27 15:52:27 +0000 | [diff] [blame] | 67 | & See section \ref{ref:Viewports}\\}} |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 68 | |
| 69 | \opt{lcd_color}{% |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 70 | \config{\%V(x,y,[width],\tabnlindent[height],[font])}\newline |
| 71 | \config{\%Vf([fgcolour])}\newline |
Alex Parker | 77a78ee | 2011-08-19 11:43:51 +0000 | [diff] [blame] | 72 | \config{\%Vb([bgcolour])}\newline |
| 73 | \config{\%Vg(start,end \tabnlindent[,text])} |
Alexander Levin | 6d4637c | 2010-03-27 15:52:27 +0000 | [diff] [blame] | 74 | & See section \ref{ref:Viewports}\\} |
Alex Parker | 77a78ee | 2011-08-19 11:43:51 +0000 | [diff] [blame] | 75 | |
| 76 | \opt{lcd_non-mono}{% |
| 77 | \config{\%Vs(mode[,param])} |
| 78 | & See section \ref{ref:Viewports}\\} |
| 79 | |
Alex Parker | ecb2111 | 2010-08-02 21:21:33 +0000 | [diff] [blame] | 80 | \config{\%Vl('identifier',\newline\dots)} & Preloads a viewport for later |
| 81 | display. `identifier' is a single lowercase letter (a-z) and the `\dots' |
| 82 | parameters use the same logic as the \%V tag explained above.\\ |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 83 | |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 84 | \config{\%Vd('identifier')} & Display the `identifier' viewport. E.g. |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 85 | \config{\%?C<\%Vd(a)|\%Vd(b)>} |
Alexander Levin | ac00d26 | 2010-03-26 22:12:39 +0000 | [diff] [blame] | 86 | 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] | 87 | |
Alex Parker | 49f2fce | 2010-06-20 16:27:41 +0000 | [diff] [blame] | 88 | \config{\%Vi('label',\dots)} & |
Alexander Levin | 9f95a0b | 2010-05-13 08:41:01 +0000 | [diff] [blame] | 89 | 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] | 90 | the \config{\%V} tag explained above. See section \ref{ref:Viewports}.\\ |
| 91 | |
Alex Parker | 49f2fce | 2010-06-20 16:27:41 +0000 | [diff] [blame] | 92 | \config{\%VI('label')} & Set the Info Viewport to use the viewport called |
Alex Parker | 6d549df | 2010-05-13 08:13:37 +0000 | [diff] [blame] | 93 | label, as declared with the previous tag.\\ |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 94 | \end{tagmap} |
Alex Parker | 1b0c77f | 2010-06-20 12:58:09 +0000 | [diff] [blame] | 95 | |
| 96 | \section{Additional Fonts} |
| 97 | \begin{tagmap} |
Alex Parker | 49f2fce | 2010-06-20 16:27:41 +0000 | [diff] [blame] | 98 | \config{\%Fl('id',filename)} & See section \ref{ref:multifont}.\\ |
Alex Parker | 1b0c77f | 2010-06-20 12:58:09 +0000 | [diff] [blame] | 99 | \end{tagmap} |
| 100 | |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 101 | } |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 102 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 103 | \section{Power Related Information} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 104 | \begin{tagmap} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 105 | \config{\%bl} & Numeric battery level in percents. |
| 106 | Can also be used in a conditional: |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 107 | \config{\%?bl<-1|0|1|2|\ldots|N>}, |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 108 | where the value $-1$ is used when the battery level isn't |
Magnus Holmgren | 0b92158 | 2010-08-12 09:50:29 +0000 | [diff] [blame] | 109 | known (it usually is). The value $N$ is only used when the |
| 110 | battery level is exactly 100 percent. |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 111 | An image can also be used, the proportion of the image |
Magnus Holmgren | 0b92158 | 2010-08-12 09:50:29 +0000 | [diff] [blame] | 112 | shown corresponds to the battery level: |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 113 | \config{\%bl(x,y,[width],[height],image.bmp)}\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 114 | \config{\%bv} & The battery level in volts\\ |
| 115 | \config{\%bt} & Estimated battery time left\\ |
| 116 | \config{\%bp} & ``p'' if the charger is connected (only on targets |
| 117 | that can charge batteries)\\ |
| 118 | \config{\%bc} & ``c'' if the unit is currently charging the battery (only on |
| 119 | targets that have software charge control or monitoring)\\ |
| 120 | \config{\%bs} & Remaining time of the sleep timer (if it is set)\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 121 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 122 | |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 123 | \section{Information about the file} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 124 | \begin{tagmap} |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 125 | \config{\%fb} & File Bitrate (in kbps)\\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 126 | \config{\%fc} & File Codec (e.g. ``MP3'' or ``FLAC''). |
| 127 | This tag can also be used in a conditional tag: |
| 128 | \config{\%?fc<mp1|mp2|mp3|aiff|wav|ogg|\newline |
| 129 | flac|mpc|a52|wavpack|alac|aac|shn|sid|adx|nsf|\newline |
| 130 | speex|spc|ape|wma|mod|sap|unknown>}. |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 131 | The codec order is as follows: MP1, MP2, MP3, AIFF, WAV, |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 132 | Ogg Vorbis (OGG), FLAC, MPC, AC3, WavPack (WV), ALAC, AAC, |
| 133 | Shorten (SHN), SID, ADX, NSF, Speex, SPC, APE, WMA, MOD, SAP.\\ |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 134 | \config{\%ff} & File Frequency (in Hz)\\ |
Andree Buschmann | 53cf63f | 2010-04-14 19:44:07 +0000 | [diff] [blame] | 135 | \config{\%fk} & File Frequency (in kHz)\\ |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 136 | \config{\%fm} & File Name\\ |
| 137 | \config{\%fn} & File Name (without extension)\\ |
| 138 | \config{\%fp} & File Path\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 139 | \config{\%fs} & File Size (in Kilobytes)\\ |
| 140 | \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] | 141 | \config{\%d(N)} & N-th segment from the end of the file's directory |
| 142 | (N can be 1, 2, 3, \dots)\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 143 | \end{tagmap} |
Alexander Levin | a43fbbb | 2010-07-01 18:55:43 +0000 | [diff] [blame] | 144 | Example for the \config{\%d(N)} commands: If the file is |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 145 | ``/Rock/Kent/Isola/11 - 747.mp3'', \config{\%d(1)} is ``Isola'', |
| 146 | \config{\%d(2)} is ``Kent'' and \config{\%d(3)} is ``Rock''. |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 147 | |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 148 | These tags, when written with the first letter capitalized (e.g. \config{\%Fn} |
| 149 | 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] | 150 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 151 | \section{Playlist/Song Info} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 152 | \begin{tagmap} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 153 | \config{\%pb} & Progress Bar. |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 154 | \opt{player}{ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 155 | This will display a one character ``cup'' |
Martin Arver | ec60a05 | 2006-03-29 18:40:42 +0000 | [diff] [blame] | 156 | that empties as the time progresses.} |
Nils Wallménius | 12eb058 | 2008-03-23 22:07:09 +0000 | [diff] [blame] | 157 | \opt{lcd_bitmap}{ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 158 | This will replace the entire line with a progress bar. |
| 159 | You can set the position, width and height of the progressbar |
| 160 | (in pixels) and load a custom image for it: |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 161 | \config{\%pb(x,y,[width],[height],image.bmp)}} \\ |
Dominik Riebeling | eef9694 | 2007-04-07 22:48:11 +0000 | [diff] [blame] | 162 | \opt{player}{% |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 163 | \config{\%pf} & Full-line progress bar \& time display\\ |
Dominik Riebeling | eef9694 | 2007-04-07 22:48:11 +0000 | [diff] [blame] | 164 | }% |
Alexander Levin | d8f5f51 | 2010-07-02 18:57:57 +0000 | [diff] [blame] | 165 | \config{\%px} & Percentage played in song\\ |
| 166 | \config{\%pc} & Current time in song\\ |
| 167 | \config{\%pe} & Total number of playlist entries\\ |
Dominik Riebeling | eef9694 | 2007-04-07 22:48:11 +0000 | [diff] [blame] | 168 | \nopt{player}{% |
| 169 | \config{\%pm} & Peak Meter. The entire line is used as % |
| 170 | volume peak meter.\\% |
Alex Parker | c16deb3 | 2011-01-13 18:09:46 +0000 | [diff] [blame] | 171 | \config{\%pL} & Peak meter for the left channel. Can be used as a value, % |
| 172 | a conditional tag or a bar tag.\\ |
| 173 | \config{\%pR} & Peak meter for the right channel. Can be used as a value, % |
| 174 | a conditional tag or a bar tag.\\ |
Dominik Riebeling | eef9694 | 2007-04-07 22:48:11 +0000 | [diff] [blame] | 175 | }% |
Alexander Levin | d8f5f51 | 2010-07-02 18:57:57 +0000 | [diff] [blame] | 176 | \config{\%pn} & Playlist name (without path or extension)\\ |
| 177 | \config{\%pp} & Playlist position\\ |
| 178 | \config{\%pr} & Remaining time in song\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 179 | \config{\%ps} & ``s'' if shuffle mode is enabled\\ |
Alexander Levin | d8f5f51 | 2010-07-02 18:57:57 +0000 | [diff] [blame] | 180 | \config{\%pt} & Total track time\\ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 181 | \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] | 182 | \config{\%?pv<0|1|2|\ldots|N>}\newline |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 183 | 0 is used for mute, the last option is used for values greater than zero. |
| 184 | \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] | 185 | \config{\%pv(x,y,[width],[height],image.bmp)}} \\ |
Alex Parker | bbb2dd5 | 2010-03-21 10:20:09 +0000 | [diff] [blame] | 186 | \config{\%pS} & Track is starting. An optional number gives how many seconds |
| 187 | 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] | 188 | 10 seconds if no number is specified. |
Alexander Levin | 11e792b | 2010-09-24 19:07:42 +0000 | [diff] [blame] | 189 | \config{\%?pS(7)<in the first 7 seconds of track|in |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 190 | the rest of the track>}\\ |
Alex Parker | bbb2dd5 | 2010-03-21 10:20:09 +0000 | [diff] [blame] | 191 | \config{\%pE} & Track is ending. An optional number gives how many seconds |
Alex Parker | 7e84cca | 2010-03-22 20:41:14 +0000 | [diff] [blame] | 192 | 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] | 193 | 10 seconds if no number is specified. |
Alexander Levin | 11e792b | 2010-09-24 19:07:42 +0000 | [diff] [blame] | 194 | \config{\%?pE(7)<in the last 7 seconds of track|in |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 195 | the rest of the track>}\\ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 196 | \config{\%Sp} & Current playback pitch\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 197 | \end{tagmap} |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 198 | |
| 199 | \section{Playlist Viewer} |
| 200 | \begin{tagmap} |
Jonathan Gordon | d23d7a1 | 2010-08-14 15:27:46 +0000 | [diff] [blame] | 201 | \config{\%Vp(start,code to render)} & Display the playlist viewer in |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 202 | the current viewport.\\ |
| 203 | \end{tagmap} |
| 204 | |
| 205 | \begin{itemize} |
| 206 | \item `start' is the offset relative to the currently playing track for the |
| 207 | playlist to display from (0 the current track, 1 is the next track, etc.). |
Jonathan Gordon | d23d7a1 | 2010-08-14 15:27:46 +0000 | [diff] [blame] | 208 | \item `code to render' is a line of skin code which will be displayed for |
Alex Parker | 964a5e6 | 2011-08-09 14:39:32 +0000 | [diff] [blame] | 209 | each line in the viewer. All text tags are supported (including conditionals |
Jonathan Gordon | d23d7a1 | 2010-08-14 15:27:46 +0000 | [diff] [blame] | 210 | and sublines) |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 211 | \end{itemize} |
| 212 | |
| 213 | The entire viewport will be used, so don't expect other tags in the same |
| 214 | viewport to work well. Supported tags are \%pp, all tags starting with \%i, |
| 215 | most tags starting with \%f, \%pt and \%s.\\ |
| 216 | |
| 217 | Example: \config{\%Vp(1,\%pp - \%it,\%pp - \%fn)} -- Display the playlist |
| 218 | position, then either the track title (from the tags) or |
| 219 | the filename. The viewer will display as many tracks as will fit in the |
| 220 | viewport. |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 221 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 222 | \section{Runtime Database} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 223 | \begin{tagmap} |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 224 | \config{\%rp} & Song playcount\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 225 | \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] | 226 | \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] | 227 | \config{\%ra} & Autoscore for the song\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 228 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 229 | |
Nils Wallménius | 12eb058 | 2008-03-23 22:07:09 +0000 | [diff] [blame] | 230 | \opt{swcodec}{ |
Dominik Riebeling | 9eaa568 | 2006-04-10 17:35:49 +0000 | [diff] [blame] | 231 | \section{Sound (DSP) settings} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 232 | \begin{tagmap} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 233 | \config{\%Sp} & Current playback pitch \\ |
Nils Wallménius | 12eb058 | 2008-03-23 22:07:09 +0000 | [diff] [blame] | 234 | \opt{swcodec}{ |
Jeffrey Goode | 0212de4 | 2009-11-11 17:38:00 +0000 | [diff] [blame] | 235 | \config{\%xf} & Crossfade setting, in the order: Off, Auto Skip, Man Skip, |
| 236 | Shuffle, Shuffle and Man Skip, Always\\ |
Andree Buschmann | 1248e9c | 2010-04-14 20:38:21 +0000 | [diff] [blame] | 237 | \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] | 238 | Replaygain type in use: \config{\%?rg<Off|Track% |
| 239 | |Album|TrackShuffle|AlbumShuffle% |
| 240 | |No tag>}\\ |
Dominik Riebeling | da1e28c | 2006-08-03 18:32:41 +0000 | [diff] [blame] | 241 | } |
Dominik Riebeling | 9eaa568 | 2006-04-10 17:35:49 +0000 | [diff] [blame] | 242 | \end{tagmap} |
| 243 | } |
Nils Wallménius | af68987 | 2009-08-24 15:19:14 +0000 | [diff] [blame] | 244 | |
Marianne Arnold | b013fb7 | 2010-07-01 21:02:12 +0000 | [diff] [blame] | 245 | \section{Hold} |
| 246 | \begin{tagmap} |
| 247 | \config{\%mh} & ``h'' if the main unit keys are locked\\ |
| 248 | \opt{remote_button_hold}{% |
| 249 | \config{\%mr} & ``r'' if the remote keys are locked\\ |
| 250 | } |
| 251 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 252 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 253 | \section{Virtual LED} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 254 | \begin{tagmap} |
Marianne Arnold | a352c62 | 2007-05-19 19:03:39 +0000 | [diff] [blame] | 255 | \config{\%lh} & ``h'' if the \disk\ is accessed\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 256 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 257 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 258 | \section{Repeat Mode} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 259 | \begin{tagmap} |
Marianne Arnold | c9532a2 | 2010-04-04 13:58:52 +0000 | [diff] [blame] | 260 | \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] | 261 | \end{tagmap} |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 262 | Example: \config{\%?mm<Off|All|One|Shuffle|A-B>} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 263 | |
Alexander Levin | 0bfef1c | 2010-02-26 19:57:51 +0000 | [diff] [blame] | 264 | \section{Playback Mode} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 265 | \begin{tagmap} |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 266 | \config{\%mp} & Play status, 0-4, in the order: Stop, Play, Pause, |
Frank Gevaerts | 629bf3e | 2010-04-11 11:44:18 +0000 | [diff] [blame] | 267 | Fast Forward, Rewind, Recording, Recording paused, FM Radio playing, |
| 268 | FM Radio muted\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 269 | \end{tagmap} |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 270 | Example: \config{\%?mp<Stop|Play|Pause|Ffwd|Rew|Rec|Rec pause|FM|FM pause>} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 271 | |
Alexander Levin | 5ff8a5a | 2010-02-26 19:53:06 +0000 | [diff] [blame] | 272 | \section{Current Screen} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 273 | \begin{tagmap} |
Alex Parker | 6013614 | 2011-08-09 13:53:26 +0000 | [diff] [blame] | 274 | \config{\%cs} & The current screen, 1-18, in the order shown below\\ |
Alexander Levin | 5ff8a5a | 2010-02-26 19:53:06 +0000 | [diff] [blame] | 275 | \end{tagmap} |
Alexander Levin | 5ff8a5a | 2010-02-26 19:53:06 +0000 | [diff] [blame] | 276 | |
Alex Parker | 6013614 | 2011-08-09 13:53:26 +0000 | [diff] [blame] | 277 | \begin{table} |
| 278 | \begin{rbtabular}{.75\textwidth}{lX}% |
| 279 | {\textbf{Number} & \textbf{Screen}}{}{} |
| 280 | 1 & Menus \\ |
| 281 | 2 & WPS \\ |
| 282 | 3 & Recording screen \\ |
| 283 | 4 & FM Radio screen \\ |
| 284 | 5 & Current Playlist screen \\ |
| 285 | 6 & Settings menus \\ |
| 286 | 7 & File browser \\ |
| 287 | 8 & Database browser \\ |
| 288 | 9 & Plugin browser \\ |
| 289 | 10 & Quickscreen \\ |
| 290 | 11 & Pitchscreen \\ |
| 291 | 12 & Setting chooser \\ |
| 292 | 13 & Playlist Catalogue Viewer \\ |
| 293 | 14 & Plugin \\ |
| 294 | 15 & Context menu \\ |
| 295 | 16 & System Info screen \\ |
| 296 | 17 & Time and Date Screen \\ |
| 297 | 18 & Bookmark browser \\ |
| 298 | \end{rbtabular} |
| 299 | \end{table} |
| 300 | |
| 301 | The tag can also be used as the switch in a conditional tag. For players without |
| 302 | certain capabilities (e.g. no FM radio) some values will never be returned. |
| 303 | |
| 304 | Examples: |
| 305 | |
| 306 | \config{You are in the \%?cs<Main menu|WPS|Recording screen|FM Radio screen>} |
| 307 | |
| 308 | \config{\%?if(\%cs, =, 2)<This is the WPS>} |
Alexander Levin | 5ff8a5a | 2010-02-26 19:53:06 +0000 | [diff] [blame] | 309 | |
Alex Parker | 165709b | 2010-03-21 10:20:24 +0000 | [diff] [blame] | 310 | \section{List Title (\fname{.sbs} only)} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 311 | \begin{tagmap} |
Alex Parker | 165709b | 2010-03-21 10:20:24 +0000 | [diff] [blame] | 312 | \config{\%Lt} & Title text. Should be used in a conditional so that non-list |
| 313 | screens don't show a title when they shouldn't\\ |
| 314 | \config{\%Li} & Title icon. This uses the same order as custom icons (see |
| 315 | \wikilink{CustomIcons} in the wiki) except that here \config{0} is ``no |
| 316 | icon''\\ |
| 317 | \end{tagmap} |
| 318 | |
| 319 | This tag can be used to give custom formatting to list titles. |
| 320 | Define a viewport with the font and formatting desired, and then use |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 321 | \config{\%?Lt<\%Lt>} to display the title within the |
Alex Parker | 165709b | 2010-03-21 10:20:24 +0000 | [diff] [blame] | 322 | viewport. If \config{\%Lt} is present anywhere in the \fname{.sbs}, then the |
| 323 | \config{\%Vi} viewport will not show the title. |
| 324 | |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 325 | \section{Changing Volume} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 326 | \begin{tagmap} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 327 | \config{\%mv(t)} & ``v'' if the volume is being changed\\ |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 328 | \end{tagmap} |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 329 | |
| 330 | The tag produces the letter ``v'' while the volume is being changed and some |
| 331 | 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] | 332 | optional parameter \config{t} specifies that amount of time, in seconds. If it |
| 333 | is not specified, 1 second is assumed. |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 334 | |
| 335 | The tag can be used as the switch in a conditional tag to display different things |
| 336 | depending on whether the volume is being changed. It can produce neat effects |
| 337 | when used with conditional viewports. |
| 338 | |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 339 | Example: \config{\%?mv(2.5)<Volume changing|\%pv>} |
Dominik Riebeling | 71c1e2a | 2008-10-12 10:48:06 +0000 | [diff] [blame] | 340 | |
| 341 | 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] | 342 | 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] | 343 | that, it will display the volume value. |
| 344 | |
Antoine Cellerier | 8289b96 | 2008-12-07 16:20:35 +0000 | [diff] [blame] | 345 | \section{Settings} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 346 | \begin{tagmap} |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 347 | \config{\%St(<setting\tabnlindent{}name>)} & The value of the Rockbox |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 348 | setting with the specified name. See \reference{ref:config_file_options} |
| 349 | for the list of the available settings.\\ |
Antoine Cellerier | 8289b96 | 2008-12-07 16:20:35 +0000 | [diff] [blame] | 350 | \end{tagmap} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 351 | |
| 352 | Examples: |
| 353 | \begin{enumerate} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 354 | \item As a simple tag: \config{\%St(skip length)} |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 355 | \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] | 356 | \end{enumerate} |
| 357 | |
Antoine Cellerier | 8289b96 | 2008-12-07 16:20:35 +0000 | [diff] [blame] | 358 | |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 359 | \opt{lcd_bitmap}{ |
Alex Parker | ab563da | 2009-09-20 16:48:45 +0000 | [diff] [blame] | 360 | \section{\label{ref:wps_images}Images} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 361 | \begin{tagmap} |
Nils Wallménius | da55588 | 2006-11-13 15:14:28 +0000 | [diff] [blame] | 362 | \nopt{archos}{% |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 363 | \config{\%X(filename.bmp)} |
Dominik Riebeling | 2ce440d | 2008-03-26 19:35:39 +0000 | [diff] [blame] | 364 | & Load and set a backdrop image for the WPS. |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 365 | This image must be exactly the same size as your LCD.\\ |
Nils Wallménius | da55588 | 2006-11-13 15:14:28 +0000 | [diff] [blame] | 366 | }% |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 367 | \config{\%x(n,filename,x,y)} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 368 | & Load and display an image\newline |
| 369 | \config{n}: image ID (a-z and A-Z) for later referencing in \config{\%xd}\newline |
| 370 | \config{filename}: file name relative to \fname{/.rockbox/} and including ``.bmp''\newline |
| 371 | \config{x}: x coordinate\newline |
| 372 | \config{y}: y coordinate.\\ |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 373 | \config{\%xl(n,filename,x,y,\tabnlindent[nimages])} |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 374 | & Preload an image for later display (useful for when your images are displayed conditionally).\newline |
| 375 | \config{n}: image ID (a-z and A-Z) for later referencing in \config{\%xd}\newline |
| 376 | \config{filename}: file name relative to \fname{/.rockbox/} and including ``.bmp''\newline |
Marianne Arnold | f67dfd9 | 2010-08-13 21:36:44 +0000 | [diff] [blame] | 377 | If the filename is ``\_\_list\_icons\_\_'' the list icon bitmap will be used instead\newline |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 378 | \config{x}: x coordinate\newline |
| 379 | \config{y}: y coordinate\newline |
| 380 | \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] | 381 | contained in the bitmap. Default is 1.\\ |
Jonathan Gordon | 3f8e7fc | 2010-08-05 11:28:48 +0000 | [diff] [blame] | 382 | \config{\%xd(n[i] [,tag] [,offset])} & Display a preloaded image. |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 383 | \config{n}: image ID (a-z and A-Z) as it was specified in \config{\%x} or \config{\%xl}\newline |
Jonathan Gordon | 3f8e7fc | 2010-08-05 11:28:48 +0000 | [diff] [blame] | 384 | \config{i}: (optional) number of the sub-image to display (a-z for 1-26 and A-Z for 27-52). |
| 385 | (ignored when \config{tag} is used) |
| 386 | By default the first (i.e. top most) sub-image will be used.\newline |
| 387 | \config{tag}: (optional) Another tag to calculate the subimage from e.g \config{\%xd(A, \%mh)} would |
| 388 | use the first subimage when \config{\%mh} is on and the second when it is off\newline |
Marianne Arnold | e6cb22e | 2010-08-07 08:27:24 +0000 | [diff] [blame] | 389 | \config{offset}: (optional) Add this number to the value from the \config{tag} when |
Jonathan Gordon | 3f8e7fc | 2010-08-05 11:28:48 +0000 | [diff] [blame] | 390 | chosing the subimage (may be negative)\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 391 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 392 | |
Dominik Riebeling | 8f44dd2 | 2008-03-28 21:49:41 +0000 | [diff] [blame] | 393 | Examples: |
| 394 | \begin{enumerate} |
| 395 | \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] | 396 | \config{\%x(a,bg.bmp,37,109)} |
Dominik Riebeling | 8f44dd2 | 2008-03-28 21:49:41 +0000 | [diff] [blame] | 397 | \item Load a bitmap strip containing 5 volume icon images (all the same size) |
| 398 | 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] | 399 | \config{\%xl(M,volume.bmp,134,153,5)}\\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 400 | \config{\%?pv<\%xd(Ma)|\%xd(Mb)|\%xd(Mc)|% |
| 401 | \%xd(Md)|\%xd(Me)>} |
Dominik Riebeling | 8f44dd2 | 2008-03-28 21:49:41 +0000 | [diff] [blame] | 402 | \end{enumerate} |
Dominik Riebeling | 2ce440d | 2008-03-26 19:35:39 +0000 | [diff] [blame] | 403 | |
| 404 | |
Dominik Riebeling | 18f319c | 2006-04-01 17:00:04 +0000 | [diff] [blame] | 405 | \note{ |
| 406 | \begin{itemize} |
Alexander Levin | 3adb821 | 2009-03-24 21:39:48 +0000 | [diff] [blame] | 407 | \item The images must be in BMP format |
Dominik Riebeling | 18f319c | 2006-04-01 17:00:04 +0000 | [diff] [blame] | 408 | \item The image tag must be on its own line |
| 409 | \item The ID is case sensitive, giving 52 different ID's |
Marianne Arnold | c4bdf20 | 2010-08-14 10:30:42 +0000 | [diff] [blame] | 410 | \item The size of the LCD screen for each \dap{} varies. See table below |
Dominik Riebeling | 18f319c | 2006-04-01 17:00:04 +0000 | [diff] [blame] | 411 | for appropriate sizes of each device. The x and y coordinates must |
Marianne Arnold | c4bdf20 | 2010-08-14 10:30:42 +0000 | [diff] [blame] | 412 | respect each of the \daps{} limits. |
Dominik Riebeling | 18f319c | 2006-04-01 17:00:04 +0000 | [diff] [blame] | 413 | \end{itemize} |
| 414 | } |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 415 | } |
| 416 | |
| 417 | \opt{albumart}{ |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 418 | \section{\label{ref:album_art}Album Art} |
| 419 | Rockbox allows you to put the album art, or another image related to the music |
| 420 | on your \dap{} to display it in the PictureFlow plugin\opt{albumart}{ or in the |
| 421 | theme}. For this feature to work, there are a few requirements. |
| 422 | |
| 423 | \subsection{Limitations} |
| 424 | |
Alex Parker | 4053159 | 2011-02-09 22:12:37 +0000 | [diff] [blame] | 425 | Rockbox supports embedded album art only for formats that use ID3v2 tags, such |
| 426 | as MP3. It additionally supports loading images located on the \disk{}. |
| 427 | The image files must be in either BMP or JPEG format, while embedded album art |
| 428 | is currently limited to JPEG. Rockbox does not support |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 429 | RLE-compressed BMP files, nor does it support progressive and multi-scan |
Alex Parker | 4053159 | 2011-02-09 22:12:37 +0000 | [diff] [blame] | 430 | JPEG files. Embedded JPEG images must not be unsynchronized. |
| 431 | JPEG files must consist of a single scan with interleaved components, |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 432 | as progessive and multi-scan images require much more memory to decode. |
Alex Parker | 4053159 | 2011-02-09 22:12:37 +0000 | [diff] [blame] | 433 | Pictureflow does not currently support embedded album art. |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 434 | |
| 435 | \subsection{Where to put album art} |
| 436 | |
| 437 | The pictures can be named a number of different ways, and placed to a number of |
| 438 | different locations. You can have pictures specific to the file or the album |
| 439 | or use a generic picture. You can place the picture in the same directory |
| 440 | as the file, in the parent directory or in a fixed directory named |
| 441 | \fname{/.rockbox/albumart/}. The order Rockbox uses when looking for a picture |
| 442 | is as follows (a list in braces means that those file extensions are tried in |
| 443 | that order): |
| 444 | |
| 445 | \begin{enumerate} |
Michael Giacomelli | 302c0b7 | 2011-07-11 20:25:58 +0000 | [diff] [blame] | 446 | \item embedded (JPEG images in ID3v2 or MP4 tags only) |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 447 | \item \fname{./filename.\{jpeg,jpg,bmp\}} |
| 448 | \item \fname{./albumtitle.\{jpeg,jpg,bmp\}} |
| 449 | \item \fname{./cover.\{jpeg,jpg,bmp\}} |
| 450 | \item \fname{./folder.jpg} |
Jonas Häggqvist | 22b2875 | 2010-07-01 12:30:18 +0000 | [diff] [blame] | 451 | \item \fname{/.rockbox/albumart/albumartist-albumtitle.\{jpeg,jpg,bmp\}} |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 452 | \item \fname{../albumtitle.\{jpeg,jpg,bmp\}} |
| 453 | \item \fname{../cover.\{jpeg,jpg,bmp\}} |
| 454 | \end{enumerate} |
| 455 | |
| 456 | The following characters will be replaced with an underscore (\_) when looking |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 457 | for albumtitle.bmp or albumartist-albumtitle.bmp: \textbackslash{} / : < |
| 458 | > ? * |. Doublequotes will be replaced by single quotes. |
Jonas Häggqvist | 22b2875 | 2010-07-01 12:30:18 +0000 | [diff] [blame] | 459 | If no album artist is set, artist will be used instead. See \wikilink{AlbumArt} |
| 460 | in the wiki for programs that will help you automate the process of putting |
| 461 | album art on your \dap{}. |
Alex Parker | 018133e | 2010-05-29 19:02:25 +0000 | [diff] [blame] | 462 | |
| 463 | \subsection{How to display the album art} |
| 464 | |
| 465 | Once the album art files are present on your \dap, they can be displayed as |
| 466 | follows. |
| 467 | |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 468 | \begin{tagmap} |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 469 | \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] | 470 | & Define the settings for album art\newline |
| 471 | \config{x}: x coordinate\newline |
| 472 | \config{y}: y coordinate\newline |
| 473 | \config{maxwidth}: Maximum height\newline |
| 474 | \config{maxheight}: Maximum width\newline |
| 475 | \config{hor\_align}: Horizontal alignment, enter as `l', `c' or `r' for |
| 476 | left, centre or right. Centre is default\newline |
| 477 | \config{vert\_align}: Vertical alignment, enter as `t', `c' or `b' for |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 478 | top, centre or bottom. Centre is default\\ |
Jonathan Gordon | 50356d8 | 2010-06-08 15:09:32 +0000 | [diff] [blame] | 479 | \config{\%Cd} & Display the album art as configured. \\ |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 480 | \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] | 481 | \end{tagmap} |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 482 | |
| 483 | The picture will be rescaled, preserving aspect ratio to fit the given |
| 484 | \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] | 485 | 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] | 486 | |
| 487 | Examples: |
| 488 | \begin{enumerate} |
| 489 | \item Load albumart at position 20,40 and display it without resizing:\\ |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 490 | \config{\%Cl(20,40,,)} |
Alexander Levin | 87b2ad14 | 2010-05-20 16:20:58 +0000 | [diff] [blame] | 491 | \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] | 492 | pixels. If the image isn't square, align it to the bottom-right |
| 493 | corner:\\ |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 494 | \config{\%Cl(0,20,100,100,r,b)} |
Jonas Häggqvist | 0021534 | 2009-02-20 19:08:18 +0000 | [diff] [blame] | 495 | \end{enumerate} |
Jonas Häggqvist | 410cbd1 | 2009-02-20 18:37:57 +0000 | [diff] [blame] | 496 | } |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 497 | |
Alex Parker | caa68b5 | 2010-05-29 19:02:19 +0000 | [diff] [blame] | 498 | \opt{radio}{ |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 499 | \section{FM Radio} |
| 500 | \begin{tagmap} |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 501 | \config{\%tt} & Is the tuner tuned?\\ |
Alexander Levin | 1940a0b | 2010-05-13 08:45:22 +0000 | [diff] [blame] | 502 | \config{\%tm} & Scan or preset mode? Scan is ``true'', preset is ``false''.\\ |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 503 | \config{\%ts} & Is the station in stereo?\\ |
Alexander Levin | edb6bed | 2010-05-15 21:47:30 +0000 | [diff] [blame] | 504 | \config{\%ta} & Minimum frequency (region specific) in MHz.\\ |
| 505 | \config{\%tb} & Maximum frequency (region specific) in MHz.\\ |
| 506 | \config{\%tf} & Current frequency in MHz.\\ |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 507 | \config{\%Ti} & Current preset id, i.e. 1-based number of the preset |
| 508 | within the presets list (usable in playlist viewer).\\ |
| 509 | \config{\%Tn} & Current preset name (usable in playlist viewer).\\ |
| 510 | \config{\%Tf} & Current preset frequency (usable in playlist viewer).\\ |
| 511 | \config{\%Tc} & Preset count, i.e. the number of stations in the current |
| 512 | preset list.\\ |
| 513 | \config{\%tx} & Is RDS available?\\ |
| 514 | \config{\%ty} & RDS name.\\ |
| 515 | \config{\%tz} & RDS text.\\ |
Alex Parker | a43fc84 | 2010-12-21 10:14:40 +0000 | [diff] [blame] | 516 | \config{\%tr} & Signal strength (RSSI). Can be used in a conditional or as |
| 517 | a bar.\\ |
Alex Parker | 0926e3e | 2010-05-13 08:13:42 +0000 | [diff] [blame] | 518 | \end{tagmap} |
| 519 | |
Alex Parker | 4b36063 | 2010-05-29 19:02:10 +0000 | [diff] [blame] | 520 | It is also possible to show ``Radio Art'' which can be used to display images |
| 521 | associated with presets. The tags are exactly the same as for album art, |
| 522 | described above. Images need to be placed in \fname{/.rockbox/fmpresets/}, |
| 523 | and must have the same name as the preset. They need to be in either |
| 524 | \fname{.bmp} or \fname{.jpg} format, and the radio must be in preset mode |
| 525 | 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] | 526 | } |
Alex Parker | 4b36063 | 2010-05-29 19:02:10 +0000 | [diff] [blame] | 527 | |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 528 | \section{Alignment and language direction} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 529 | \begin{tagmap} |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 530 | \config{\%al} & Align the text left\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 531 | \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] | 532 | \config{\%ac} & Centre the text\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 533 | \config{\%ar} & Align the text right\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 534 | \config{\%aR} & Align the text right, or to the left if RTL language is in use\\ |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 535 | \config{\%ax} & The next tag should follow the set language direction. When |
| 536 | prepended to a viewport declaration, the viewport will |
| 537 | be horizontally mirrored if the user language is set to |
| 538 | a RTL language. Currently the \%Cl, \%V and \%Vl tags |
| 539 | support this.\\ |
| 540 | \config{\%Sr} & Use as a conditional to define options for left to right, or |
| 541 | right to left languages. \%?Sr<RTL|LTR>\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 542 | \end{tagmap} |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 543 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 544 | 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] | 545 | order left -- centre -- right. If the aligned texts overlap, they are merged. |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 546 | |
Alex Parker | d7cb3b1 | 2010-07-31 12:47:12 +0000 | [diff] [blame] | 547 | Example: \config{\%ax\%V(\dots)} |
| 548 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 549 | \section{Conditional Tags} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 550 | |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 551 | \begin{tagmap} |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 552 | \config{\%?xx<true|false>} |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 553 | & If / Else: Evaluate for true or false case \\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 554 | \config{\%?xx<alt1|alt2|\tabnlindent{}alt3|\dots|else>} |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 555 | & Enumerations: Evaluate for first / second / third / \dots / last condition \\ |
Alex Parker | 779f1db | 2010-09-17 19:13:14 +0000 | [diff] [blame] | 556 | \config{\%if(tag, operator, operand, [option count])} |
| 557 | & Allows very simple comparisons with other tags.\newline |
| 558 | \config{tag}: the tag to check against.\newline |
| 559 | \config{operator}: the comparison to perform - possible options are =, !=, |
| 560 | >, >=, <, <=\newline |
| 561 | \config{operand}: either a second tag, a number, or text.\newline |
| 562 | \config{[option count]}: optional parameter used to select which parameter |
| 563 | of a tag to use when the tag has multiple options, e.g. \%?pv<a|b|c|d>\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 564 | \end{tagmap} |
Martin Arver | 94c1289 | 2006-03-23 14:11:52 +0000 | [diff] [blame] | 565 | |
Alex Parker | 779f1db | 2010-09-17 19:13:14 +0000 | [diff] [blame] | 566 | Examples of the \%if tag:\\ |
| 567 | |
| 568 | \config{\%?if(\%pv, >=, 0)<Clipping possible|Volume OK>} will display ``Clipping |
| 569 | possible'' if the volume is higher than or equal to 0 dB, ``Volume OK'' if it |
| 570 | is lower.\\ |
| 571 | |
| 572 | \config{\%?if(\%ia, =, \%Ia)<same artist>} -- this artist and the next artist |
| 573 | are the same.\\ |
| 574 | |
| 575 | \note{When performing a comparison against a string tag such as \%ia, only = and |
| 576 | != work, and the comparison is not case sensitive.} |
| 577 | |
Alex Parker | e56030a | 2009-05-15 21:17:21 +0000 | [diff] [blame] | 578 | \section{Subline Tags} |
| 579 | |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 580 | \begin{tagmap} |
Alexander Levin | 67f25a4 | 2010-07-02 18:54:09 +0000 | [diff] [blame] | 581 | \config{\%t(time)} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 582 | & 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] | 583 | \config{;} |
| 584 | & Split items on a line into separate sublines \\ |
| 585 | \end{tagmap} |
Alex Parker | e56030a | 2009-05-15 21:17:21 +0000 | [diff] [blame] | 586 | |
| 587 | Allows grouping of several items (sublines) onto one line, with the |
| 588 | display cycling round the defined sublines. See |
| 589 | \reference{ref:AlternatingSublines} for details. |
| 590 | |
Marianne Arnold | fa63211 | 2010-10-29 17:52:20 +0000 | [diff] [blame] | 591 | \opt{rtc}{ |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 592 | \section{Time and Date} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 593 | \begin{tagmap} |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 594 | \config{\%cd} & Day of month from 01 to 31\\ |
| 595 | \config{\%ce} & Zero padded day of month from 1 to 31\\ |
Alexander Levin | 1242710 | 2010-07-02 19:32:48 +0000 | [diff] [blame] | 596 | \config{\%cf} & A conditional for 12/24 hour format.\newline |
| 597 | \config{\%?cf<24 hour stuff|12 hour stuff>}\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 598 | \config{\%cH} & Zero padded hour from 00 to 23 (24 hour format)\\ |
| 599 | \config{\%ck} & Hour from 0 to 23 (24 hour format)\\ |
Tomer Shalev | 13ef677 | 2010-01-08 14:03:43 +0000 | [diff] [blame] | 600 | \config{\%cI} & Zero padded hour from 01 to 12 (am/pm format)\\ |
| 601 | \config{\%cl} & Hour from 1 to 12 (am/pm format)\\ |
| 602 | \config{\%cm} & Month from 01 to 12\\ |
Dominik Riebeling | f177af4 | 2007-04-10 17:38:40 +0000 | [diff] [blame] | 603 | \config{\%cM} & Minutes\\ |
| 604 | \config{\%cS} & Seconds\\ |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 605 | \config{\%cy} & 2-digit year\\ |
Dominik Riebeling | f177af4 | 2007-04-10 17:38:40 +0000 | [diff] [blame] | 606 | \config{\%cY} & 4-digit year\\ |
| 607 | \config{\%cP} & Capital AM/PM\\ |
| 608 | \config{\%cp} & Lowercase am/pm\\ |
| 609 | \config{\%ca} & Weekday name\\ |
| 610 | \config{\%cb} & Month name\\ |
| 611 | \config{\%cu} & Day of week from 1 to 7, 1 is Monday\\ |
| 612 | \config{\%cw} & Day of week from 0 to 6, 0 is Sunday\\ |
| 613 | \end{tagmap} |
Marianne Arnold | fa63211 | 2010-10-29 17:52:20 +0000 | [diff] [blame] | 614 | } |
Marianne Arnold | e435e4d | 2009-05-16 11:22:41 +0000 | [diff] [blame] | 615 | |
Alex Parker | 55c8b2b | 2010-03-21 10:20:14 +0000 | [diff] [blame] | 616 | \section{Text Translation} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 617 | \begin{tagmap} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 618 | \config{\%Sx(English)} |
Alex Parker | 55c8b2b | 2010-03-21 10:20:14 +0000 | [diff] [blame] | 619 | & Display the translation of ``English'' in the current language\\ |
| 620 | \end{tagmap} |
| 621 | |
| 622 | \begin{itemize} |
| 623 | \item ``English'' must be a phrase used in the language file. |
| 624 | \item It should match the \config{Source:} line in the language file. |
| 625 | \end{itemize} |
| 626 | |
| 627 | \note{checkwps cannot verify that the string is correct, so please check on |
| 628 | either the simulator or on target.} |
| 629 | |
| 630 | |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 631 | \opt{touchscreen}{ |
Jonathan Gordon | d7bb580 | 2010-10-28 11:11:01 +0000 | [diff] [blame] | 632 | \section{Touchscreen Areas} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 633 | \begin{tagmap} |
Jonathan Gordon | 969903b | 2011-07-28 12:53:22 +0000 | [diff] [blame] | 634 | \config{\%T(x,y,width,\tabnlindent{}height, action, [options])} |
Alexander Levin | 4c105b6 | 2010-03-07 22:12:16 +0000 | [diff] [blame] | 635 | & Invoke the action specified when the user presses in the defined |
| 636 | touchscreen area.\\ |
| 637 | \end{tagmap} |
Jonathan Gordon | 969903b | 2011-07-28 12:53:22 +0000 | [diff] [blame] | 638 | |
Jonathan Gordon | 443b134 | 2011-03-27 07:23:38 +0000 | [diff] [blame] | 639 | Possible actions are: |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 640 | |
| 641 | \begin{description} |
| 642 | \item[play] -- Play/pause playback. |
| 643 | \item[stop] -- Stop playback and exit the WPS. |
Jonathan Gordon | 98881fd | 2011-03-22 09:31:45 +0000 | [diff] [blame] | 644 | \item[prev] -- Previous track/item. |
| 645 | \item[next] -- Next track/item. |
Marianne Arnold | a0f3462 | 2011-05-22 12:54:52 +0000 | [diff] [blame] | 646 | \item[wps\_prev] -- Previous track. |
| 647 | \item[wps\_next] -- Next track. |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 648 | \item[ffwd] -- Seek forwards in the track. |
| 649 | \item[rwd] -- Seek backwards in the track. |
| 650 | \item[menu] -- Go to the main menu. |
| 651 | \item[browse] -- Go back to the file browser or database. |
| 652 | \item[shuffle] -- Toggle shuffle mode. |
| 653 | \item[repmode] -- Cycle through the repeat modes. |
| 654 | \item[quickscreen] -- Go to the quickscreen. |
| 655 | \item[contextmenu] -- Open the context menu. |
| 656 | \item[playlist] -- Go to the playlist viewer. |
| 657 | \item[progressbar] -- Seek to the appropriate position in the track based on the touch. |
| 658 | \item[volume] -- Set the volume to the appropriate level based on the touch. |
| 659 | \item[pitch] -- Open the pitchscreen. |
| 660 | \item[voldown] -- Decrease the volume by one step. |
| 661 | \item[volup] -- Increase the volume by one step. |
Jonathan Gordon | 605e2d0 | 2011-01-13 10:56:23 +0000 | [diff] [blame] | 662 | \item[mute] -- Un/Mute playback. |
Alex Parker | b33a2d8 | 2011-01-13 18:09:36 +0000 | [diff] [blame] | 663 | \item[setting\_inc] -- Increment the subsequently specified setting (e.g |
| 664 | \config{\%T(0,0, setting\_inc, volume)} increases the volume by one step). |
| 665 | \item[setting\_dec] -- Decrement the subsequently specified setting (e.g |
| 666 | \config{\%T(0,0, setting\_dec, volume)} decreases the volume by one step). |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 667 | \end{description} |
Jonathan Gordon | 969903b | 2011-07-28 12:53:22 +0000 | [diff] [blame] | 668 | Any (or muliple) of the following options can be used after the action is specified |
| 669 | \subsection{Options} |
| 670 | \begin{description} |
| 671 | \item[repeat_press] -- This region will trigger mulitple times when held (i.e for seeking) |
| 672 | \item[long_press] -- This region will trigger once after it is held for a long press |
| 673 | \item[reverse_bar] -- Reverse the bars touch direction (i.e seek right to left) |
| 674 | \item[allow_while_locked] -- Allows the region to be pressable when the |
| 675 | skin is locked by the lock touch action |
| 676 | \end{description} |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 677 | |
Jonathan Gordon | d7bb580 | 2010-10-28 11:11:01 +0000 | [diff] [blame] | 678 | \section{Last Touchscreen Press} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 679 | \begin{tagmap} |
Alexander Levin | 4c105b6 | 2010-03-07 22:12:16 +0000 | [diff] [blame] | 680 | \config{\%Tl} & Indicates that the touchscreen is pressed.\\ |
| 681 | \end{tagmap} |
Alex Parker | f7a397b | 2010-02-28 11:50:11 +0000 | [diff] [blame] | 682 | This tag can be used to display text or images or a viewport when the |
| 683 | touchscreen is pressed (like an On Screen Display). If you put a number |
| 684 | straight after \%Tl it will be used as a timeout in seconds |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 685 | (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] | 686 | being released and the tag going false. If no number is specified it will |
| 687 | use a 1 second timeout. It can also be used as a conditional, and can be |
| 688 | used with conditional viewports. |
| 689 | } |
Dominik Riebeling | f177af4 | 2007-04-10 17:38:40 +0000 | [diff] [blame] | 690 | |
Alex Parker | 15258e0 | 2010-09-17 19:13:20 +0000 | [diff] [blame] | 691 | \section{\label{ref:bar_tags}Bar Tags} |
| 692 | Some tags can be used to display a bar which draws according to the value of |
| 693 | the tag. To use these tags like a bar you need to use the following parameters |
| 694 | (\%XX should be replaced with the actual tag). |
| 695 | |
| 696 | \begin{tagmap} |
Jonathan Gordon | 9acd242 | 2010-10-12 12:46:57 +0000 | [diff] [blame] | 697 | \config{\%XX(x, y, width, height, [options])} |
Alex Parker | 15258e0 | 2010-09-17 19:13:20 +0000 | [diff] [blame] | 698 | & Draw the specified tag as a bar\newline |
| 699 | \config{x}: x co-ordinate at which to start drawing the bar.\newline |
| 700 | \config{y}: y co-ordinate at which to start drawing the bar.\newline |
| 701 | \config{width}: width of the bar (- for the full viewport width).\newline |
| 702 | \config{height}: height of the bar (- to set to the font height for |
| 703 | horizontal bars and to the viewport height for vertical bars).\newline |
| 704 | \config{options}: any of the options set out below.\\ |
| 705 | \end{tagmap} |
| 706 | |
| 707 | \subsection{Options} |
| 708 | \begin{description} |
Jonathan Gordon | 9acd242 | 2010-10-12 12:46:57 +0000 | [diff] [blame] | 709 | \item[image] -- the next option is either the filename or image label to |
| 710 | use for the fill image. |
Alex Parker | 15258e0 | 2010-09-17 19:13:20 +0000 | [diff] [blame] | 711 | \item[horizontal] -- force the bar to be drawn horizontally. |
| 712 | \item[vertical] -- force the bar to be drawn vertically. |
| 713 | \item[invert] -- invert the draw direction (i.e. right to left, or top to |
| 714 | bottom). |
Jonathan Gordon | f06f685 | 2011-01-24 09:04:28 +0000 | [diff] [blame] | 715 | \item[slider] -- draw a preloaded image over the top of the bar so that |
Alex Parker | f70ec76 | 2010-10-12 19:34:47 +0000 | [diff] [blame] | 716 | the centre of the image matches the current position. This must be |
Alex Parker | 15258e0 | 2010-09-17 19:13:20 +0000 | [diff] [blame] | 717 | followed by the label of the desired image. |
Jonathan Gordon | f06f685 | 2011-01-24 09:04:28 +0000 | [diff] [blame] | 718 | \item[backdrop] -- draw a preloaded image under the bar. The full |
| 719 | image will be displayed and must be the same size as the bar. |
| 720 | This must be followed by the label of the desired image. |
Alex Parker | f70ec76 | 2010-10-12 19:34:47 +0000 | [diff] [blame] | 721 | \item[nofill] -- don't draw the bar, only its frame (for use with the |
| 722 | ``slider'' option). |
| 723 | \item[nobar] -- don't draw the bar or its frame (for use with the |
| 724 | ``slider'' option). |
Alex Parker | 15258e0 | 2010-09-17 19:13:20 +0000 | [diff] [blame] | 725 | \end{description} |
| 726 | |
| 727 | Example: \config{\%pb(0,0,-,-,-,nofill, slider, slider\_image, invert)} -- draw |
| 728 | a horizontal progressbar which doesn't fill and draws the image |
| 729 | ``slider\_image'' which moves right to left. |
| 730 | |
Alex Parker | f70ec76 | 2010-10-12 19:34:47 +0000 | [diff] [blame] | 731 | \note{If the slider option is used, the bar will be shrunk so that the slider |
| 732 | fits inside the specified width and height.} |
Teruaki Kawashima | 3eb5826 | 2010-10-12 12:17:39 +0000 | [diff] [blame] | 733 | |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 734 | \section{Other Tags} |
Michael Chicoine | 65dc4f2 | 2010-03-23 12:02:20 +0000 | [diff] [blame] | 735 | \begin{tagmap} |
Alex Parker | 64d4ddf | 2010-06-20 12:58:41 +0000 | [diff] [blame] | 736 | \config{\%(} & The character `('\\ |
| 737 | \config{\%)} & The character `)'\\ |
| 738 | \config{\%,} & The character `,'\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 739 | \config{\%\%} & The character `\%'\\ |
Alexander Levin | 15d0ac0 | 2010-07-02 19:55:47 +0000 | [diff] [blame] | 740 | \config{\%<} & The character `<'\\ |
| 741 | \config{\%|} & The character `|'\\ |
| 742 | \config{\%>} & The character `>'\\ |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 743 | \config{\%;} & The character `;'\\ |
Marianne Arnold | 498f66f | 2010-10-12 19:13:24 +0000 | [diff] [blame] | 744 | \config{\%\#} & The character `\#'\\ |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 745 | \config{\%s} & Indicate that the line should scroll. Can occur |
| 746 | anywhere in a line (given that the text is |
| 747 | displayed; see conditionals above). You can specify |
Alexander Levin | 0a24140 | 2009-03-23 21:46:49 +0000 | [diff] [blame] | 748 | up to ten scrolling lines. Scrolling lines can not |
Martin Arver | f21f914 | 2006-05-08 21:32:44 +0000 | [diff] [blame] | 749 | contain dynamic content such as timers, peak meters |
| 750 | or progress bars.\\ |
Dominik Riebeling | 36a3133 | 2006-04-09 21:22:42 +0000 | [diff] [blame] | 751 | \end{tagmap} |
Alexander Levin | 4c105b6 | 2010-03-07 22:12:16 +0000 | [diff] [blame] | 752 | |