1
0
Fork 0
forked from len0rd/rockbox

FS#6321: Universal Image Viewer

This unifies jpeg viewer, png viewer, and bmp viewer to one plugin, image viewer, so that you can navigate through different image formats.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28626 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Teruaki Kawashima 2010-11-21 13:47:56 +00:00
parent eef21cb18a
commit e5b1a7d423
26 changed files with 582 additions and 478 deletions

View file

@ -1,115 +0,0 @@
% $Id$ %
\subsection{BMP viewer}
This plugin opens \fname{.bmp} 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 bmp 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 bmp 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.
}
\item[Quit.] Quits the viewer and returns to the \setting{File Browser}.
\end{description}

View file

@ -1,7 +1,18 @@
% $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}{
\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}{llX}%
{\textbf{Format}& \textbf{File-extension(s)}}%
{}{}
BMP & \fname{.bmp} \\
JPEG & \fname{.jpg, .jpe, .jpeg} \\
PNG & \fname{.png} \\
\end{rbtabular}
\end{table}
\opt{large_plugin_buffer}{
\par
\note{
When an audio file is playing the size of the image is limited as
@ -23,17 +34,18 @@ view a bigger file you may need to stop playback.}
,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{touchscreen}{\TouchTopMiddle{} / \TouchBottomMiddle{}/ \TouchMidLeft{} / \TouchMidRight}
\opt{HAVEREMOTEKEYMAP}{& }
& Move around in zoomed in image\\
\opt{RECORDER_PAD}{\ButtonPlay}
\opt{ONDIO_PAD,COWON_D2_PAD}{\ButtonMenu}
\opt{ONDIO_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{touchscreen}{\TouchTopRight}
\opt{HAVEREMOTEKEYMAP}{& }
& Zoom in\\
\opt{RECORDER_PAD}{\ButtonOn}
@ -45,6 +57,7 @@ view a bigger file you may need to stop playback.}
\opt{GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolDown}
\opt{MROBE100_PAD}{\ButtonPlay}
\opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonDown}
\opt{touchscreen}{\TouchTopLeft}
\opt{HAVEREMOTEKEYMAP}{& }
& Zoom out\\
\opt{RECORDER_PAD}{\ButtonFThree}
@ -60,8 +73,9 @@ view a bigger file you may need to stop playback.}
\opt{GIGABEAT_S_PAD}{\ButtonNext}
\opt{MROBE100_PAD}{\ButtonDisplay+\ButtonRight}
\opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonRight}
\opt{touchscreen}{\TouchBottomRight}
\opt{HAVEREMOTEKEYMAP}{& }
& Next jpeg in directory\\
& Next image in directory\\
\opt{RECORDER_PAD}{\ButtonFTwo}
\opt{ONDIO_PAD}{\ButtonMenu+\ButtonLeft}
\opt{IRIVER_H100_PAD,IAUDIO_X5_PAD}{\ButtonRec}
@ -74,8 +88,9 @@ view a bigger file you may need to stop playback.}
\opt{GIGABEAT_S_PAD}{\ButtonPrev}
\opt{MROBE100_PAD}{\ButtonDisplay+\ButtonLeft}
\opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonLeft}
\opt{touchscreen}{\TouchBottomLeft}
\opt{HAVEREMOTEKEYMAP}{& }
& Previous jpeg in directory\\
& Previous image in directory\\
\opt{SANSA_E200_PAD,SANSA_C200_PAD}{%currently only defined for the sansa pads
\ButtonRec
\opt{HAVEREMOTEKEYMAP}{& }
@ -86,7 +101,7 @@ view a bigger file you may need to stop playback.}
\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{touchscreen}{\TouchCenter}
\opt{HAVEREMOTEKEYMAP}{&
\opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
}
@ -114,7 +129,8 @@ 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.
dithering used in the \setting{Dithering} submenu. These settings only take affect
for JPEG images.
}
\item[Quit.] Quits the viewer and returns to the \setting{File Browser}.
\end{description}

View file

@ -137,11 +137,10 @@ option from the \setting{Context Menu} (see \reference{ref:Contextmenu}).}
\begin{rbtabular}{.92\textwidth}{Xlc}%
{\textbf{Viewer Plugin}& \textbf{Associated filetype(s)} & \textbf{Context Menu only}}%
{}{}
BMP Viewer & \fname{.bmp} & \\
Shortcuts & \fname{.link} & \\
Chip-8 Emulator & \fname{.ch8} & \\
Frotz & \fname{.z1 - .z8} & \\
JPEG Viewer & \fname{.jpg, .jpeg} & \\
Image Viewer & \fname{.bmp, .jpg, .jpeg, .png} & \\
Lua scripting language& \fname{.lua} & \\
\opt{swcodec}{\nopt{lowmem}{
Midiplay & \fname{.mid, .midi} & \\
@ -152,9 +151,6 @@ option from the \setting{Context Menu} (see \reference{ref:Contextmenu}).}
Movie Player & \fname{.rvf} & \\
}
}
\opt{lcd_bitmap}{
PNG viewer & \fname{.png} & \\
}
\opt{lcd_color}{
PPM viewer & \fname{.ppm} & \\
}
@ -177,13 +173,11 @@ option from the \setting{Context Menu} (see \reference{ref:Contextmenu}).}
{\input{plugins/shortcuts.tex}}
\opt{lcd_bitmap}{\input{plugins/bmpviewer.tex}}
\opt{lcd_bitmap}{\input{plugins/chip8emulator.tex}}
\opt{lcd_bitmap}{\input{plugins/frotz.tex}}
\opt{lcd_bitmap}{\input{plugins/jpegviewer.tex}}
\opt{lcd_bitmap}{\input{plugins/imageviewer.tex}}
\opt{large_plugin_buffer}{\input{plugins/lua.tex}}
@ -193,8 +187,6 @@ option from the \setting{Context Menu} (see \reference{ref:Contextmenu}).}
\opt{lcd_bitmap}{\opt{swcodec}{\nopt{lowmem}{\input{plugins/mpegplayer.tex}}}}
\opt{lcd_bitmap}{\input{plugins/pngviewer.tex}}
\opt{lcd_color}{\input{plugins/ppmviewer.tex}}
\opt{archosrecorder,archosfmrecorder,ondio}{\input{plugins/rockbox_flash.tex}}

View file

@ -1,113 +0,0 @@
% $Id$ %
\subsection{PNG viewer}
This plugin opens \fname{.png} files from the \setting{File Browser} to
display them.
\opt{swcodec}{
\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{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,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 png 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 png 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{HAVEREMOTEKEYMAP}{&
\opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
}
& Show menu / Abort while decoding \\
\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.
}
\item[Quit.] Quits the viewer and returns to the \setting{File Browser}.
\end{description}