Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

rbutil: Add erosqnative

- Give each brand its own entry, and make ranges
of OF versions correspond to hardware changes.
- Temporarily disabled target aigoerosq.
- Post-install hint enabled.
- Added pre-install hint function
- Added optional parameter themename, in case
the target name does not match the themesite name.
- Made Port Status (statusAsString()) only care about platform
string prior to first '.'
- Manual: Remove note that rbutil does not support this model

Issues:

- Cannot uninstall the bootloader - manual instructions are available

Change-Id: I574aad7943ea3d1e543e9449f68240446fec0709

authored by

Dana Conrad and committed by
Solomon Peachy
5d269237 f0c20855

+170 -12
+1 -1
manual/getting_started/installation.tex
··· 327 327 for you. However, should you encounter a problem, then the manual way is 328 328 still available to you.\\ 329 329 330 - \opt{gigabeats,fiiom3k,shanlingq1,erosqnative}{ 330 + \opt{gigabeats,fiiom3k,shanlingq1}{ 331 331 \note{The automated install is not yet available for the 332 332 \playerlongtype{}. For now you can use the manual method to install Rockbox. 333 333 Please still read the section on the automatic install as it explains
+30 -1
utils/rbutilqt/base/bootloaderinstallhelper.cpp
··· 97 97 return caps; 98 98 } 99 99 100 + //! @brief Return pre install hints string. 101 + //! @param model model string 102 + //! @return hints. 103 + QString BootloaderInstallHelper::preinstallHints(QString model) 104 + { 105 + bool hint = false; 106 + QString msg = QObject::tr("Before Bootloader installation begins, " 107 + "Please check the following:"); 108 + 109 + msg += "<ol>"; 110 + if(model.contains("erosqnative")) { 111 + hint = true; 112 + msg += QObject::tr("<li>Ensure your SD card is formatted as FAT. " 113 + "exFAT is <i>not</i> supported. You can reformat using the " 114 + "Original Firmware on your player if need be. It is located " 115 + "under (System Settings --> Reset --> Format TF Card).</li>" 116 + "<li>Please use a quality SD card from a reputable source. " 117 + "The SD cards that come bundled with players are often of " 118 + "substandard quality and may cause issues.</li>"); 119 + } 120 + msg += "</ol>"; 121 + 122 + if(hint) 123 + return msg; 124 + else 125 + return QString(); 126 + } 127 + 100 128 101 129 //! @brief Return post install hints string. 102 130 //! @param model model string ··· 114 142 } 115 143 if(model == "iriverh100" || model == "iriverh120" || model == "iriverh300" 116 144 || model == "ondavx747" || model == "agptekrocker" 117 - || model == "xduoox3" || model == "xduoox3ii" || model == "xduoox20") { 145 + || model == "xduoox3" || model == "xduoox3ii" || model == "xduoox20" 146 + || model.contains("erosqnative")) { 118 147 hint = true; 119 148 msg += QObject::tr("<li>Reboot your player into the original firmware.</li>" 120 149 "<li>Perform a firmware upgrade using the update functionality "
+1
utils/rbutilqt/base/bootloaderinstallhelper.h
··· 30 30 public: 31 31 static BootloaderInstallBase* createBootloaderInstaller(QObject* parent, QString type); 32 32 static BootloaderInstallBase::Capabilities bootloaderInstallerCapabilities(QObject *parent, QString type); 33 + static QString preinstallHints(QString model); 33 34 static QString postinstallHints(QString model); 34 35 }; 35 36
+2 -1
utils/rbutilqt/base/playerbuildinfo.cpp
··· 67 67 { PlayerBuildInfo::Encoder, ":target:/encoder" }, 68 68 { PlayerBuildInfo::Brand, ":target:/brand" }, 69 69 { PlayerBuildInfo::PlayerPicture, ":target:/playerpic" }, 70 + { PlayerBuildInfo::ThemeName, ":target:/themename" }, 70 71 { PlayerBuildInfo::TargetNamesAll, "_targets/all" }, 71 72 { PlayerBuildInfo::TargetNamesEnabled, "_targets/enabled" }, 72 73 { PlayerBuildInfo::LanguageInfo, "languages/:target:" }, ··· 332 333 QString PlayerBuildInfo::statusAsString(QString platform) 333 334 { 334 335 QString result; 335 - switch(value(BuildStatus, platform).toInt()) 336 + switch(value(BuildStatus, platform.split('.').at(0)).toInt()) 336 337 { 337 338 case STATUS_RETIRED: 338 339 result = tr("Stable (Retired)");
+1
utils/rbutilqt/base/playerbuildinfo.h
··· 67 67 Encoder, 68 68 Brand, 69 69 PlayerPicture, 70 + ThemeName, 70 71 71 72 TargetNamesAll, 72 73 TargetNamesEnabled,
+3
utils/rbutilqt/changelog.txt
··· 48 48 * Improve responsiveness on install / uninstall. 49 49 * Enable Themes installation if themes are selected. 50 50 51 + Version 1.5.2 52 + * Add support for Native Port to AIGO Eros Q and various clones 53 + * Make Hosted Port to AIGO Eros Q and various clones "disabled" (can be reenabled by checking the "show disabled targets" checkbox)
+11
utils/rbutilqt/gui/selectiveinstallwidget.cpp
··· 409 409 } 410 410 } 411 411 412 + void SelectiveInstallWidget::installBootloaderHints() 413 + { 414 + if(ui.bootloaderCheckbox->isChecked()) { 415 + QString msg = BootloaderInstallHelper::preinstallHints( 416 + RbSettings::value(RbSettings::Platform).toString()); 417 + if(!msg.isEmpty()) { 418 + QMessageBox::information(this, tr("Manual steps required"), msg); 419 + } 420 + } 421 + } 422 + 412 423 void SelectiveInstallWidget::installBootloaderPost() 413 424 { 414 425 // don't do anything if no bootloader install has been done.
+1
utils/rbutilqt/gui/selectiveinstallwidget.h
··· 31 31 Q_OBJECT 32 32 public: 33 33 SelectiveInstallWidget(QWidget* parent = nullptr); 34 + void installBootloaderHints(void); 34 35 35 36 public slots: 36 37 void updateVersion(void);
+111 -6
utils/rbutilqt/rbutil.ini
··· 79 79 platform136=aigoerosq.hifiwalkerh2 80 80 platform137=aigoerosq.hifiwalkerh2.v13 81 81 platform138=aigoerosq.surfansf20 82 + ; default erosqnative should be most recent hardware revision 83 + platform139=erosqnative.hw3 84 + platform140=erosqnative.hw3.hifiwalkerh2 85 + platform141=erosqnative.hw3.surfansf20 86 + platform142=erosqnative.hw1hw2 87 + platform143=erosqnative.hw1hw2.hifiwalkerh2 88 + platform144=erosqnative.hw1hw2.hifiwalkerh2.v13 89 + platform145=erosqnative.hw1hw2.surfansf20 82 90 83 91 ; devices sections 84 92 ; ··· 784 792 encoder=rbspeex 785 793 786 794 [aigoerosq] 787 - name="AIGO Eros Q" 795 + name="AIGO Eros Q (Hosted)" 788 796 bootloadermethod=bspatch 789 797 bootloadername=/aigo/EROSQ-v18.bsdiff 790 798 bootloaderfile=/update.upt ··· 795 803 usberror= 796 804 playerpic=aigoerosq 797 805 encoder=rbspeex 806 + status=disabled 798 807 799 808 [aigoerosq.k] 800 - name="AIGO Eros K" 809 + name="AIGO Eros K (Hosted)" 801 810 bootloadermethod=bspatch 802 811 bootloadername=/aigo/EROSK-v13.bsdiff 803 812 bootloaderfile=/update.upt ··· 808 817 usberror= 809 818 playerpic=aigoerosk 810 819 encoder=rbspeex 820 + status=disabled 811 821 812 822 [aigoerosq.agptekh3] 813 - name="AGPTek H3" 823 + name="AGPTek H3 (Hosted)" 814 824 bootloadermethod=bspatch 815 825 bootloadername=/agptek/H3-20180905.bsdiff 816 826 bootloaderfile=/update.upt ··· 821 831 usberror= 822 832 playerpic=aigoerosk 823 833 encoder=rbspeex 834 + status=disabled 824 835 825 836 [aigoerosq.surfansf20] 826 - name="Surfans F20" 837 + name="Surfans F20 (Hosted)" 827 838 bootloadermethod=bspatch 828 839 bootloadername=/surfans/F20-v22.bsdiff 829 840 bootloaderfile=/update.upt ··· 834 845 usberror= 835 846 playerpic=aigoerosk 836 847 encoder=rbspeex 848 + status=disabled 837 849 838 850 [aigoerosq.hifiwalkerh2] 839 - name="HIFI WALKER H2" 851 + name="HIFI WALKER H2 (Hosted)" 840 852 bootloadermethod=bspatch 841 853 bootloadername=/hifiwalker/H2-v12.bsdiff 842 854 bootloaderfile=/update.upt ··· 847 859 usberror= 848 860 playerpic=aigoerosq 849 861 encoder=rbspeex 862 + status=disabled 850 863 851 864 [aigoerosq.hifiwalkerh2.v13] 852 - name="HIFI WALKER H2 (v1.3+)" 865 + name="HIFI WALKER H2 (v1.3+) (Hosted)" 853 866 bootloadermethod=file 854 867 bootloadername=/hifiwalker/H2-v13-patched.upt 855 868 bootloaderfile=/update.upt ··· 858 871 usbid=0xc5020023 ; shared across EROS Q / K series 859 872 usberror= 860 873 playerpic=aigoerosq 874 + encoder=rbspeex 875 + status=disabled 876 + 877 + [erosqnative.hw3] 878 + name="AIGO Eros Q V2.1" 879 + bootloadermethod=file 880 + bootloadername=/aigo/native/erosqnative-hw3-erosq.upt 881 + bootloaderfile=/update.upt 882 + manualname=erosqnative 883 + themename=aigoerosq 884 + brand=AIGO/EROS 885 + usbid=0xc5020023 ; shared across EROS Q / K series 886 + usberror= 887 + playerpic=aigoerosq 888 + encoder=rbspeex 889 + 890 + [erosqnative.hw3.hifiwalkerh2] 891 + name="HIFI WALKER H2 V1.7 - V1.8" 892 + bootloadermethod=file 893 + bootloadername=/aigo/native/erosqnative-hw3-erosq.upt 894 + bootloaderfile=/update.upt 895 + manualname=erosqnative 896 + themename=aigoerosq 897 + brand=HIFI WALKER 898 + usbid=0xc5020023 ; shared across EROS Q / K series 899 + usberror= 900 + playerpic=aigoerosq 901 + encoder=rbspeex 902 + 903 + [erosqnative.hw3.surfansf20] 904 + name="Surfans F20 V3.0 - V3.3" 905 + bootloadermethod=file 906 + bootloadername=/aigo/native/erosqnative-hw3-erosq.upt 907 + bootloaderfile=/update.upt 908 + manualname=erosqnative 909 + themename=aigoerosq 910 + brand=Surfans 911 + usbid=0xc5020023 ; shared across EROS Q / K series 912 + usberror= 913 + playerpic=aigoerosk 914 + encoder=rbspeex 915 + 916 + [erosqnative.hw1hw2] 917 + name="AIGO Eros Q V1.8 - V2.0" 918 + bootloadermethod=file 919 + bootloadername=/aigo/native/erosqnative-hw1hw2-erosq.upt 920 + bootloaderfile=/update.upt 921 + manualname=erosqnative 922 + themename=aigoerosq 923 + brand=AIGO/EROS 924 + usbid=0xc5020023 ; shared across EROS Q / K series 925 + usberror= 926 + playerpic=aigoerosq 927 + encoder=rbspeex 928 + 929 + [erosqnative.hw1hw2.hifiwalkerh2] 930 + name="HIFI WALKER H2 V1.1 - V1.2, V1.4 - V1.6" 931 + bootloadermethod=file 932 + bootloadername=/aigo/native/erosqnative-hw1hw2-erosq.upt 933 + bootloaderfile=/update.upt 934 + manualname=erosqnative 935 + themename=aigoerosq 936 + brand=HIFI WALKER 937 + usbid=0xc5020023 ; shared across EROS Q / K series 938 + usberror= 939 + playerpic=aigoerosq 940 + encoder=rbspeex 941 + 942 + [erosqnative.hw1hw2.hifiwalkerh2.v13] 943 + name="HIFI WALKER H2 V1.3" 944 + bootloadermethod=file 945 + bootloadername=/aigo/native/erosqnative-hw1hw2-eros_h2.upt 946 + bootloaderfile=/update.upt 947 + manualname=erosqnative 948 + themename=aigoerosq 949 + brand=HIFI WALKER 950 + usbid=0xc5020023 ; shared across EROS Q / K series 951 + usberror= 952 + playerpic=aigoerosq 953 + encoder=rbspeex 954 + 955 + [erosqnative.hw1hw2.surfansf20] 956 + name="Surfans F20 V2.2 - V2.7" 957 + bootloadermethod=file 958 + bootloadername=/aigo/native/erosqnative-hw1hw2-erosq.upt 959 + bootloaderfile=/update.upt 960 + manualname=erosqnative 961 + themename=aigoerosq 962 + brand=Surfans 963 + usbid=0xc5020023 ; shared across EROS Q / K series 964 + usberror= 965 + playerpic=aigoerosk 861 966 encoder=rbspeex 862 967 863 968 ; incompatible devices sections
+1
utils/rbutilqt/rbutilqt.cpp
··· 366 366 { 367 367 Config *cw = new Config(this); 368 368 connect(cw, &Config::settingsUpdated, this, &RbUtilQt::updateSettings); 369 + connect(cw, &Config::settingsUpdated, selectiveinstallwidget, &SelectiveInstallWidget::installBootloaderHints); 369 370 cw->show(); 370 371 } 371 372
+7 -2
utils/rbutilqt/themesinstallwindow.cpp
··· 85 85 themesInfo.close(); 86 86 87 87 QString infoUrl = PlayerBuildInfo::instance()->value(PlayerBuildInfo::ThemesInfoUrl).toString(); 88 - infoUrl.replace("%TARGET%", 89 - RbSettings::value(RbSettings::CurrentPlatform).toString().split(".").at(0)); 88 + if (PlayerBuildInfo::instance()->value(PlayerBuildInfo::ThemeName).toString() != "") { 89 + infoUrl.replace("%TARGET%", 90 + PlayerBuildInfo::instance()->value(PlayerBuildInfo::ThemeName).toString()); 91 + } else { 92 + infoUrl.replace("%TARGET%", 93 + RbSettings::value(RbSettings::CurrentPlatform).toString().split(".").at(0)); 94 + } 90 95 infoUrl.replace("%REVISION%", installInfo.revision()); 91 96 infoUrl.replace("%RELEASE%", installInfo.release()); 92 97 infoUrl.replace("%RBUTILVER%", VERSION);
+1 -1
utils/rbutilqt/version.h
··· 34 34 // combined differently. 35 35 #define VERSION_MAJOR 1 36 36 #define VERSION_MINOR 5 37 - #define VERSION_MICRO 1 37 + #define VERSION_MICRO 2 38 38 #define VERSION_PATCH 0 39 39 #define STR(x) #x 40 40 #define VERSIONSTRING(a, b, c) STR(a) "." STR(b) "." STR(c)