Return status as int, not as string, and provide a separate function for
converting to string. This allows to filter based on the actual status,
not a (localized) status string, which is more robust.
Fix a regression that made players with missing status value show up as
retired.
Change-Id: I15f83ae0df484199b1b3b5b95069db8b4d425987
Allow constructing release candidate URL from configuration the same way
we construct the URL for releases.
Note that the server path used does not exist, taken from old release
candidate builds not available anymore.
Change-Id: I7332f08df05ed39724b4900556aaa1f5e0ba463b
Allow extracting release candidate version even if no URL is present.
Avoids a special case for version handling.
Change-Id: If496d30059c3181899ab9337a35a07b39eaef52e
Don't create our own in-memory map with server data. Instead use the
configuration file retrieved from the download server, and do the
resolve / replacement on the fly.
Simplifies things, and prepares for cleaner handling for different build
types.
Change-Id: Ifd027b21486e402fda3df9c2f7a30264651f733d
- Don't construct the URL directly. The ServerInfo already has it, use
that instead.
- Don't manually construct the output filename. ZipInstaller will use
the server filename automatically.
Change-Id: Ib44616daf5efc95b238418b6e699ccd56c40b011
- Further extend stubs, pull in less non-stubbed implementations.
- Change some test URLs to make sure the code actually uses the correct
ones.
Change-Id: Iac1d683748b5834e61aa4974d1b893b77f90b517
- Split internal configuration into player specific and common parts.
Always require passing the player for player specific data instead of
implicitly assuming the currently selected one; only use the currently
selected one if the player name is explicitly passed as empty.
- Similarly adjust handling of server info data; prepare for splitting
into build type specific values so the naming becomes cleaner.
Change-Id: I894e694f83bd9fe2d22ad46b3f8f7df3e2c68033
Replace the Speex license tab in the about dialog with one that lists
all used libraries and their respective licenses, including Speex.
Previously only Speex required including the license in binary
distribution; the recently added bspatch also wants this. Show
the license for all used libraries so we can more easily add new ones in
the future.
Change-Id: Ic8b403f8a2a05d0f1734ddf092782b85ddfa5ed9
- Change signal-slot connections to new style, and fix renamed signal
for Qt6.
- Make more use of RAII.
Change-Id: I14e52eb6bfdbb89bccafb33e4988af25b5d82713
Since we're now automatically falling back to using the command line
lame if we cannot load the library we can enable it on macOS as well.
Change-Id: I0df1bb4a011d019a340fe54f1db6fc4645f9081b
When loading libmp3lame fails fall back to using the command line lame.
Avoids an unresolvable error when trying to create voice / talk files
for Archos.
Modernize code a bit.
Change-Id: I2e8fd5786fda972cb24adbcb9ced531e08093b4f
We only use lame as external encoder for voice on the Archos targets.
Simplify the implementation by removing (unused) handling of (potential)
other encoders.
Change-Id: I175cc21868fb7ef9524247d78cfb7bdf65e9e162
Add target to build a dmg containing Rockbox Utility, ipodpatcher and
sansapatcher as single app bundle, and create a more fancy dmg using
dmgbuild.
Change-Id: Idb36776c05f820afc98efecf45a011dc75a13c31
Qt6 doesn't contain QTextCodec anymore but instead provides it in the
optional core5compat module.
Change-Id: Ia45985a32df3826faf041981b8935c839946e5c9
Replace QProcess::pid() which has been replaced with
QProcess::processId() starting with Qt5.3 and removed from Qt6.
Change-Id: I9b2d38f8e490e2e4c0afb5cbb409f6a17a98efbd
When cross compiling for Windows (at least mxe) links bz2, causing both
our copy and the system one getting linked, resulting in symbol clashes.
Make sure we use the same name as the system one, so the linker can pick
one of both.
Change-Id: I16213a20f48d4e192cd0b756931f9ccb449fd1c0
With Qt4 zlib was linked implicitly (and explicitly linking it caused
errors). This was a Qt issue that has been resolved with (at least
current) Qt5, now we need to explicitly link zlib on native Windows.
Change-Id: Ia5a6bdc83a39f6f5629c34ed835d2272a887f161
- When make on Windows finds sh.exe it will try to use that. We use
cmd.exe calls when detecting Windows, so make sure we use cmd.exe as
shell.
- Add missing Windows compatibility to tomcrypt Makefile.
Change-Id: Iaef133ca27472a5ddf449174d540983f15c66aea
On macOS we pass the full path to the compiler. On recent versions this
causes the compiler to not find its SDK path, this needs to get passed
via the isysroot option.
Change-Id: Iea2820e1755cc80e12691119dfa31d70938ea511
Replace the use of crypto++ with tomcrypt, which is much smaller and C.
This gets rid of various build issues for systems that don't ship
crypo++ (i.e. everything except Linux.)
Change-Id: Ic0799e17b94935c71b14765cf9a2a7ea2b0adc7a
libtomcrypt uses a macro "byte" which conflicts with this type. Since
the underlying type is uint8_t and there's no real benefit from using a
custom type use the actual underlying type.
Change-Id: I982c9b8bdcb657b99fa645a5235303af7afda25b
globalX() / globalY() are deprecated for Qt6. Use globalPos() instead,
which gives the same result.
Change-Id: Ie0b733b88107e971de9c3e8c42434d7d47a65b76
To use ipodpatcher and sansapatcher as external binaries (so we can do
proper permission elevation) we need to build them using qmake as part
of the main build. Add a subdirs template based project file to do that,
and project files for the patchers.
Move Linux appimage rules one level up, since it needs to include the
patchers as well.
Change-Id: I63ee59372668f4319402df65a77a6f04521d133b
The file encoding was messed up long ago. Since the translation wasn't
updated since reimport the original patch (FS#8407).
Change-Id: I93e12fbde4f63926d18df382c0254465b11750cd
The cluster size isn't too useful. Show the filesystem type instead,
since that makes it easier to identify a device not showing up because
of its filesystem type.
Change-Id: I8f58ea23ab90808ab0c37978b211a5470ed8bb8e
- Fix naming.
- Remove non-functional functionality to set cache folder.
- Use URL filename part when copying the file if target filename is not set.
Change-Id: Ic9af59300f06d4309c6a4c9542d4f6079dd841c3
- #define all exit codes and use them for indicating further errors.
- only enable interactive (i.e. wait for keypress before exiting) mode
when built with bootloaders.
Change-Id: I6dcbc51226aadc4ab640bf260b6331ddbd4773cc
- #define all exit codes used so they can be checked more easily.
- Use exit codes to indicate more error states.
Change-Id: I052962e3457a7cd5eca8b70256889d25b1b4b3aa
- Don't try to unzip the bootloader file if we're actually looking for a
zip file.
- Fix wrong bootloader file name for X3.
- There's no QThread::terminated() signal, don't connect it.
Change-Id: Iebfcc61d644c8443b60d9b37f4932d7b46098465
When resolving the status values downloaded from the server use a
negative value as default. Since 0 is the default in QSettings but now
considered as "retired" a missing status value would make that target
appear as retired instead of unknown status.
Change-Id: I23567413c5c3d5828fca7f9c5a29e2037e8614cf
Qt6 beta doesn't include the Multimedia module. Allow building without,
and disable on Qt6 for now.
Change-Id: Ie2ad25c81d9c62c8c6e8efaf8309b3600afce1d0
Update to the most recent git version.
This changes the folder structure and renames some classes to follow
upstream.
Restore MSVC static link fix, and fix wrong variable in qmake project file.
Change-Id: I874bb9ed60e37af09a841988e771fd341414d145
The timing functions in QTime are deprecated and have been removed for
Qt6. Use QElapsedTimer, which is the replacement for this.
Change-Id: Ib262753fe99aff83f1952337eb64cd44439cafdd
When building for Windows (at least using mxe) bzip2 clashes with
existing symbols. This seems to be a similar issue as with zlib. Don't
link it explicitly, so the linker uses the existing symbols.
Fixes building for Windows.
Change-Id: I7a1e980542961f3e7f8febedd6c0b8f04a6f6ec0
QLocale::setDefault() shouldn't be called with a QString but a QLocale
instead. Calling it with a string doesn't work with Qt6 anymore.
Change-Id: I08826095cda8563e4ae9b83d08144da2d0d7f3c7
Since people seem to have problems finding the troubleshoot items in a
submenu move them one level up. The submenu isn't too useful anyway.
Change-Id: Ic047f3913a8a13b038580d497260de55fe2e1298
* All include full bootloader installation!
* X20 lack USB VID/PIDs so cannot be autodetected.
* Benjie T6 (variant/OEM of the Rocker) USB VID/PID unknown.
Change-Id: Ia823de072c83506d36410ec436be15a0caf97151
It's considerd stable, but does not have dev builds any more
So don't display download options to get RC or dev builds.
Change-Id: I68ed6adc2dd72d54464d3ff8d8e8df28088f8020
Also add the version string to the folder used for creating the dmg,
since that will appear when mounting it.
Change-Id: Ibf5918bf51ae37082d7b2ca5baf919319f6e568d
Build the "appimage" target to create an AppImage file from the binary.
The needed linuxdeploy tools will be downloaded first.
Change-Id: Ia1e8977ea7689fb547c5d1a6abe6448a94f1b1af
To be used by packagers, and eventually AppImage.
The logo file referenced is docs/logo/rockbox-clef.svg.
Change-Id: Id2606f6c699d0ef612caaf125aa2a5d0e88bdecc
This is to enable binary patching of Hiby-based firmware files
Note that noting in rbutil uses this yet.
Change-Id: I03ac824dd7402d508eb4e857ad78f184eb0d0243
This fixes two of them: not finding the lrelease binary and not
compiling for C++11 (which is required by some Qt headers now).
Change-Id: I3c0eb3c2002c3ce7a2eeea877db5fa6942c9b2ba
This fixes a couple of issues when cross-compiling for windows:
- lib builds (i.e. mks5lboot) were overriding the cross CC/CXX with the
native CC, producing incompatible binaries.
- Qt made the accessibility plugin part of the core library, so we no
longer need to import it.
Change-Id: I9d884aee62dfa51d3624a3fa9b99c23b3b375f20