A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

rocker: First crack at manual for the AGPTek Rocker

It needs screenshots and slightly better installation instructions

Includes bits shared with other HibyOS platforms

Change-Id: I1c1974143b5badf1aca5c3281556ce553ab1b8a5

+147 -3
+5 -1
manual/advanced_topics/main.tex
··· 530 530 % %fbkBit %?fv<avg|> %?iv<(id3v%iv)|(no id3)> 531 531 % %pb 532 532 % %pm 533 - % 533 + % 534 534 %\end{verbatim} 535 535 536 536 \section{\label{ref:manage_settings}Managing Rockbox Settings} ··· 669 669 \opt{gigabeatf,gigabeats}{\fname{.gigabeat}.} % 670 670 \opt{fiiom3k}{\fname{.m3k}} % 671 671 \opt{shanlingq1}{\fname{.q1}} % 672 + \opt{agptekrocker}{\fname{.rocker}} % 673 + \opt{xduoox3ii}{\fname{.x3ii}} % 674 + \opt{xduoox20}{\fname{.x20}} % 675 + \opt{aigoerosq}{\fname{.erosq}} % 672 676 This can be used to test new firmware versions without deleting your 673 677 current version. 674 678
+26
manual/getting_started/hibyos_install.tex
··· 1 + This player's firmware is based on a Linux platform called HibyOS. Rockbox 2 + runs as an application, replacing the stock \emph{Hibyplayer} application. 3 + 4 + In order to install Rockbox's bootloader, you will need a copy of the 5 + original player firmware. This can be downloaded from the manufacturer's 6 + web site. The following stock firmware versions are currently supported: 7 + 8 + \begin{itemize} 9 + \opt{agptekrocker}{ 10 + \item 20171101 11 + } 12 + \end{itemize} 13 + 14 + After downloading the firmware, you will need to download the corresponding 15 + binary patch file (\fname{.bsdiff}) for the firmware version in question, from 16 + the following location: 17 + 18 + \begin{itemize} 19 + \opt{agptekrocker}{ 20 + \item \download{bootloader/agptek} 21 + } 22 + \end{itemize} 23 + 24 + Using the \emph{bspatch} utility, apply the binary patch to the original bootloader, with an output file \fname{update.upt}. Place this file into the top-level directory of an SD card. 25 + 26 + Insert the SD card into the player, turn it on, and navigate the to the \emph{tools} menu, and select \emph{update firmware}. The device will restart to perform the update, then restart again, after which it will display the Rockbox bootloader menu.
+3 -2
manual/getting_started/installation.tex
··· 111 111 \end{description} 112 112 } 113 113 114 - \opt{fiiom3k,shanlingq1}{ 114 + \opt{fiiom3k,shanlingq1,agptekrocker,xduoox3ii,xduoox20,aigoerosq}{ 115 115 Although Rockbox is considered fully functional on the \playername{}, there are 116 116 a few limitations compared to the original firmware which you should be aware 117 117 of before installing. ··· 120 120 filesystems such as exFAT or NTFS are not supported. 121 121 \item[USB DAC.] This feature is not supported by Rockbox, but you can 122 122 dual-boot the original firmware if you want to use it. 123 - \opt{shanlingq1}{\item[Wireless.] There is no support for Bluetooth or WiFi. 123 + \opt{shanlingq1,agptekrocker,xduoox3ii,xduoox20,aigoerosq}{\item[Wireless.] There is no support for Bluetooth\opt{shanlingq1}{ or WiFi}. 124 124 You can dual-boot the original firmware to use wireless functionality.} 125 125 \item[Hotswapping SD cards.] Rockbox runs from the SD card, not the internal 126 126 flash memory. Hotswapping is technically possible, but you need to install ··· 544 544 \opt{IMX233}{\input{getting_started/IMX233_install.tex}} 545 545 \opt{samsungyh}{\input{getting_started/samsungyh_install.tex}} 546 546 \opt{xduoox3}{\input{getting_started/xduoox3_install.tex}} 547 + \opt{xduoox3ii,xduoox20,agptekrocker,aigoerosq}{\input{getting_started/hibyos_install.tex}} 547 548 \opt{fiiom3k,shanlingq1}{\input{getting_started/jztool_install.tex}} 548 549 } 549 550 }
+26
manual/platform/agptekrocker.tex
··· 1 + % $Id$ % 2 + \def\UseOption{agptekrocker} 3 + \edef\UseOption{\UseOption,AGPTEK_ROCKER_PAD} 4 + \edef\UseOption{\UseOption,HAVE_BACKLIGHT} 5 + \edef\UseOption{\UseOption,HAVE_RB_BL_IN_FLASH} 6 + \edef\UseOption{\UseOption,agptekrocker} 7 + 8 + \newcommand{\playerman}{AGPtek} 9 + \newcommand{\playertype}{Rocker} 10 + \newcommand{\playerlongtype}{\playertype} 11 + \newcommand{\dapdisplaywidth}{128} 12 + \newcommand{\dapdisplayheight}{160} 13 + \newcommand{\dapdisplaydepth}{16} 14 + \newcommand{\specimg}{agptekrocker} 15 + %Used to name the player, e.g. ...to the \dap 16 + \newcommand{\dap}{player} 17 + %For use when referring to the player. E.g. the \daps\ capacity ... 18 + \newcommand{\daps}{player's} 19 + \newcommand{\firmwarefilename}{\fname{rockbox.rocker}} 20 + \newcommand{\bootfilename}{\fname{bootloader.rocker}} 21 + \newcommand{\firmwareextension}{\fname{rocker}} 22 + \newcommand{\screenshotsize}{8cm} 23 + \newcommand{\disk}{SD card} 24 + 25 + % link external keymap file 26 + \input{platform/keymap-agptekrocker.tex}
+82
manual/platform/keymap-agptekrocker.tex
··· 1 + % $Id$ 2 + 3 + \newcommand{\ButtonPower}{\btnfnt{Power}} 4 + \newcommand{\ButtonVolUp}{\btnfnt{Volume Up}} 5 + \newcommand{\ButtonVolDown}{\btnfnt{Volume Down}} 6 + \newcommand{\ButtonUp}{\btnfnt{Up}} 7 + \newcommand{\ButtonDown}{\btnfnt{Down}} 8 + \newcommand{\ButtonLeft}{\btnfnt{Left}} 9 + \newcommand{\ButtonRight}{\btnfnt{Right}} 10 + \newcommand{\ButtonSelect}{\btnfnt{Select}} 11 + 12 + %Button actions, standard context 13 + \newcommand{\ActionStdPrev}{\ButtonUp{}} 14 + \newcommand{\ActionStdPrevRepeat}{\ButtonUp{}} 15 + \newcommand{\ActionStdNext}{\ButtonDown{}} 16 + \newcommand{\ActionStdNextRepeat}{\ButtonDown{}} 17 + \newcommand{\ActionStdOk}{\ButtonSelect} 18 + \newcommand{\ActionStdCancel}{\ButtonLeft} 19 + \newcommand{\ActionStdContext}{Long \ButtonSelect{}} 20 + \newcommand{\ActionStdMenu}{\ButtonPower{}} 21 + \newcommand{\ActionStdUsbCharge}{\ButtonSelect{}} 22 + 23 + %Button actions, wps context 24 + \newcommand{\ActionWpsStop}{Long \ButtonSelect} 25 + \newcommand{\ActionWpsBrowse}{Long \ButtonUp} 26 + \newcommand{\ActionWpsVolUp}{\ButtonVolUp} 27 + \newcommand{\ActionWpsVolDown}{\ButtonVolDown} 28 + \newcommand{\ActionWpsSkipPrev}{\ButtonLeft} 29 + \newcommand{\ActionWpsSkipNext}{\ButtonRight} 30 + \newcommand{\ActionWpsSeekBack}{Long \ButtonLeft} 31 + \newcommand{\ActionWpsSeekFwd}{Long \ButtonRight} 32 + \newcommand{\ActionWpsPlay}{\ButtonSelect{}} 33 + \newcommand{\ActionWpsContext}{\ButtonDown} 34 + \newcommand{\ActionWpsMenu}{\ButtonUp} 35 + \newcommand{\ActionWpsQuickScreen}{Long \ButtonDown} 36 + \newcommand{\ActionWpsHotkey}{\ButtonVolUp{} and \ButtonVolDown{}} 37 + 38 + %Button actions, tree context 39 + \newcommand{\ActionTreeWps}{Long \ButtonLeft} 40 + \newcommand{\ActionTreeStop}{Long \ButtonSelect} 41 + \newcommand{\ActionTreeParentDirectory}{\ButtonLeft} 42 + \newcommand{\ActionTreeEnter}{\ButtonSelect} 43 + \newcommand{\ActionTreeHotkey}{\ButtonVolUp{} and \ButtonVolDown{}} 44 + 45 + %Button actions, YesNo context 46 + \newcommand{\ActionYesNoAccept}{\ButtonSelect{}} 47 + 48 + %Button actions, Virtual Keyboard Context 49 + \newcommand{\ActionKbdSelect}{\ButtonSelect} 50 + \newcommand{\ActionKbdUp}{\ButtonVolUp} 51 + \newcommand{\ActionKbdDown}{\ButtonVolDown} 52 + \newcommand{\ActionKbdLeft}{\ButtonLeft} 53 + \newcommand{\ActionKbdRight}{\ButtonRight} 54 + \newcommand{\ActionKbdPageFlip}{\ButtonPower{} and \ButtonSelect{}} 55 + \newcommand{\ActionKbdDone}{\ButtonUp} 56 + \newcommand{\ActionKbdAbort}{\ButtonPower} 57 + 58 + %Button actions, Pitch Screen context 59 + \newcommand{\ActionPsToggleMode}{\ButtonSelect} 60 + \newcommand{\ActionPsIncSmall}{\ButtonUp{}} 61 + \newcommand{\ActionPsDecSmall}{\ButtonDown{}} 62 + \newcommand{\ActionPsIncBig}{Long \ButtonUp} 63 + \newcommand{\ActionPsDecBig}{Long \ButtonDown} 64 + \newcommand{\ActionPsNudgeLeft}{\ButtonLeft} 65 + \newcommand{\ActionPsNudgeRight}{\ButtonRight} 66 + \newcommand{\ActionPsReset}{Long \ButtonSelect} 67 + \newcommand{\ActionPsExit}{\ButtonPower} 68 + \newcommand{\ActionPsFaster}{Long \ButtonRight} 69 + \newcommand{\ActionPsSlower}{Long \ButtonLeft} 70 + 71 + %Button actions, Bookmark screen context 72 + \newcommand{\ActionBmDelete}{\ButtonSelect} 73 + 74 + %Plugin lib actions 75 + \newcommand{\PluginUp}{\ButtonUp} 76 + \newcommand{\PluginDown}{\ButtonDown} 77 + \newcommand{\PluginLeft}{\ButtonLeft} 78 + \newcommand{\PluginRight}{\ButtonRight} 79 + \newcommand{\PluginSelect}{\ButtonSelect} 80 + \newcommand{\PluginSelectRepeat}{Long \ButtonSelect} 81 + \newcommand{\PluginCancel}{\ButtonPower} 82 + \newcommand{\PluginExit}{\ButtonPower}
+4
manual/rockbox_interface/main.tex
··· 520 520 }{\ButtonPower}% 521 521 \opt{COWON_D2_PAD} {\ButtonPower{}, then \ButtonHold}% 522 522 \opt{ONDA_VX777_PAD} {\ButtonPower{}}% 523 + \opt{AGPTEK_ROCKER_PAD}{\ButtonPower{}}% 523 524 & 524 525 \opt{HAVEREMOTEKEYMAP}{ 525 526 \opt{IRIVER_RC_H100_PAD}{\ButtonRCOn}% 526 527 \opt{IAUDIO_RC_PAD}{\ButtonRCPlay} 527 528 &} 529 + 528 530 Start Rockbox 529 531 \\ 530 532 ··· 536 538 ,GIGABEAT_PAD,MROBE100_PAD,GIGABEAT_S_PAD,sansaAMS,COWON_D2_PAD% 537 539 ,PBELL_VIBE500_PAD,ONDA_VX777_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD% 538 540 }{Long \ButtonPower}% 541 + \opt{AGPTEK_ROCKER_PAD}{Long \ButtonPower{}}% 539 542 & 540 543 \opt{HAVEREMOTEKEYMAP}{ 541 544 \opt{IRIVER_RC_H100_PAD}{Long \ButtonRCStop}% 542 545 \opt{IAUDIO_RC_PAD}{Long \ButtonRCPlay} 543 546 &} 547 + 544 548 Shutdown Rockbox 545 549 \\ 546 550 \end{btnmap}
+1
tools/builds.pm
··· 420 420 'agptekrocker' => { 421 421 name => 'Agptek Rocker', 422 422 status => 2 423 + manualok => 1, # Remove once status moves to 3 423 424 }, 424 425 'xduoox3' => { 425 426 name => 'xDuoo X3',