% $Id$ %
\chapter{\label{ref:rockbox_interface}The Rockbox interface}
\section{Your \dap}
\begin{center}
  \opt{player}{\includegraphics[height=11.8cm]{rockbox_interface/images/player-front.png}}
  \opt{recorder,recorderv2fm}{\includegraphics[height=11.8cm]{rockbox_interface/images/recorderv2fm-front.png}}
  \opt{ondio}{\includegraphics[height=11.8cm]{rockbox_interface/images/ondio-front.png}}
  \opt{h1xx}{\includegraphics[height=11.8cm]{rockbox_interface/images/h1xx-front.png}}
\end{center}

Throughout this manual, the buttons on the \dap\ are labelled according to the
picture above. To turn on and shut down your \dap, the following keys are used:

\begin{table}
    \begin{btnmap}{}{}
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
      \opt{IPOD_4G_PAD}{\ButtonMenu\ or \ButtonSelect}
      \opt{ONDIO_PAD}{\ButtonOff}\opt{RECORDER_PAD,PLAYER_PAD}
        {Hold \ButtonOn\ for 2{}-3s}
      \opt{IAUDIO_X5_PAD}{\ButtonPower} 
      & Start Rockbox\\
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{Hold \ButtonOff}
      \opt{IPOD_4G_PAD}{Hold \ButtonPlay}
      \opt{ONDIO_PAD,recorderv2fm}{Hold \ButtonOff}
      \opt{recorder}{Double tap \ButtonOff\ when playback is stopped}
      \opt{PLAYER_PAD}{From the Main Menu, select \textbf{Shutdown}}
      \opt{IAUDIO_X5_PAD}{Hold \ButtonPower}
      & Shutdown Rockbox\\
    \end{btnmap}
\end{table}
\label{ref:Safeshutdown}On shutdown, Rockbox automatically saves its settings.

\opt{PLAYER_PAD,RECORDER_PAD,ONDIO_PAD}{
  In the unlikely event of a software failure, a hardware power off can be
  performed by holding down 
  \opt{PLAYER_PAD}{\ButtonStop}
  \opt{RECORDER_PAD,ONDIO_PAD}{\ButtonOff}
  until the Jukebox power light goes off.
}

\section{\label{ref:file_browser}File Browser}
\screenshot{rockbox_interface/images/ss-file-browser}{The file browser}{}
Rockbox lets you browse your music in either of two ways. The 
\setting{File Browser} lets you navigate through the files and folders on 
your \dap, entering folders and executing the default action on each file.
To help differentiate files, each file format is displayed with an icon. 

The \setting{Tag Cache Browser}, on the other hand, allows you to navigate 
through the music on your player using categories like album, artist, genre, etc.  

You can select whether to browse using the \setting{File Browser} or the 
\setting{Tag Cache Browser} by adjusting the \setting{Show Files} setting.  
If you choose the \setting{File Browser}, the \setting{Show Files} setting also 
lets you select what types of files you wish to view.  See page 
\pageref{ref:ShowFiles} for more information on the \setting{Show Files} setting.

\note{The \setting{File Browser} allows you to manipulate your files in ways that 
are not available within the \setting{Tag Cache Browser}.  Read more about 
\setting{Tag Cache} in Section \ref{ref:tagcache}.  The remainder of this section
deals with the \setting{File Browser}.}

\subsection{\label{ref:controls}Controls}
\begin{table}
    \begin{btnmap}{}{}
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,ONDIO_PAD,RECORDER_PAD,IAUDIO_X5_PAD}
        {\ButtonUp/\ButtonDown}
      \opt{PLAYER_PAD}{\ButtonLeft/\ButtonRight}
      \opt{IPOD_4G_PAD}{\ButtonScrollBack/\ButtonScrollFwd} 
         & Go to previous/next item in list. If you are on the first/last 
           entry, the cursor will wrap to the last/first entry.\\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,RECORDER_PAD}
        {\ButtonOn+\ButtonUp/\ButtonDown}
      \opt{PLAYER_PAD,IPOD_4G_PAD,IAUDIO_X5_PAD}{n/a}
      \opt{ONDIO_PAD}{n/a}
      & Move one page up/down on the list.\\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,RECORDER_PAD,IAUDIO_X5_PAD,ONDIO_PAD,IPOD_4G_PAD}{\ButtonLeft}
      \opt{PLAYER_PAD}{\ButtonStop} 
      & Go to the parent directory. \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,IPOD_4G_PAD}
        {\ButtonRight/\ButtonSelect}
      \opt{PLAYER_PAD}{\ButtonPlay}
      \opt{ONDIO_PAD}{\ButtonRight}
      \opt{RECORDER_PAD}{\ButtonRight/\ButtonPlay}
      & Executes an action. Depending on the file type, that action may vary.
        (See page \pageref{ref:Filemenu}) \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,PLAYER_PAD,RECORDER_PAD}{\ButtonOn}
      \opt{IAUDIO_X5_PAD,IPOD_4G_PAD}{\ButtonPlay}
      \opt{ONDIO_PAD}{Short press on \ButtonMenu} 
      & If there is a MP3 playing, returns to the While Playing Screen (WPS)
        without stopping playback.  \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,IPOD_4G_PAD}
        {Hold \ButtonSelect}
      \opt{RECORDER_PAD,PLAYER_PAD}{Hold \ButtonPlay/\ButtonOn+\ButtonPlay}
      \opt{ONDIO_PAD}{Hold \ButtonRight} 
      & Enter the File Menu\\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
      \opt{RECORDER_PAD}{\ButtonFOne}
      \opt{PLAYER_PAD,IPOD_4G_PAD,ONDIO_PAD,IPOD_VIDEO_PAD}{\ButtonMenu}
      \opt{IAUDIO_X5_PAD}{Hold \ButtonPlay}
      & Enter the Main Menu \\
      %
      \opt{RECORDER_PAD}{
        \ButtonFTwo & Switches to the Browse/Play Quick Menu \\
        %
        \ButtonFThree & Switches to the Display Quick Menu \\ 
        %
      }
    \end{btnmap}
\end{table}

\opt{RECORDER_PAD}{
  The functions of the F keys are also summarised on the button bar at the
  bottom of the screen.
}

\subsection{\label{ref:Filemenu}\label{ref:PartIISectionFM}File Menu}
\screenshot{rockbox_interface/images/ss-file-menu}{The File Menu}{}

The \setting{File Menu} allows you to perform certain operations on files or 
folders.  To access the \setting{File Menu}, position the selector over a file 
or folder and 
	\opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,IPOD_4G_PAD}
		{hold the \ButtonSelect\ button.}
	\opt{RECORDER_PAD,PLAYER_PAD}{press the \ButtonPlay/\ButtonOn+\ButtonPlay\ 
	  buttons.}
  \opt{ONDIO_PAD}{hold the \ButtonRight\ button.}
  
\note{The \setting{File Menu} is a context sensitive menu.  If the 
\setting{File Menu} is invoked on a file, it will display options available 
for files.  If the \setting{File Menu} is invoked on a folder or directory, 
it will display options for directories.}

The \setting{File Menu} contains the following options (unless otherwise noted, 
each option pertains both to files and directories):

\begin{description}
\item [Playlist:]
  Enters the \setting{Playlist Submenu} (see below).
\item [Rename:]
  This function lets the user modify a file name.
\item [Cut:]
  Copies the name of the currently selected file or directory to the clipboard
  and marks it to be 'cut'.
\item [Copy:]
  Copies the name of the currently selected file or directory to the clipboard
  and marks it to be 'copied'.
\item [Paste:]
  Only visible if a file or directory name is on the clipboard. When selected
  it will move or copy the clipboard to the current directory.
\item [Delete:]
  Deletes the currently selected file.  This option applies only to files, and
  not to directories.  Rockbox will ask for confirmation before deleting a file.
  Press
  	\opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,IPOD_4G_PAD,IPOD_VIDEO_PAD}
      {\ButtonSelect}
    \opt{PLAYER_PAD,RECORDER_PAD}{\ButtonPlay}
    \opt{ONDIO_PAD}{\ButtonRight}
 to confirm deletion or any other key to cancel.
\item [Delete Directory:]
  Deletes the currently selected directory and all of the files and folders
  contained in the selected directory.  Deleted directories cannot be recovered.
  Use this feature with caution!
\item [Open with:] 
  Runs a viewer plugin on the file. Normally, when a file is selected in Rockbox,
  Rockbox automatically detects the file type and runs the appropriate plugin.
  The \setting{Open With} function can be used to override the default action and
  select a viewer by hand.  For example, this function can be used to view a text file
  even if the file has a non-standard extension (i.e., the file has an extension
  of something other than ``.txt'').  See page \textmd{\pageref{ref:Viewersplugins}} 
  for more details on viewers.
\item [Create Directory:]
  Makes a new folder in the current folder on the disk.
\end{description}

\subsection{\label{ref:Playlistsubmenu}Playlist Submenu}
\screenshot{rockbox_interface/images/ss-playlist-menu}{The Playlist Submenu}{}
The \setting{Playlist Submenu} allows you to put tracks into a ``dynamic playlist''.
If there is no music currently playing, Rockbox will create a new dynamic playlist
and put the selected track(s) into the playlist.  If there is music currently playing,
Rockbox will put the selected track(s) into the current playlist.  The place in which
the newly selected tracks are added to the playlist is determined by the following
options:

\begin{description}
\item [Insert:]
  Add track(s) to playlist. If no other tracks have been inserted then the
  selected track will be added immediately after current playing track,
  otherwise they will be added to end of insertion list.
\item [Insert next:] 
  Add track(s) immediately after current playing track, no matter what else has
  been inserted.
\item [Insert last:]
  Add track(s) to end of playlist.
\item [Queue:]
  Queue is the same as Insert except queued tracks are deleted immediately from
  the playlist after they've been played. Also, queued tracks are not saved to
  the playlist file (see page \pageref{ref:playlistoptions}).
\item [Queue next:]
  Queue track(s) immediately after current playing track.
\item [Queue last:]
  Queue track(s) at end of playlist.
\end{description}

The \setting{Playlist Submenu} can be used to add either single tracks or 
entire directories to a playlist. If the \setting{Playlist Submenu} is 
invoked on a single track, it will put only that track into the playlist.  
On the other hand, if the \setting{Playlist Submenu} is invoked on a 
directory, Rockbox adds all of the tracks in that directory to the playlist.  

\note{You can control whether or not Rockbox includes the contents of subdirectories
when adding an entire directory to a playlists.  Set the \setting{Main Menu 
$\rightarrow$ Playlist Options $\rightarrow$ Recusively Insert Directories} setting to 
\setting{Yes} if you would like Rockbox to include tracks in subdirectories as well as tracks
in the currently-selected directory.}

If you want to have Rockbox create a playlist of a whole folder (to play an entire 
album, for example), use the \setting{File Browser} to select the song. When a single 
song is selected from the \setting{File Browser}, Rockbox will automatically create a 
playlist with all songs in the current folder. However, if you want to play only a single 
song and then stop, stop playback, navigate to the song you want to play, and use the 
\setting{Playlist $\rightarrow$ Insert} function to select the song.

Dynamic playlists are saved so resume will restore them exactly as they were before
shutdown.

\note{To view, save or reshuffle the current dynamic playlist, use the 
\setting{Playlist Options} setting in the WPS Context Menu.}

\subsection{Virtual Keyboard}
\screenshot{rockbox_interface/images/ss-virtual-keyboard}{The virtual keyboard}{}
This is the virtual keyboard that is used when entering file names in Rockbox.

\opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,RECORDER_PAD}{
    \begin{table}
    \begin{btnmap}{}{}
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,RECORDER_PAD}
        {\ButtonUp/\ButtonDown\\ButtonLeft/\ButtonRight}
      & Move about the virtual keyboard (moves the solid cursor) \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,RECORDER_PAD}
        {\ButtonOn+\ButtonLeft/\ButtonRight}
      \opt{IAUDIO_X5_PAD}{Please add correct keys} 
      & Move about within the current file name (moves the line cursor) \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
      \opt{RECORDER_PAD}{\ButtonPlay}
      \opt{IAUDIO_X5_PAD}{Please add correct keys} 
      & Inserts the currently selected keyboard letter at the current
        filename cursor position \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,RECORDER_PAD}{\ButtonOff}
      \opt{IAUDIO_X5_PAD}{Please add correct keys} 
      & Exits the virtual keyboard without saving any changes \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD}{n/a}
      \opt{RECORDER_PAD}{\ButtonFOne}
      & SHIFT: Shifts between the upper case, lower case and accented keyboards \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
      \opt{RECORDER_PAD}{\ButtonFTwo}
      \opt{IAUDIO_X5_PAD}{Please add correct keys} 
      & OK: Exits the virtual keyboard and saves any changes \\
      %
      \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec}
      \opt{RECORDER_PAD}{\ButtonFThree}
      \opt{IAUDIO_X5_PAD}{Please add correct keys} 
      & DEL: Deletes the character before the current filename cursor \\
      %
      \opt{SWCODEC}{
        \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonMode}
        \opt{IAUDIO_X5_PAD}{Please add correct keys} 
        & Enters Morse input mode\\
      }
    \end{btnmap}
  \end{table}
}

\opt{IPOD_4G_PAD}{
  \textbf{Picker area}
  \begin{table}
    \begin{btnmap}{}{}
      \ButtonScrollFwd/\ButtonScrollBack & Move about the virtual keyboard \\
      \ButtonLeft/\ButtonRight		 & (moves the solid cursor).
          If you move out of the picker area with \ButtonScrollFwd/\ButtonScrollBack,
          you get to the line edit mode. \\
      \ButtonSelect 
        & Inserts the currently selected keyboard letter at the current
          filename cursor position \\
      Hold \ButtonSelect
      	& OK: Exits the virtual keyboard and saves any changes \\
      \ButtonMenu
        & Exits the virtual keyboard without saving any changes\\
    \end{btnmap}
  \end{table}
  \textbf{Line edit mode}
  \begin{table}
    \begin{btnmap}{}{}
      \ButtonLeft/\ButtonRight & Move left and right\\
      \ButtonSelect & Deletes the letter to the left of the cursor\\
      \ButtonScrollFwd/\ButtonScrollBack & Returns to the picker area\\
    \end{btnmap}
  \end{table}
}
\opt{ondio}{
  \textbf{Picker area}
  \begin{table}
    \begin{btnmap}{}{}
      \ButtonUp/\ButtonDown/\ButtonLeft/\ButtonRight
        & Move about the virtual keyboard (moves the solid cursor).
          If you move out of the picker area with \ButtonUp/\ButtonDown,
          you get to the line edit mode. \\
      \ButtonMenu 
        & Selects the letter underneath the cursor. \\
      Long press on \ButtonMenu 
       & Accepts the currently selected letter\\
      \ButtonOff 
       & Aborts the currently selected letter\\
    \end{btnmap}
  \end{table}
  \textbf{Line edit mode}
  \begin{table}
    \begin{btnmap}{}{}
      \ButtonLeft/\ButtonRight & Move left and right\\
      \ButtonMenu & Deletes the letter to the left of the cursor\\
      Long press on \ButtonMenu & Accepts the deletion\\
      \ButtonUp/\ButtonDown & Returns to the picker area\\
    \end{btnmap}
  \end{table}
}\opt{player}{
  The current filename is always listed on the first line of the display. The
  second line of the display can contain the character selection bar, as in the
  screenshot above, or  one of a number of other options.
  \begin{table}
    \begin{btnmap}{}{}
      \ButtonLeft/\ButtonRight & Moves the arrow to/from the filename \\
                               & and changes between the character bar \\
                               & and BACKSPACE, DELETE, ACCEPT and ABORT. \\
      \ButtonPlay/\ButtonStop & Varies (see below) \\
      \ButtonMenu & Shift.  When the character selection bar is selected\\
                  & this changes between upper case, lower case, \\
                  & and accented letters. \\
    \end{btnmap}
  \end{table}

  The function of the \ButtonPlay\ and \ButtonStop\ buttons depends on what the
  arrow is pointing to, as follows.
  
  \begin{table}
      \begin{center}
      \begin{tabularx}{.75\textwidth}{lX}
        \textbf{Selected option} & \textbf{Play/Stop function} \\\midrule
        filename & Moves the cursor left (\ButtonStop) \\
                 & or right (\ButtonPlay) within the filename \\
        character bar & Moves the character bar to the next (\ButtonPlay)\\
                      & or previous (\ButtonStop) character. \\
        BACKSPACE & \ButtonPlay deletes the character before \\
                  & the current cursor position \\
        DELETE & \ButtonPlay deletes the character at the \\
               & current cursor position\\
        ACCEPT & \ButtonPlay exits the virtual keyboard and \\
               & saves any changes \\
        ABORT & \ButtonPlay exits the virtual keyboard and \\
              & discards any changes \\\bottomrule
      \end{tabularx}
    \end{center}
  \end{table}
}

\input{rockbox_interface/tagcache.tex}
\input{rockbox_interface/wps.tex}

