summaryrefslogtreecommitdiffstats
path: root/manual/plugins/imageviewer.tex
blob: 2d17b14b66c17bea0a23c70b770699b9f7394b8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
% $Id$ %
\subsection{Image Viewer}
This plugin opens image files from the \setting{File Browser} to display them\nopt{lcd_color}{ using Rockbox's greyscale library}. Supported formats are as follows.

\begin{table}
  \begin{rbtabular}{.60\textwidth}{lX}%
      {\textbf{Format}& \textbf{File-extension(s)}}%
      {}{}
    BMP         & \fname{.bmp}                  \\
    JPEG        & \fname{.jpg, .jpe, .jpeg}     \\
    PNG         & \fname{.png}                  \\
    GIF         & \fname{.gif}                  \\
    \opt{lcd_color}{
      PPM         & \fname{.ppm}                  \\
    }
  \end{rbtabular}
\end{table}

\opt{large_plugin_buffer}{
\par
\note{
When an audio file is playing the size of the image is limited as 
the decoding process needs to share memory with audio tracks. To be able to
view a bigger file you may need to stop playback.}
}
\nopt{large_plugin_buffer}{%
\note{This plugin will cause playback to stop.}%
}%

\begin{btnmap}
    \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
      ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD%
      ,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD%
      ,SAMSUNG_YH820_PAD}{\ButtonUp\ / \ButtonDown}%
    \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu\ / \ButtonPlay}%
    \opt{IRIVER_H10_PAD}{\ButtonScrollUp\ / \ButtonScrollDown} %
    \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
      ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD%
      ,MROBE100_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD%
      ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}
      {/ \ButtonLeft\ / \ButtonRight}
    \opt{MPIO_HD200_PAD}{\ButtonVolDown / \ButtonVolUp /%
                         \ButtonRec + \ButtonRew / \ButtonRec + \ButtonFF}
    \opt{MPIO_HD300_PAD}{\ButtonRew / \ButtonFF /%
                         \ButtonPlay + \ButtonScrollUp / \ButtonPlay + \ButtonScrollDown}
    \opt{touchscreen}{\TouchTopMiddle{} / \TouchBottomMiddle{}/ \TouchMidLeft{} / \TouchMidRight}
       \opt{HAVEREMOTEKEYMAP}{& }
    & Move around in zoomed in image\\
    \opt{RECORDER_PAD}{\ButtonPlay}
    \opt{ONDIO_PAD}{\ButtonMenu}
    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD%
        ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,MROBE100_PAD}{\ButtonSelect}
    \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd}
    \opt{IRIVER_H10_PAD}{\ButtonPlay}
    \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{\ButtonVolUp}
    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonUp}
    \opt{MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonPlay}
    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonUp}
    \opt{touchscreen}{\TouchTopRight}
       \opt{HAVEREMOTEKEYMAP}{& }
    & Zoom in\\
    \opt{RECORDER_PAD}{\ButtonOn}
    \opt{ONDIO_PAD}{\ButtonMenu+\ButtonDown}
    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
    \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack}
    \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{Long \ButtonSelect}
    \opt{IRIVER_H10_PAD}{Long \ButtonPlay}
    \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{\ButtonVolDown}
    \opt{MROBE100_PAD}{\ButtonPlay}
    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonDown}
    \opt{MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonRec}
    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonDown}
    \opt{touchscreen}{\TouchTopLeft}
       \opt{HAVEREMOTEKEYMAP}{& }
    & Zoom out\\
    \opt{RECORDER_PAD}{\ButtonFThree}
    \opt{ONDIO_PAD}{\ButtonMenu+\ButtonRight}
    \opt{IRIVER_H100_PAD}{\ButtonOn}
    \opt{IRIVER_H300_PAD}{\ButtonRec}
    \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonRight}
    \opt{IAUDIO_X5_PAD}{\ButtonPlay}
    \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomRight}
    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
    \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollFwd}
    \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp}
    \opt{GIGABEAT_PAD}{\ButtonA+\ButtonRight}
    \opt{GIGABEAT_S_PAD}{\ButtonNext}
    \opt{MROBE100_PAD}{\ButtonDisplay+\ButtonRight}
    \opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonRight}
    \opt{MPIO_HD200_PAD}{\ButtonFF}
    \opt{MPIO_HD300_PAD}{\ButtonScrollDown}
    \opt{touchscreen}{\TouchBottomRight}
       \opt{HAVEREMOTEKEYMAP}{& }
    & Next image in directory\\
    \opt{RECORDER_PAD}{\ButtonFTwo}
    \opt{ONDIO_PAD}{\ButtonMenu+\ButtonLeft}
    \opt{IRIVER_H100_PAD,IAUDIO_X5_PAD}{\ButtonRec}
    \opt{IRIVER_H300_PAD}{\ButtonOn}
    \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonLeft}
    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
    \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollBack}
    \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolDown}
    \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomLeft}
    \opt{GIGABEAT_PAD}{\ButtonA+\ButtonLeft}
    \opt{GIGABEAT_S_PAD}{\ButtonPrev}
    \opt{MROBE100_PAD}{\ButtonDisplay+\ButtonLeft}
    \opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonLeft}
    \opt{MPIO_HD200_PAD}{\ButtonRew}
    \opt{MPIO_HD300_PAD}{\ButtonScrollUp}
    \opt{touchscreen}{\TouchBottomLeft}
       \opt{HAVEREMOTEKEYMAP}{& }
    & Previous image in directory\\
    \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZEPLUS_PAD%
      ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{%currently only defined for the sansa pads and samsung yh*
       \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonRec}
       \opt{SANSA_CLIP_PAD}{\ButtonHome}
       \opt{SANSA_FUZEPLUS_PAD}{\ButtonPlay}
       \opt{SAMSUNG_YH92X_PAD}{\ButtonRec\ switch}
       \opt{SAMSUNG_YH820_PAD}{Long \ButtonPlay}
         \opt{HAVEREMOTEKEYMAP}{& }
        & Toggle slide show mode\\
    }
    \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
    \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
    \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonPower}
    \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
    \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD}{\ButtonMenu}
    \opt{MPIO_HD200_PAD}{\ButtonFunc}
    \opt{MPIO_HD300_PAD}{\ButtonEnter}
    \opt{touchscreen}{\TouchCenter}
    \opt{SANSA_FUZEPLUS_PAD}{\ButtonSelect}
    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
       \opt{HAVEREMOTEKEYMAP}{&
          \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
       }
    & Show menu / Abort \\
    \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD%
        ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{
        \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay}
        \opt{GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower}
        \opt{GIGABEAT_S_PAD}{\ButtonBack}
        \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
        \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
        \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
        \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonPlay}
            \opt{HAVEREMOTEKEYMAP}{& }
        & Quit the viewer \\
    }
\end{btnmap}

The menu has the following entries.
\begin{description}
\item[Return.] Returns you to the image
\item[Toggle Slideshow Mode.] Enables or disables the slideshow mode.
\item[Change Slideshow Timeout.] You can set the timeout for the slideshow
  between 1 second and 20 seconds.
\opt{large_plugin_buffer}{
\item[Show Playback Menu.] From the playback menu you can control the
playback of the currently loaded playlist and change the volume of your \dap.
}
\opt{lcd_color}{
\item[Display Options.] From this menu you can force the viewer to render the
image in greyscale using the \setting{Greyscale} option or set the method of
dithering used in the \setting{Dithering} submenu. These settings only take effect
for JPEG images.
}
\item[Quit.] Quits the viewer and returns to the \setting{File Browser}.
\end{description}

\note{
Progressive scan and other unusual JPEG files are not supported, and will
result in various ``unsupported xx'' messages. Processing could also fail if the
image is too big to decode which will be explained by a respective message.

\opt{lcd_color}{
  Supported PPM files are both ASCII PPM (P3) and raw PPM (P6).
  For more information about PPM files, see
  \url{http://netpbm.sourceforge.net/doc/ppm.html}
}
}