A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 421 lines 15 kB view raw
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2% __________ __ ___. 3% Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4% Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5% Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6% Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7% \/ \/ \/ \/ \/ 8% - M A N U A L - 9% 10% $Id$ 11% 12% Copyright (C) 2006 The Rockbox Manual Team 13% 14% All files in this archive are subject to the GNU Free Documentation License 15% See the file COPYING-MANUAL in the source tree docs/ directory for full license 16% agreement. 17% 18% Contributors are listed in the file docs/CREDITS-MANUAL 19% 20%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 21 22\documentclass[a4paper,11pt,hyphens]{scrreprt} 23\usepackage[utf8]{inputenc} 24\usepackage[T1]{fontenc} 25% load ix-utf8enc.dfu to get additional characters from the inputenx package. 26\makeatletter\input{ix-utf8enc.dfu}\makeatother 27% This manual used to use Palatino as font. This caused issues with small caps 28% (textsc), so do not use that font as default one anymore. 29% Use Latin Modern instead which improves searchability of the PDF output. 30\usepackage{lmodern} 31 32\usepackage{tabularx} 33\usepackage{multirow} 34\usepackage{multicol} 35 36\usepackage{scrhack} 37\usepackage{float} 38\floatstyle{ruled} 39 40\usepackage{hyperref} 41\usepackage{enumitem} 42 43\usepackage{optional} 44 45\usepackage[table]{xcolor} 46 47\input{platform/\platform.tex} 48\input{features.tex} 49 50\newcommand{\playername}{\playerman\ \playerlongtype} 51 52\hypersetup{% add some values to the pdf properties 53 colorlinks = true, 54 pdfstartview = FitV, 55 linkcolor = blue, 56 citecolor = blue, 57 urlcolor = blue, 58 pdftitle = {Rockbox user manual}, 59 pdfauthor = {The Rockbox Team}, 60 pdfsubject = {Rockbox user manual for \playername} 61} 62 63\newcommand{\fname}[1]{\texttt{#1}} 64\newcommand{\tabeltc}[1]{{\centering #1 \par}} 65\newcommand{\tabelth}[1]{{\centering \textbf{\textit{#1}} \par}} 66 67\newcommand{\fixme}[1]{\textbf{\textcolor{red}{#1}}} 68 69% Colors used to typeset table headers and alternating table rows 70\colorlet{tblhdrbgcolor}{blue!30} % Background color for headers 71\colorlet{tbloddrowbgcolor}{blue!10} % Background color for odd rows (headers not included) 72\colorlet{tblevenrowbgcolor}{white} % Background color for even rows (headers not included) 73 74\usepackage{fancyhdr} 75\usepackage{graphicx} 76\usepackage{verbatim} 77\usepackage{makeidx} 78\usepackage{fancyvrb} 79\usepackage{color} 80 81% Ifpdfoutput is part of KOMAscript 3.28, in earlier versions it's ifpdfoutput. 82% We use Ifpdfoutput, so redefine it here for old KOMAscript versions. 83% See also https://ctan.org/ctan-ann/id/mailman.2801.1577740444.2586.ctan-ann@ctan.org 84\ifdefined\Ifpdfoutput% 85\else\newcommand{\Ifpdfoutput}{\ifpdfoutput}% 86\fi 87 88\Ifpdfoutput{\usepackage{booktabs}}% 89 {\newcommand{% 90 \toprule}{}\newcommand{\midrule}{\hline}\newcommand{\bottomrule}{}% 91 } 92\usepackage{longtable} 93\usepackage{url} 94\urlstyle{sf} 95\Urlmuskip = 0mu plus 1mu 96\usepackage{marvosym} 97\usepackage{rotating} 98 99% pdf output: try pdf first, then png and jpg as file format 100% html output: try png first, then jpg. Ignore pdf files 101% this only applies if no file extension is given! 102\Ifpdfoutput{\DeclareGraphicsExtensions{.pdf,.png,.jpg}}% 103 {\DeclareGraphicsExtensions{.png,.jpg}} 104 105% fancy header style adjustments 106\fancyhead{} 107\fancyfoot{} 108\fancyhead[L]{{\nouppercase{\textsc{\leftmark}}}} 109\fancyhead[R]{\iffloatpage{}{\thepage}} 110\fancyfoot[L]{\textsc{The Rockbox manual} {\scriptsize(version \buildversion)}} 111\fancyfoot[R]{\textsc{\playerman{} \playertype}} 112\fancypagestyle{plain}{} 113 114\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}} 115\renewcommand{\footrulewidth}{\iffloatpage{0pt}{0.4pt}} 116\setlength{\headheight}{18.5pt} 117\newcounter{example}[chapter] 118 119\Ifpdfoutput{% 120 \renewcommand{\toprule}{\specialrule{\heavyrulewidth}{\abovetopsep}{0pt}} 121 \renewcommand{\midrule}{\specialrule{\lightrulewidth}{0pt}{\belowrulesep}} 122 }{} 123\newcommand{\tblhdrstrut}{\rule[-1.3ex]{0mm}{4.0ex}} 124 125 126%% \newenvironment{example} 127%% {\stepcounter{example}\paragraph{Example \theexample:}} 128%% {\hfill$\Box$ 129 130%% \bigskip 131%% \noindent} 132 133% found on the internet, posting by Donald Arseneau 134% I may as well include my robust expandable definions, which can be 135% used in \edef or \write where the \def would not be executed: 136% 137% \if\blank --- checks if parameter is blank (Spaces count as blank) 138% \if\given --- checks if parameter is not blank: like \if\blank{#1}\else 139% \if\nil --- checks if parameter is null (spaces are NOT null) 140% use \if\given{ } ... \else ... \fi etc. 141% 142{\catcode`\!=8 % funny catcode so ! will be a delimiter 143\catcode`\Q=3 % funny catcode so Q will be a delimiter 144\long\gdef\given#1{88\fi\Ifbl@nk#1QQQ\empty!} 145\long\gdef\blank#1{88\fi\Ifbl@nk#1QQ..!}% if null or spaces 146\long\gdef\nil#1{\IfN@Ught#1* {#1}!}% if null 147\long\gdef\IfN@Ught#1 #2!{\blank{#2}} 148\long\gdef\Ifbl@nk#1#2Q#3!{\ifx#3}% same as above 149} 150 151% environment for setting the changelog. 152\newenvironment{changelog}% 153 {\renewcommand{\labelitemi}{$\star$}\setitemize{noitemsep,topsep=0pt}% 154 \begin{itemize}}% 155 {\end{itemize}} 156 157 158\newcommand{\dapdisplaysize}{\dapdisplaywidth$\times$\dapdisplayheight$\times$\dapdisplaydepth} 159\newcommand{\genericimg}{\dapdisplaywidth x\dapdisplayheight x\dapdisplaydepth} 160 161% add screenshot image. 162% Usage: \screenshot{filename}{caption}{label} 163% By using the 'H' (HERE) placement, the screenshots are placed where 164% we want them. 165% Note: use this only for screenshots! 166% Note: leave caption empty to supress it. 167% Resulting file names in the source should consist of up to 3 parts 168% "filename-\genericimg-[\specimg|\seriesimg]" (the third is optional) 169% filename is specified by the use of this macro in the tex file 170% \genericimg will be generated using the display's resolution (see above) 171% \specimg or \seriesimg are possible options set in the platform files 172% Files will be used in the following order: 1.filename contains \specimg part 173% 2. filename contains \seriesimg part, 3. filename without the third part 174 175% set seriesimg if it isn't defined in the platform file to not break manuals 176\ifdefined\seriesimg 177\else 178 \newcommand{\seriesimg}{\specimg} 179\fi 180 181\newcommand{\includescreenshot}{\Ifpdfoutput{\includegraphics[width=\screenshotsize]}{\includegraphics}} 182 183\newcommand{\screenshot}[3]{ 184 \begin{figure}[H] 185 \begin{center} 186 \IfFileExists{#1-\genericimg-\specimg.png} 187 {\includescreenshot{#1-\genericimg-\specimg.png} 188 \typeout{Note: device specific image used}} 189 {\IfFileExists{#1-\genericimg-\seriesimg.png} 190 {\includescreenshot{#1-\genericimg-\seriesimg.png} 191 \typeout{Note: series specific image used}} 192 {\IfFileExists{#1-\genericimg.png} 193 {\includescreenshot{#1-\genericimg.png}} 194 {\IfFileExists{#1} 195 {\includescreenshot{#1} 196 \typeout{Warning: deprecated plain image name used}}% 197 {\typeout{Missing image: #1 (\genericimg) (\specimg)}% 198 \color{red}{\textbf{WARNING!} Image not found}% 199 } 200 } 201 } 202 } 203 \if\blank{#3}\else{\label{#3}}\fi\if\blank{#2}\else{% 204 \caption{#2}}\fi 205 \end{center} 206 \end{figure} 207} 208 209% command to display a note. 210% Usage: \note{text of your note} 211% Note: do NOT use \textbf or similar to emphasize text, use \emph! 212\Ifpdfoutput{ 213\newcommand{\note}[1]{ 214 \ifinner\else\vspace{1ex}\par\noindent\fi 215 \textbf{Note:}\ % 216 \ifinner#1\else\marginpar{\raisebox{-6pt}{\Huge\Writinghand}}#1\par\vspace{1ex}\fi% 217}} 218{\newcommand{\note}[1]{\ifinner\else\par\noindent\fi\textbf{Note:{} }#1\par}} 219 220% command to display a warning. 221% Usage: \warn{text of your warning} 222% Note: do NOT use \textbf or similar to emphasize text! 223\Ifpdfoutput{ 224\newcommand{\warn}[1]{ 225 \ifinner\else\par\noindent\fi 226 \textbf{Warning:\ }% 227 \ifinner#1\else\marginpar{\raisebox{-6pt}{\Huge\Stopsign}}#1\par\fi% 228}} 229{\newcommand{\warn}[1]{\ifinner\else\par\noindent\fi\textbf{Warning:{} }#1}} 230 231% command to mark a text block as intended especially for blind people 232% Usage: \blind{text} 233\Ifpdfoutput{ 234\newcommand{\blind}[1]{\mbox{}\marginpar{\raisebox{-1ex}{\Huge{\ForwardToEnd}}}#1} 235} 236{\newcommand{\blind}[1]{\ifinner\else\par\noindent\fi#1}} 237 238% make table floats use "H" (as for screenshots) as default positioning 239\makeatletter\renewcommand{\fps@table}{H}\makeatother 240% change defaults for floats on a page as we have a lot of small images 241\setcounter{topnumber}{3} % default: 2 242\setcounter{bottomnumber}{2} % default: 1 243\setcounter{totalnumber}{5} % default: 3 244 245 246% Environment for typesetting tables in a consistent way. The header has 247% a darker background; rows are white and light gray (alternating). Top, 248% middle and bottom rules are automatically set. 249% 250% Params: 251% #1 -- table width 252% #2 -- column specification (as used in the package tabularx) 253% #3 -- contents of the header row. The number of items must 254% match the number of specs in #2 255% #4 -- caption (optional). If used then this must be inside a floating 256% environment, e.g. table 257% #5 -- label (optional) 258% 259% Example: 260% \begin{rbtabular}{0.9\textwidth}{lX}{Col1 & Col2}{}{} 261% A1 & A2\\ 262% B1 & B2\\ 263% C1 & C2\\ 264% \end{rbtabular} 265% 266\newenvironment{rbtabular}[5]{% 267 \rowcolors{2}{tbloddrowbgcolor}{tblevenrowbgcolor} 268 \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname 269 \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% 270 \bottomrule 271 \SavedEndTab% 272 \if\given{#4}\caption{#4}\fi% 273 \if\given{#5}\label{#5}\fi% 274 \endcenter% 275 } 276 \center 277 \tabularx{#1}{#2}\toprule\rowcolor{tblhdrbgcolor} 278 \tblhdrstrut#3\\\midrule 279}{% 280 \endtabularx 281} 282 283\newcommand{\tabnlindent}{\newline\mbox{ }\mbox{ }} 284 285 286 287% command to set the default table heading for button lists 288\newcommand{\taghead}{\tblhdrstrut\textbf{Tag} & \textbf{Description} \\\midrule} 289 290% environment intended to be used with tag maps (for wps) 291% usage: \begin{tagmap}{caption}{label} Tag & Description \\ \end{tagmap} 292% Note: this automatically sets the table lines. 293% Note: you *need* to terminate the last line with a linebreak \\ 294% Cheers for the usenet helping me building this up :) 295\newenvironment{tagmap}{% 296\rowcolors{2}{tbloddrowbgcolor}{tblevenrowbgcolor} 297 \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname 298 \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% 299 \bottomrule 300 \SavedEndTab% 301 \endcenter% 302 } 303 \center 304\tabularx{\textwidth}{Xp{.7\textwidth}}\toprule\rowcolor{tblhdrbgcolor} % here is the table width defined 305 \taghead 306}{% 307 \endtabularx 308} 309 310% When creating HTML, use the soul package. 311% This produces much nicer HTML code (textsc results in each character being 312% put in a separate <span>). 313\Ifpdfoutput{\newcommand{\caps}[1]{\textsc{#1}}}{\usepackage{soul}} 314\newcommand{\setting}[1]{\caps{#1}} 315 316\newcommand{\config}[1]{\texttt{#1}} 317 318% set link to download server 319% Usage: \download{bootloader/bootloader-ipodnano.ipod} 320% gets expanded to 321% "https://download.rockbox.org/bootloader/bootloader-ipodnano.ipod" 322\newcommand{\download}[1]{\url{https://download.rockbox.org/#1}} 323 324% set link to the wiki. 325% Usage: \wikilink{WebHome} 326% with "WebHome" being the wiki page name 327\newcommand{\wikibaseurl}{https://www.rockbox.org/wiki/} 328\Ifpdfoutput{\newcommand{\wikiicon}{\Pointinghand}} 329 {\newcommand{\wikiicon}{}} 330\newcommand{\wikilink}[1]{\wikiicon{}\href{\wikibaseurl#1}{#1}} 331%\newcommand{\wikilink}[1]{\url{https://www.rockbox.org/wiki/#1}} 332 333% define environment "code" based on fancyvrb. 334% use it to set code the user should type / see on his screen. 335% Note: the first 4 characters of each line will be stripped, 336% requiring everything to be indendet by exactly _4_ spaces! 337% This is intended to make the LaTeX sources more readable. 338% Note: when using the code environment you need to use optv instead of opt! 339\DefineVerbatimEnvironment{code}{Verbatim}% 340 {framerule=0.4pt, framesep=1ex,frame=lines,%numbers=left,stepnumber=5,% 341 gobble=4,fontsize=\footnotesize,xleftmargin=10pt,xrightmargin=10pt,% 342 label=\textnormal{\textsc{Code}},% 343 commandchars=\\\{\}% 344 } 345 346% define environment "example" based on fancyvrb. 347% use it to set example code the user should type / see on his screen. 348% Note: the first 4 characters of each line will be stripped, 349% requiring everything to be indendet by exactly _4_ spaces! 350% This is intended to make the LaTeX sources more readable. 351% Note: when using the example environment you need to use optv instead of opt! 352\DefineVerbatimEnvironment{example}{Verbatim}% 353 {commentchar=!,framerule=0.4pt, framesep=1ex,frame=lines,% 354 gobble=4,fontsize=\footnotesize,xleftmargin=10pt,xrightmargin=10pt,% 355 label=\textnormal{\textsc{Example}},% 356 commandchars=\\\{\}% 357 } 358 359% Use the nopt command to exclude a certain defined feature from a section 360% Example: 361% \nopt{ondio}{This text will be excluded for ondios} 362\makeatletter 363\newcommand*\nopt[1]{\if\Opl@notlisted{#1}\expandafter\@firstofone 364 \else \expandafter\@gobble \fi} 365\makeatother 366 367% Use the reference to handle get a flexible reference command 368% usage \reference{ref_section} 369\Ifpdfoutput{% 370 \newcommand{\reference}[1]{% 371 section~\ref{#1} (page~\pageref{#1})% 372}} 373{\newcommand{\reference}[1]{section~\ref{#1}}} 374 375% special HTML output adjustments 376\Ifpdfoutput{}{\setlength{\parindent}{0mm}} 377\Ifpdfoutput{}{\renewcommand{\Forward}[1]{$\triangleright${}#1}} 378 379\newcommand{\btnfnt}[1]{\textbf{#1}} 380%\hfuzz=2pt 381 382% generate index 383\usepackage{makeidx} 384\makeindex 385 386 387% command to set the default table heading for button lists 388\newcommand{\btnhead}{\textbf{Key} \opt{HAVEREMOTEKEYMAP}{% 389 & \textbf{Remote Key}} & \textbf{Action} \\\midrule} 390% environment intended to be used with button maps 391% usage: \begin{btnmap} Button & ButtonAction \\ \end{btnmap} 392% Note: this automatically sets the table lines. 393% Note: you *need* to terminate the last line with a linebreak \\ 394% Cheers for the usenet helping me building this up :) 395 396% tabularx is set to be either two or three columns wide depending on whether 397% HAVEREMOTEKEYMAP is defined in the platform file for the target in question. 398% If it is, then every button table has three columns of the form 399% Main Unit Key & Remote Key & Description \\ 400 401\newenvironment{btnmap}{% 402 \rowcolors{2}{tbloddrowbgcolor}{tblevenrowbgcolor} 403 \expandafter\let\expandafter\SavedEndTab\csname endtabular*\endcsname 404 \expandafter\renewcommand\expandafter*\csname endtabular*\endcsname{% 405 \bottomrule 406 \SavedEndTab% 407 \endcenter\vspace{2ex}% 408 } 409 \vspace{2ex}\center 410 \opt{HAVEREMOTEKEYMAP}{ 411 % here is the table width defined for 3 columns 412 \tabularx{.95\textwidth}{>{\raggedright\arraybackslash}p{.2\textwidth}>{\raggedright\arraybackslash}p{.2\textwidth}X}\toprule\rowcolor{tblhdrbgcolor} 413 } 414 \nopt{HAVEREMOTEKEYMAP}{ 415 % here is the table width defined for 2 columns 416 \tabularx{.75\textwidth}{>{\raggedright\arraybackslash}p{.22\textwidth}X}\toprule\rowcolor{tblhdrbgcolor} 417 } 418 \tblhdrstrut\btnhead 419}{% 420 \endtabularx 421}