% $Id$ %
\chapter{File formats}
\section{\label{ref:Supportedfileformats}Supported file formats}
\begin{table}
\begin{rbtabular}{\textwidth}{clp{7em}X}%
{\textbf{Icon} & \textbf{File Type} & \textbf{Extension} 
  & \textbf{Action when selected}}{}{}
\includegraphics[width=0.37cm]{appendix/images/icon-directory.png} 
  & Directory & \emph{none} & Enter the directory \\
\includegraphics[width=0.37cm]{appendix/images/icon-audio-file.png} 
  & Audio file & 
  \opt{masd,masf}{\fname{.mp2, .mp3}}%
  \opt{swcodec}{\emph{various}\newline%
  (see \ref{ref:Supportedaudioformats}})%
  % do NOT use \reference{} here as that will break the table.
  & Start playing the file and show the WPS\\
  \includegraphics[width=0.37cm]{appendix/images/icon-cuesheet.png} 
  & Cuesheet & \fname{.cue} & View the cuesheet file \\
\opt{masf}{
  \includegraphics[width=0.37cm]{appendix/images/icon-wav-file.png} 
    & Wave Audio File & \fname{.wav} & Play the WAV file \\%
}
\includegraphics[width=0.37cm]{appendix/images/icon-playlist.png}
  & Playlist & \fname{.m3u, .m3u8} & Load the playlist and start playing 
    the first file \\
\includegraphics[width=0.37cm]{appendix/images/icon-rolo.png} 
  & Rockbox firmware & 
    \opt{player}{\fname{.mod}}\opt{recorder,recorderv2fm,ondiofm,ondiosp}{\fname{.ajz}}%
    \opt{h100,h300}{\fname{.iriver}}\opt{ipod}{\fname{.ipod}}\opt{iaudio}{\fname{.iaudio}}%
    \opt{h10,h10_5gb,sansa}{\fname{.mi4}}\opt{gigabeat}{\fname{.gigabeat}}%
    \opt{sansaAMS}{\fname{.sansa}}
  & Load the new firmware with ROLO \\
\includegraphics[width=0.37cm]{appendix/images/icon-wps.png} 
  & While Playing Screen & \fname{.wps} & Load the new WPS display configuration \\
\includegraphics[width=0.37cm]{appendix/images/icon-lang.png} 
  & Language File & \fname{.lng} & Load the language file \\
\includegraphics[width=0.37cm]{appendix/images/icon-text.png} 
  & Text File & \fname{.txt} & Display the text file using the text viewer plugin\\
\includegraphics[width=0.37cm]{appendix/images/icon-config.png} 
  & Configuration File & \fname{.cfg} & Load the settings file\\
\includegraphics[width=0.37cm]{appendix/images/icon-font.png} 
  & Font & \fname{.fnt} & Change the user interface font to this one\\
\includegraphics[width=0.37cm]{appendix/images/icon-rock.png} 
  & Plugin & \fname{.rock} & Start the plugin\\
\opt{archos}{
  \includegraphics[width=0.37cm]{appendix/images/icon-ucl.png} 
    & Flash Image & \fname{.ucl} & Flash the Rockbox image into the ROM \\
  }
\includegraphics[width=0.37cm]{appendix/images/icon-chip8.png} 
  & Chip8 game & \fname{.ch8} & Play the Chip8 game \\
\includegraphics[width=0.37cm]{appendix/images/icon-image-file.png} 
  & Image & \fname{.jpg} & View the JPEG image \\
\opt{swcodec}{
 \includegraphics[width=0.37cm]{appendix/images/icon-movie-file.png}
 & Video & \fname{.mpg, .mpeg, .mpv, .m2v} & Play the MPEG1/2 video \\
}
\opt{masf}{\opt{lcd_bitmap}{
  \includegraphics[width=0.37cm]{appendix/images/icon-movie-file.png} 
    & Rockbox Video & \fname{.rvf} & View the movie (Rockbox format)\\}
}
\opt{radio}{
  & FM Presets & \fname{.fmr} & Load the FM Presets (previous are discarded)\\}
  & Voice file & \fname{.voice} & Allow Rockbox to speak menus\\
  & Bookmark & \fname{.bmark} & Display all bookmarks for an audio file\\
  & Link & \fname{.link} & Display list of target files and directories;
    selecting one jumps to the target. See \reference{ref:Shortcutsplugin}.\\
\opt{lcd_color}{
  & Colours & \fname{.colours} & Open the colours file for editing.
    See \reference{ref:ChangingFiletypeColours}.\\
}
\opt{lcd_bitmap}{
  & Game of Life & \fname{.cells} & Show the configuration with the
     ``Rocklife'' plugin\\}

\end{rbtabular}
\end{table}

\opt{swcodec}{
  \section{\label{ref:Supportedaudioformats}Supported audio formats}
  \begin{table}
  \begin{rbtabular}{\textwidth}{lp{6em}X}%
  {\textbf{Format} & \textbf{Extension} & \textbf{Notes}}{}{}
    \multicolumn{2}{c}{\textbf{Lossy codecs}}\\
    \midrule
    MPEG audio & \fname{.mp1, .mpa, .mp2, .mp3} & \\
    OGG/Vorbis & \fname{.ogg, .oga} & Some old ``floor 0'' files may crash Rockbox. \\
    Musepack & \fname{.mpc} & \\
    Advanced Audio Coding & \fname{.m4a, .m4b, .mp4} & \\
    Windows Media Audio & \fname{.wma, .wmv, .asf} & \\
    ATSC A/52 & \fname{.a52, .ac3} & Supports downmixing for playback of 5.1 streams in stereo. \\
    ADX & \fname{.adx} & \\
    Speex & \fname{.spx} & \\
    
    \midrule
    \multicolumn{2}{c}{\textbf{Lossless codecs}}\\
    \midrule
    Waveform audio format & \fname{.wav} & \\
    Audio Interchange File Format & \fname{.aif, .aiff} & \\
    Free Lossless Audio & \fname{.flac} & \\
    Apple Lossless & \fname{.m4a, .mp4} & \\
    Wavpack & \fname{.wv} & \\
    Shorten & \fname{.shn} & Seeking not supported.\\
    \opt{h100,h300,x5,m5,m3}{
      Monkey's Audio & \fname{.ape, .mac} & -c1000 and -c2000 files decode
      fast enough to be useful.}
    \opt{gigabeatf}{
      Monkey's Audio & \fname{.ape, .mac} & -c1000 to -c3000
      files decode fast enough to be useful.}
    \opt{gigabeats}{
      Monkey's Audio & \fname{.ape, .mac} & -c1000 to -c4000 files decode
      fast enough to be useful.}
    \opt{ipod,h10,h10_5gb,mrobe100,sansa}{
      Monkey's Audio & \fname{.ape, .mac} & Only -c1000 files decode fast
      enough to be useful.}
    \\
    \midrule
    \multicolumn{2}{c}{\textbf{Other codecs}}\\
    \midrule
    Sound Interface Device & \fname{.sid} & \\
    MOD & \fname{.mod} & \\
    NES Sound Format & \fname{.nsf, .nsfe} & \\
    SPC700 & \fname{.spc} & \\
    Atari SAP & \fname{.sap} & \\
  \end{rbtabular}
  \end{table}
}
