% $Id$ %
\subsection{JPEG viewer}
This plugin opens \fname{.jpeg} files from the \setting{File Browser} to display them\nopt{lcd_color}{ using Rockbox's greyscale library}.
\opt{swcodec}{
\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,GIGABEAT_PAD,GIGABEAT_S_PAD%
      ,MROBE100_PAD,PBELL_VIBE500_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,GIGABEAT_PAD,GIGABEAT_S_PAD%
      ,MROBE100_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD}
      {/ \ButtonLeft\ / \ButtonRight}
    \opt{COWON_D2_PAD}{}
       \opt{HAVEREMOTEKEYMAP}{& }
    & Move around in zoomed in image\\
    \opt{RECORDER_PAD}{\ButtonPlay}
    \opt{ONDIO_PAD,COWON_D2_PAD}{\ButtonMenu}
    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD%
        ,SANSA_FUZE_PAD,SANSA_C200_PAD,MROBE100_PAD}{\ButtonSelect}
    \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd}
    \opt{IRIVER_H10_PAD}{\ButtonPlay}
    \opt{GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolUp}
    \opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonUp}
       \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}{Long \ButtonSelect}
    \opt{IRIVER_H10_PAD}{Long \ButtonPlay}
    \opt{GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolDown}
    \opt{MROBE100_PAD}{\ButtonPlay}
    \opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonDown}
       \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{IRIVER_H10_PAD}{\ButtonFF}
    \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollFwd}
    \opt{SANSA_C200_PAD}{\ButtonVolUp}
    \opt{GIGABEAT_PAD}{\ButtonA+\ButtonRight}
    \opt{GIGABEAT_S_PAD}{\ButtonNext}
    \opt{MROBE100_PAD}{\ButtonDisplay+\ButtonRight}
    \opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonRight}
       \opt{HAVEREMOTEKEYMAP}{& }
    & Next jpeg 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}{\ButtonRew}
    \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollBack}
    \opt{SANSA_C200_PAD}{\ButtonVolDown}
    \opt{GIGABEAT_PAD}{\ButtonA+\ButtonLeft}
    \opt{GIGABEAT_S_PAD}{\ButtonPrev}
    \opt{MROBE100_PAD}{\ButtonDisplay+\ButtonLeft}
    \opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonLeft}
       \opt{HAVEREMOTEKEYMAP}{& }
    & Previous jpeg in directory\\
    \opt{SANSA_E200_PAD,SANSA_C200_PAD}{%currently only defined for the sansa pads
        \ButtonRec
       \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}{\ButtonPower}
    \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
    \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD}{\ButtonMenu}
    \opt{COWON_D2_PAD}{\ButtonPower}
       \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}{
        \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{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.
}
\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.
}
