Commit graph

369 commits

Author SHA1 Message Date
Dominik Riebeling
78a01db47c rbutil: Get rid of configure_modelname in rbutil.ini.
The target selection string used for configure is the same as the
internally used player string, minus the (optional) variant suffix.
Don't duplicate things, simply strip the suffix.

Change-Id: Ic34bd5f933fab0d837adce0d0ae9c403868d720d
2020-12-03 22:25:12 +01:00
Dominik Riebeling
8765650fe0 rbutil: Remove buildserver modelname string.
This isn't needed anymore, and the only player it was actually used for
were the 8MB modded Archos ones, for which the usage was broken.

Change-Id: I2aa235113be2e6ae88973711bd8ee4734cbc266a
2020-11-27 20:54:03 +01:00
Dominik Riebeling
3ee6ce956f rbutil: Remove duplicated enum entry.
SystemInfo::PlatformName and Name actually retrieve the same value.
That's not usefule, so remove one of both.

Change-Id: I8ee429f099588e0e1e8129302542cd0f6f836203
2020-11-26 22:41:51 +01:00
Dominik Riebeling
9a52991bbd rbutil: Add support for installing daily builds.
Change-Id: If6618a4b2b1b0a718374ed8bac6976c4775947e1
2020-11-23 20:44:46 +01:00
Dominik Riebeling
f598ef9c27 rbutil: Add support for installing daily builds.
Change-Id: If2bb23adcbd4a441f18846515c609118da8c5b5e
2020-11-22 18:30:01 +01:00
Dominik Riebeling
ba2bbd60bd rbutil: Move Manual installation to main tab.
The manual tab didn't show the manual, so it's clearer to have that as
part of the main tab.

Also fixes the wrong manual getting downloaded for releases.

Change-Id: I5d4a287102af037f94f0de8464e025d9ff5f76ed
2020-11-22 14:43:01 +01:00
Dominik Riebeling
c2dacf6736 rbutil: Add voice installation to main widget.
Add checkbox for installing the prerendered voice file to the main
install widget. Current limitations:
- only english for now. The available languages are available from the
  build server but are not yet taken into account.
- only for releases. This is the same limitations we had before. We do
  have voices for daily builds, but that requires adding daily builds
  again (those have been removed some time back.)
- Old voice installation dialog still present.

Change-Id: Ia6443b0f15365196df86cc1b64d5e043dff70c4c
2020-11-22 14:43:01 +01:00
Dominik Riebeling
ad37655687 rbutil: Use pattern replacement for SystemInfo build type.
Use pattern replacement for lookup instead of expanded values. Will
allow simplifying things later for better handling of different build
types.

Change-Id: Iaad67a6c8654d27c3206cf95a379acab169565bc
2020-11-22 14:43:01 +01:00
Dominik Riebeling
efacce58eb rbutil: Modernize connect() to new pointer-to-member syntax.
Change-Id: I6bb86e34438eef10813f0d19e910599156a876e6
2020-11-21 10:21:31 +01:00
Dominik Riebeling
12764781c6 rbutil: Modernize code to use C++11 nullptr.
Change-Id: I112cf95122a896cdb30a823b4c1f49831273dc7e
2020-11-19 21:32:41 +01:00
Dominik Riebeling
f608de723c rbutil: Convert ServerInfo to singleton.
Change-Id: I29d94eb6bae084754e5e3f337c41de8354ba123c
2020-11-19 21:32:41 +01:00
Dominik Riebeling
f8fb4274ee rbutil: Rework server info data handling.
Remove map that isn't used anymore.

Change-Id: I771a98c9b64f3dac36e71041c566b89fbea51e06
2020-11-19 20:53:32 +01:00
Dominik Riebeling
dec5421ca2 rbutil: Rework server info data handling.
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
2020-11-15 21:55:34 +01:00
Dominik Riebeling
af766ae10e rbutil: Fix style warnings.
Change-Id: I1ddcff60488b2926206309c9ef62f5f9d330da33
2020-11-15 21:25:51 +01:00
Dominik Riebeling
6c2780e709 rbutil: Rework server info data handling.
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
2020-11-15 21:24:51 +01:00
Dominik Riebeling
9bb60b7d85 rbutil: Rework server info data handling.
Allow extracting release candidate version even if no URL is present.
Avoids a special case for version handling.

Change-Id: If496d30059c3181899ab9337a35a07b39eaef52e
2020-11-15 21:06:33 +01:00
Dominik Riebeling
104ff3433a rbutil: Rework server info data handling.
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
2020-11-15 21:01:36 +01:00
Dominik Riebeling
be1be797b2 rbutil: Rework player configuration.
Rename config entries and remove now unnecessary default value handling.

Change-Id: I5c60ef9769fc01f45f45290dafffb80c1962e674
2020-11-14 16:42:29 +01:00
Dominik Riebeling
2509def164 rbutil: Rework player configuration.
- 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
2020-11-14 16:42:29 +01:00
Dominik Riebeling
440083af87 rbutil: Show HTTP error string on download failure.
Also show the error string, which usually is more helpful than just
showing the HTTP error code.

Change-Id: I0652d240147c0f64a7a9ea58765af9eb197a03b1
2020-11-14 16:42:29 +01:00
Dominik Riebeling
ba34b0fac3 rbutil: Modernize HttpGet implementation.
- Change signal-slot connections to new style, and fix renamed signal
  for Qt6.
- Make more use of RAII.

Change-Id: I14e52eb6bfdbb89bccafb33e4988af25b5d82713
2020-11-07 12:50:33 +01:00
Dominik Riebeling
6bc737cb1d rbutil: Enable use of libmp3lame on macOS.
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
2020-11-06 21:13:39 +01:00
Dominik Riebeling
07604d62ab rbutil: Command line fallback on libmp3lame failure.
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
2020-11-06 21:13:32 +01:00
Dominik Riebeling
f9ba96cade rbutil: Remove unneeded includes.
Change-Id: I20cde7201617481124905334e2adfb7f00f4fd21
2020-11-01 13:23:22 +01:00
Dominik Riebeling
1fa826738d rbutil: Simplify extenal encoder binary handling.
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
2020-11-01 13:23:22 +01:00
Dominik Riebeling
4594541b5f rbutil: Simplify search.
No need to get keys from the map to search a key, we can check directly.

Change-Id: Ia96286e441c3d03864bd7b152065576d26acad87
2020-10-29 21:28:28 +01:00
Dominik Riebeling
2d62f2d017 rbutil: More Qt6 compatibility.
Replace QProcess::pid() which has been replaced with
QProcess::processId() starting with Qt5.3 and removed from Qt6.

Change-Id: I9b2d38f8e490e2e4c0afb5cbb409f6a17a98efbd
2020-10-29 21:28:28 +01:00
Dominik Riebeling
74258fca31 rbutil: Replace sysinfo filesystem cluster size with type.
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
2020-10-04 11:31:30 +02:00
Dominik Riebeling
728299e322 rbutil: Fix unnecessary implicit cast.
Change-Id: Id05220a700eb826d38023575b02f568b1c1a7580
2020-09-30 21:12:50 +02:00
Dominik Riebeling
c8f79d31b1 rbutil: Add postinstall hint for rocker and xduoo player.
Change-Id: I4f679228a354019d830afbbd402db566abd743d3
2020-09-30 21:12:50 +02:00
Dominik Riebeling
201e9bcde8 rbutil: Fix some minor issues found by clazy.
Change-Id: I0e63df09caf959dcb325c6ad2297c4348388a831
2020-09-27 10:57:58 +02:00
Dominik Riebeling
f1f72ff8df rbutil: Code cleanup.
- 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
2020-09-27 09:28:21 +02:00
Dominik Riebeling
0b5f0b9284 rbutil: Fix Xduoo bootloader installation.
- 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
2020-08-23 16:55:28 +02:00
Dominik Riebeling
2aecb3b9ea rbutil: Use a non-zero default value for status.
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
2020-08-21 21:31:44 +02:00
Dominik Riebeling
cd352d9052 rbutil: QString::split() changed with Qt 5.14.
Avoid a deprecated warning, and make it compile with Qt6, which removes
the old version.

Change-Id: Iaad10660a0c8bda9d7aa52ee250489ed135bd8a8
2020-08-16 12:15:14 +02:00
Dominik Riebeling
7c9a7ed406 rbutil: Initial Qt6 support.
Qt6 replaces QTextStream::setCodec() with QTextStream::setEncoding().

Change-Id: I4cfa90d89f54ad49d061ad859585a2a74b5f9786
2020-08-16 12:14:02 +02:00
Dominik Riebeling
9cd37337de rbutil: Fix various warnings.
Replace use of deprecated APIs with their replacements, and fix some
other minor warnings.

Change-Id: I3f63e0bd91b96ce86ce39c087fe0040fc226d16d
2020-08-16 12:13:28 +02:00
Dominik Riebeling
d7bbf8a477 rbutil: Use QElapsedTimer for measuring time.
The timing functions in QTime are deprecated and have been removed for
Qt6. Use QElapsedTimer, which is the replacement for this.

Change-Id: Ib262753fe99aff83f1952337eb64cd44439cafdd
2020-08-07 22:18:41 +02:00
Dominik Riebeling
2fe046c380 rbutil: Drop support for libusb0.
libusb1 is maintained and stable since years. No need to keep the old
implementation around.

Change-Id: I25a4c5643fc9a88eaad3e8f2f7e1dd705be080e0
2020-08-07 22:18:41 +02:00
Dominik Riebeling
feb028ac37 rbutil: Fix deprecation warnings.
Change-Id: Ia7e24a5fee2b6e858abcec318d13775ad23b4469
2020-08-06 20:50:52 +02:00
Dominik Riebeling
7c5b9a4049 rbutil: Fix Qt deprecated warnings.
Change-Id: I0a5c137704f07e8448c3a09624228a4f417e6634
2020-08-06 20:43:15 +02:00
Dominik Riebeling
46d06f71dc rbutil: Remove unnecessary (and implicit) type conversion. 2020-07-26 09:56:20 +02:00
Solomon Peachy
f6060d62d9 rbutil: Add support for the xDuoo X3, X3ii, X20, and AGPTek Rocker.
* 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
2020-07-20 18:40:24 +00:00
Solomon Peachy
fc4af2062b rbutil: Support 'espeak-ng' and 'mimic' TTS engines
Change-Id: Ibf6e46254f42b28800351fdb303539b2ec13d422
2020-07-19 19:32:43 +00:00
Solomon Peachy
66d7c21cde rbutil: Handle the new Retired target status.
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
2020-07-14 13:03:06 +00:00
Franklin Wei
26b55ba5f0 rbutil: extend game file installation
RbUtil will now install freely distributable data files for Duke Nukem 3D,
Quake, SGT-Puzzles (fonts), Wolfenstein 3-D, and Another World. Currently
the urls point to my personal server, pending upload to the main download
server.

Change-Id: I2806fd1ad7e9bb0fcb7aee5444840708e6e63032
2019-10-31 19:03:30 -04:00
Cástor Muñoz
e43ef1f3e7 rbutil: add support for iPod Classic 6G bootloader
Change-Id: I0e237a81098a2d4df8d9f5d6deaaab3863a84fc6
2019-10-28 00:09:35 -04:00
Cástor Muñoz
c353bef3d1 rbutil: add function to suspend/resume processes
Change-Id: I99cfaaa4f853930cea88184496e91589b42859f3
2019-10-28 00:09:35 -04:00
Cástor Muñoz
40ce2b4133 rbutil: add abort signal for bootloader install/uninstall
During the bootloader install/uninstall process, a signal
is emitted when "Abort" button is pressed, the installers
can attach this signal and cancel the process.

Change-Id: I7f297b8031d7a2d93da0022081aaef03ef041baf
2016-08-15 20:14:25 +02:00
Cástor Muñoz
e4af97300d rbutil: show progress bar during bootloader uninstall
Useful for targets that needs multi-stage uninstall. On current
targets (with Uninstall capability) the progress is updated to
100% when bootloader uninstall is successfully finished.

Change-Id: I61be1c4f5cfc2d2f35fa5005962be9703888447d
2016-08-15 20:12:32 +02:00