% $Id$ %
\chapter{File formats}
\section{\label{ref:Supportedfileformats}Supported file formats}
\begin{table}
\begin{center}
\begin{tabularx}{\textwidth}{clp{7em}X}\toprule
\textbf{Icon} & \textbf{File Type} & \textbf{Extension} 
  & \textbf{Action when selected} \\\midrule%
\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{MASCODEC}{\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}}
  & 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{MASCODEC}{\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 Preset & \fname{.fmr} & Loads FM Presets of your choosing\\}
  & Voice file & \fname{.voice} & Allows Rockbox to speak menus for you\\
  & Bookmark & \fname{.bmark} & Displays 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\\}

\bottomrule
\end{tabularx}
\end{center}
\end{table}

\opt{swcodec}{
  \section{\label{ref:Supportedaudioformats}Supported audio formats}
  \begin{table}
  \begin{center}
  \begin{tabularx}{\textwidth}{lp{6em}X}\toprule
  \textbf{Format} & \textbf{Extension} & \textbf{Notes} \\\midrule
    \emph{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
    \emph{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. \\
    }
    \nopt{h100,h300,x5,m5,m3,gigabeat}{%
      Monkey's Audio & \fname{.ape, .mac} & Only -c1000 files decode fast enough to be useful. \\
    }
    \\
    \midrule
    \emph{Other codecs} \\
    \midrule
    Sound Interface Device & \fname{.sid} & \\
    MOD & \fname{.mod} & \\
    NES Sound Format & \fname{.nsf, .nsfe} & \\
    SPC700 & \fname{.spc} & \\
    Atari SAP & \fname{.sap} & \\
  \bottomrule
  \end{tabularx}
  \end{center}
  \end{table}
}
