Consolidate code duplication in WPS volume changing handling.
[kugel-rb.git] / manual / plugins / main.tex
blob292327046f34a4f918faff48d391d16cf7eab67b
1 % $Id$ %
2 \chapter{Plugins}\label{ref:plugins}
3 Plugins are programs that Rockbox can load and run. Only one plugin can
4 be loaded at a time. Plugins have exclusive control over the user interface.
5 This means you cannot switch back and forth between a plugin and Rockbox. When
6 a plugin is loaded, you need to exit it to return to the Rockbox interface.
7 Most plugins will not interfere with music playback but some of them will stop
8 playback while running. Plugins have the file extension \fname{.rock}. Most of
9 them can be started from \setting{Browse Plugins} in the \setting{Main Menu}.\\
11 Viewer plugins get started automatically by opening an associated file (i.e.
12 text files%
13 \opt{lcd_bitmap}{, chip8 games}%
14 ), or from the \setting{Open with} option on the \setting{Context Menu}.
16 \section{Games}
17 \opt{lcd_bitmap}
18 {See also the Chip{}-8 emulator in \reference{ref:Chip8emulator}
19 \opt{recorder,recorderv2fm,h100,m5,lcd_color}
20 {and Rockboy in \reference{ref:Rockboy}}.}
22 \opt{lcd_bitmap}{\input{plugins/blackjack.tex}}
24 \opt{lcd_bitmap}{\input{plugins/brickmania.tex}}
26 \opt{lcd_bitmap}{\input{plugins/bubbles.tex}}
28 \opt{lcd_bitmap}{\input{plugins/chessbox.tex}}
30 \opt{lcd_color}{\input{plugins/clix.tex}}
32 \opt{lcd_bitmap}{\input{plugins/chopper.tex}}
34 \opt{lcd_color}{\input{plugins/codebuster.tex}}
36 {\input{plugins/dice.tex}}
38 \opt{swcodec}{\input{plugins/doom.tex}}
40 {\input{plugins/flipit.tex}}
42 \opt{lcd_bitmap}{\input{plugins/goban.tex}}
44 \opt{lcd_non-mono}{\nopt{h10_5gb,ipodmini,c200}{
45 \input{plugins/invadrox.tex}}}
47 {\input{plugins/jackpot.tex}}
49 \opt{lcd_bitmap}{\input{plugins/jewels.tex}}
51 \opt{lcd_bitmap}{\input{plugins/mazezam.tex}}
53 \opt{lcd_bitmap}{\input{plugins/minesweeper.tex}}
55 \opt{player}{\input{plugins/nim.tex}}
57 \opt{h100,m5,lcd_color}{\nopt{c200}{\input{plugins/pacbox.tex}}}
59 \opt{lcd_bitmap}{\input{plugins/pegbox.tex}}
61 \opt{lcd_bitmap}{\input{plugins/pong.tex}}
63 \opt{lcd_bitmap}{\input{plugins/reversi.tex}}
65 \opt{lcd_bitmap}{\input{plugins/robotfindskitten.tex}}
67 {\input{plugins/rockblox.tex}}
69 \opt{lcd_bitmap}{\input{plugins/rockblox1d.tex}}
71 \opt{lcd_bitmap}{\input{plugins/rocklife.tex}}
73 \opt{lcd_bitmap}{\input{plugins/sliding.tex}}
75 \opt{lcd_bitmap}{\input{plugins/snake.tex}}
77 \opt{lcd_bitmap}{\input{plugins/snake2.tex}}
79 \opt{lcd_bitmap}{\input{plugins/sokoban.tex}}
81 \opt{lcd_bitmap}{\input{plugins/solitaire.tex}}
83 \opt{lcd_bitmap}{\input{plugins/spacerocks.tex}}
85 \opt{lcd_bitmap}{\input{plugins/star.tex}}
87 \opt{lcd_bitmap}{\input{plugins/sudoku.tex}}
89 \opt{lcd_bitmap}{\input{plugins/wormlet.tex}}
91 \opt{lcd_bitmap}{\input{plugins/xobox.tex}}
93 \section{Demos}
95 \opt{lcd_bitmap}{\input{plugins/bounce.tex}}
97 {\input{plugins/credits.tex}}
99 {\input{plugins/cube.tex}}
101 \opt{lcd_bitmap}{\input{plugins/demystify.tex}}
103 \opt{lcd_bitmap}{\input{plugins/fire.tex}}
105 {\input{plugins/logo.tex}}
107 \opt{lcd_bitmap}{\input{plugins/mandelbrot.tex}}
109 {\input{plugins/mosaic.tex}}
111 \opt{lcd_bitmap}{\input{plugins/oscilloscope.tex}}
113 \opt{tagcache}{\opt{lcd_bitmap}{\input{plugins/pictureflow.tex}}}
115 \opt{lcd_bitmap}{\input{plugins/plasma.tex}}
117 {\input{plugins/snow.tex}}
119 \opt{lcd_bitmap}{\input{plugins/starfield.tex}}
121 \opt{lcd_bitmap}{\input{plugins/vumeter.tex}}
123 \section{\label{ref:Viewersplugins}Viewers}
125 Viewers are plugins which are associated with specific file extensions.
126 They cannot be run directly but are started by ``playing'' the associated file.
127 Viewers are stored in the \fname{/.rockbox/rocks/viewers/} directory.
128 \par
129 \note{
130 Some viewer plugins can only be used by selecting the \setting{Open With...}
131 option from the \setting{Context Menu} (see \reference{ref:Contextmenu}).}
132 \begin{table}
133 \begin{rbtabular}{.92\textwidth}{Xlc}%
134 {\textbf{Viewer Plugin}& \textbf{Associated filetype(s)} & \textbf{Context Menu only}}%
135 {}{}
136 Shortcuts & \fname{.link} & \\
137 Chip-8 Emulator & \fname{.ch8} & \\
138 JPEG Viewer & \fname{.jpg, .jpeg} & \\
139 Lua scripting language& \fname{.lua} & \\
140 Midiplay & \fname{.mid, .midi} & \\
141 \opt{swcodec}{
142 MPEG Player & \fname{.mpg, .mpeg, .mpv, .m2v} & \\}
143 \opt{masf}{\opt{lcd_bitmap}{
144 Movie Player & \fname{.rvf} & \\}}
145 PNG viewer & \fname{.png} & \\
146 \opt{lcd_color}{
147 PPM viewer & \fname{.ppm} & \\}
148 Rockboy & \fname{.gb, .gbc} & \\
149 Search & \fname{.m3u, .m3u8} & x \\
150 Sort & \fname{.*} & x \\
151 Text Viewer & \fname{.txt, .*} & \\
152 VBRfix & \fname{.mp3} & x \\
153 \opt{masf}{
154 Wavplay & \fname{.wav} & \\}
155 ZXBox & \fname{.tap, .tax, .sna, .z80} & \\
156 \end{rbtabular}
157 \end{table}
159 {\input{plugins/shortcuts.tex}}
161 \opt{lcd_bitmap}{\input{plugins/chip8emulator.tex}}
163 \opt{lcd_bitmap}{\input{plugins/jpegviewer.tex}}
165 \opt{large_plugin_buffer}{\input{plugins/lua.tex}}
167 \opt{swcodec}{\input{plugins/midiplay.tex}}
169 \opt{recorder,recorderv2fm,ondio}{\input{plugins/movieplayer.tex}}
171 \opt{lcd_bitmap}{\opt{swcodec}{\input{plugins/mpegplayer.tex}}}
173 \opt{lcd_bitmap}{\opt{lcd_color}{\input{plugins/pngviewer.tex}}}
175 \opt{lcd_color}{\input{plugins/ppmviewer.tex}}
177 \opt{recorder,recorderv2fm,ondio}{\input{plugins/rockbox_flash.tex}}
179 \opt{recorder,recorderv2fm,h100,m5,lcd_color}{\input{plugins/rockboy.tex}}
181 {\input{plugins/search.tex}}
183 {\input{plugins/sort.tex}}
185 {\input{plugins/text_viewer.tex}}
187 {\input{plugins/theme_remove.tex}}
189 {\input{plugins/vbrfix.tex}}
191 \opt{recorder,recorderv2fm,ondio}{\input{plugins/wavplay.tex}}
193 \opt{lcd_bitmap}{\input{plugins/zxbox.tex}}
195 \section{Applications}
197 \opt{player,recorder,recorderv2fm}{\input{plugins/alpinecdc.tex}}
199 {\input{plugins/batterybenchmark.tex}}
201 \opt{lcd_bitmap}{\input{plugins/calculator.tex}}
203 \opt{rtc}{\input{plugins/calendar.tex}}
205 {\input{plugins/chess_clock.tex}}
207 \opt{rtc}{\input{plugins/clock.tex}}
209 {\input{plugins/disktidy.tex}}
211 \opt{player}{\input{plugins/euro_converter.tex}}
213 \opt{recorder,recorderv2fm,ondio}{\input{plugins/firmware_flash.tex}}
215 {\input{plugins/keybox.tex}}
217 \opt{HAVE_BACKLIGHT}{\input{plugins/lamp.tex}}
219 {\input{plugins/md5sum.tex}}
221 {\input{plugins/metronome.tex}}
223 \opt{swcodec}{\opt{recording_mic}{\input{plugins/pitch_detector.tex}}}
225 {\input{plugins/random_folder_advance_config.tex}}
227 \opt{lcd_color}{\input{plugins/rockpaint.tex}}
229 \opt{recorder,recorderv2fm,ondio}{\input{plugins/split_editor.tex}}
231 {\input{plugins/stats.tex}}
233 {\input{plugins/stopwatch.tex}}
235 \opt{lcd_bitmap}{\input{plugins/text_editor.tex}}