Commit graph

35257 commits

Author SHA1 Message Date
Dominik Riebeling
7ae98845f0 rbutil: Change style to Fusion on Windows.
The default UI style has some issues with HiDPI support. Use the Qt
built-in Fusion instead. This looks somewhat different to the native
Windows UI, but works better on HiDPI displays.

Change-Id: I25f1b038047a11da7492dfbfa1425874f070ab0b
2020-12-14 18:29:55 +01:00
Dominik Riebeling
f3371c1d78 rbutil: Improve HiDPI support.
Since we embed a manifest file on Windows we also need to indicate HiDPI
support in it. Otherwise it will only work partially.

Change-Id: Ie330950a476047982a8f63ec764e5cd352411294
2020-12-14 18:29:26 +01:00
Michael Giacomelli
64cc9aad73 Do not resize images greater than 32767 pixels in either dimension
Internally, the resizing code uses the rockbox dim structure, which uses signed shorts.

Change-Id: Ic8850e8563a9d8c0cb3cf8269e2576be9e42b45b
2020-12-14 04:14:45 +00:00
Solomon Peachy
56f4ec9668 voices: Enable Russian in the nightly voice builds.
It's using espeak-ng's default 'zle/ru' voice, which have to do until
someone suggests better settings or engine.

Change-Id: I7b105c6a5d9f73131c6e649e81635138f350f48e
2020-12-13 20:46:49 -05:00
Solomon Peachy
da1fbb6d1a skinengine: Make sure logical IF operator doesn't compare a garbage value
Change-Id: I125bea3c2659326b92eec027cddf0d041f10ebda
2020-12-13 19:21:13 -05:00
Solomon Peachy
b6a16949e8 playlist: Fix out-of-bounds array access when the directory is blank
Change-Id: Ibf59f8191f1f26cf97c5d3ffcb5e3e4c7304bca0
2020-12-13 19:20:38 -05:00
Solomon Peachy
ce7731527a announce_status: Fix incorrect function prototype definition
Change-Id: I053b4e3df194ac9dd2172249c0f4902d31a6d412
2020-12-13 19:19:33 -05:00
Solomon Peachy
72e9b61061 manual: Replace all rockbox.org urls with https.
In the process, utilize the \download{} and \wikilink{} commands instead
of direct URLs.

Change-Id: Iad38c15c7b9cec95b6c011fd0dbdbb3326985bbc
2020-12-12 23:17:04 -05:00
Solomon Peachy
b459ded533 updatelang: Fix a couple of typos in the output used by the translate site
Change-Id: I13fe3e106c128dbc646906b5cb2c9702feb6bda2
2020-12-12 22:26:35 -05:00
Solomon Peachy
55d301184d Get rid of a _long_ obsolete tool.
Change-Id: I09474927a13c6ff51b667c80ac99af1d1a65fa07
2020-12-12 22:10:39 -05:00
Solomon Peachy
f7005eb4e4 voice: Generate Dutch voice file now that the translation is complete
Change-Id: Ic5fd45002e94f99d4557fca9ffa75df7fa6f20d8
2020-12-12 13:43:13 -05:00
Solomon Peachy
afad2c1dcc FS#13261: Update Dutch Translation (Issa Beganović)
Change-Id: Ie8c6c5dc0d70bf214017590789a543faa2f5bc9f
2020-12-12 13:43:10 -05:00
Georg Gadinger
512be370c6 list: reset viewport to avoid corrupting the text in the first line
While using Rockbox for a while on my 1st-gen iPod mini I noticed that
the first entry of a list sometimes displays a wrong character at the
18th column.  For example, the ':' character would display as 'z', the
'-' character as 'm', 0x00 would display '@' and so on.  Oddly enough
this only occurred when the scrollbar was enabled.

I figured that the call to `display->set_viewport(list_text_vp);` in the
for loop inside `list_draw(...)` causes this.  Digging deeper I noticed
that in the `lcd-bitmap-common.c` driver the `current_viewport` was
pointing to the start of the line's text.  From what I can tell the
cause of this was that the viewport was set to a struct with a shorter
scope than the entire function.

The actual fix for this is quite straightforward -- once the scrollbar
has been drawn the viewport is now changed back to the default one.

Change-Id: Id6a7bd8f74864641ea1670fedea9d12d764e78c0
2020-12-12 05:36:42 +00:00
Solomon Peachy
b339400531 voice: Last commit didn't work from a clean build.
Change-Id: Ib1abe1ae365d211b99fdaaf5f20a516dcc5cb167
2020-12-11 16:26:27 -05:00
Solomon Peachy
227ac2b715 voice: Add voice-corrections.txt to voicestrings.zip
This is in keeping with un-hardcoding stuff from rbutil.

Change-Id: I8409c203bbe378a2cb9994ac0a327e9a324ff52d
2020-12-11 16:15:02 -05:00
Solomon Peachy
60139cf9f1 FS#9273: Add a bunch of voice corrections for Japanese.
Heavily modified from the original patches.

Change-Id: Ifb8e476e565c3049414aa3dd82818cae5000e788
2020-12-11 15:39:47 -05:00
Solomon Peachy
e4b514917e lang: The "InvalidVoice" language file wasn't being included properly
It ended up inside the 'langs/voicestrings.zip' with an absolute path
when it should of landed in langs/ directly.

Change-Id: I308b551e627d63142ec8871ccfb72b6036eff3d2
2020-12-11 15:35:12 -05:00
Dominik Riebeling
9ad1ef0e55 rbutil: Fix encoding for themes info data.
The themes info data uses utf-8 encoding, while QSettings defaults to
ASCII and uses escape sequences, resulting in non-ASCII characters being
garbled. Use the correct encoding.

Change-Id: Ibee58b51926f6d7c3885dead0b42579e21bfb1db
2020-12-10 21:30:13 +01:00
Solomon Peachy
52d437b33e FS13260: Updated Polish Translation (Adam Rak)
Change-Id: If3f25abccc2a29e5a5745e36c18de762bcb3e354
2020-12-09 23:46:32 -05:00
Solomon Peachy
d99320047c Correct the filenames for the Sony NWZ-A680 pictures
Change-Id: I4d78ea6579f7c0c463add7933a9a9c33edda4db9
2020-12-09 23:31:40 -05:00
Szymon Dziok
c07c08506b SVG image of the Sony NWZ-A860 and other formats for the manual.
Change-Id: I964e57f0a3837fed99710dd10205965e15599882
2020-12-10 03:40:41 +00:00
Szymon Dziok
dac0610626 SVG image of the FiiO M3K and other formats for the manual.
Change-Id: If23fa976cce7eb7577202fb138d1f7a17b85e93d
2020-12-10 03:40:41 +00:00
Dominik Riebeling
0b8c6bd5f0 rbutil: Fix log strings in s5l bootloader installation.
We can't use a ternary expression within the tr() function. While this
initially might work as expected it completely breaks translating the
actual string -- we need to use separate strings here, and replacing a
single word in a sentence will also not work for translations.

Change-Id: I556ff2a3bd0dc476b312a59c47d4e0dcd3b743e1
2020-12-08 22:13:48 +01:00
Dominik Riebeling
d148afca3b rbutil: Improve HiDPI support.
Replace the Rockbox logo with an svg version. Since the file size (i.e.
the page size in the svg) that isn't intended for use as icon we need to
enable scaling, and since scaling the label content doesn't keep the
aspect ratio we need to explicitly set the desired values.

Notably improves representation on HiDPI monitors. Now only the player
icons are still raster images.

Change-Id: I03216391a4b0ac982b16f5bec2b48c073369a3f6
2020-12-08 22:13:48 +01:00
Franklin Wei
792f05f82a lcd: Wrap anonymous union initializer in braces
GCC 4.9.4 is apparently smart enough to compile this, but 4.4.4 is not.

Change-Id: I186f969cbad4c701936ab738f585efea07421d2e
2020-12-08 14:12:12 -05:00
Franklin Wei
40b6897f4f puzzles: tooling to automate the resyncing process
This adds a resync.sh script that handles most of the resyncing process:
copying new sources, regenerating help, and staging for commit. I also took
this opportunity to make the process more efficient and consistent by only
selecting the types of files that we care about and ignoring any
autogenerated temporary files that may be in the upstream tree.

Change-Id: Ib0803462684b8ae3b40eec3742944e5bdb28508e
2020-12-07 02:11:36 -05:00
Franklin Wei
b7ce408f65 puzzles: update frontend for new midend_get_cursor_location semantics
midend_get_cursor_location now returns a bool indicating success.

Change-Id: Ie3e7130a821b6619c829846177baf2cc6b51e3a3
2020-12-07 02:11:32 -05:00
Franklin Wei
84cd812ccd puzzles: resync with upstream
This updates the upstream sources to include a modified get_cursor_location
patch that I anticipate Simon will merge shortly. Also, I've streamlined
the resync process to only copy the exact files we need to reduce clutter.

Change-Id: I6a5ac60821fce346c500b101c363ae0c63c2ee95
2020-12-07 02:08:18 -05:00
Dominik Riebeling
ae59995553 rbutil: Update changelog.
Add changes that haven't been added yet.

Change-Id: I90e1326e62bb121c7a1242ee76610faae745505c
2020-12-05 19:11:18 +01:00
Dominik Riebeling
731c5db875 rbutil: Fix autodetection messing up with multiple players.
When multiple players are connected, and at least one of them has a USB
ID that is shared between multiple targets the resulting list would be
off. Fix that by avoiding to modify a list while iterating over it,
that's usually not a good idea.

Change-Id: I0c1fc5e1a3264f269de2d71c3a7f2b82877636ba
2020-12-05 19:11:18 +01:00
Dominik Riebeling
82b53ebf54 rbutil: Merge finding player by USB ID with PlayerBuildInfo.
Remaining rework of player info data handling.

Change-Id: I0e10cdff43e0c9fef43b3b9a30af81f1cd7c4853
2020-12-05 19:11:18 +01:00
Dominik Riebeling
0e315e848a rbutil: Rework handling of available voice languages.
- Move Rockbox voice language names handling to PlayerBuildInfo, and
  handle it similarly to the rest of the device specific values. Rework
  internal handling to simplify things.
- Enable language list from build server for installing prerendered
  voice files other than english.
- Extend unit tests.

Change-Id: I1a1a717fa4409fa965dabc86f52d52a4fc516315
2020-12-05 13:44:37 +01:00
Dominik Riebeling
ac5fc26085 rbutil: Make target list part of new player info.
Also remove the unused cases.

Change-Id: Ic53c12c68f9d62d9c3e4406641355893e137bcf7
2020-12-05 11:19:32 +01:00
Dominik Riebeling
c51c6c1eb3 rbutil: Add MIDI patchset to plugin data installation.
Add installing the MIDI patchset, and subsequently rename from Game
Files to Plugin Data Files.

Change-Id: Ib71ce4c8992ffc9185d961a60296c9671ebc9709
2020-12-04 21:26:19 +01:00
Dominik Riebeling
7739bb31b3 rbutil: Convert RockboxInfo unit test to data driven QTest.
Change-Id: Ic566f9be3532d327af4916605f0215da636ee7d6
2020-12-03 22:25:12 +01:00
Dominik Riebeling
3300815c44 rbutil: Update and fix unit tests.
- Fix changed dependencies and provide real stubs.
- Update to use QTest global data for test table, so individual test
  vector entries show up as individual tests. That way a single
  comparison failing doesn't make all appear as failed and provide
  better indication what went wrong.

Change-Id: I69681c3acd5ceceb4c8ceb1feb341e90a65dd603
2020-12-03 22:25:12 +01:00
Dominik Riebeling
b064a6cbb5 rbutil: Rework and merge player and build server info handling.
Handling the data for players from rbutil.ini and the build-info data
from the server is closely related. Splitting things up into different
classes only creates tightly coupling, which is unnecessary, and the
need to differentiate between them in the application.

Merge both classes into a single one and rework handling so the
application doesn't have to deal with two separate classes anymore.

Furthermore, change URL templates to use new values from build-info
instead of hard coding them.

Change-Id: Ica550973ce23d1559110782add52bc214eba552d
2020-12-03 22:25:12 +01:00
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
Solomon Peachy
10f05b3b27 build-info: Replace %MODEL% with %TARGET%
Change-Id: I93bcaae9f8f053bec783500418561faa84c60afe
2020-11-29 09:54:47 -05:00
Solomon Peachy
a5961c944b FS#5320: Keypad hold doesn't let go until scrolling is used (ipod 4g/5g)
Patch by Boris Gjenero

Change-Id: I7df956fb63478bbbe891104faf5ab35096da7576
2020-11-29 08:51:37 -05:00
Dominik Riebeling
c8da2bc145 rbutil: Treat Aigo Eros clones as variant of it.
Fixes installing those builds, since they relied on the broken
buildserver_modelname. Also simplifies internal handling.

Change-Id: I5b67b7d65ee2299e01ea4e009e47f93c3343911a
2020-11-27 21:30:19 +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
716643572d rbutil: Remove Archos 8MB modded players.
The Archos Recorder has 2MB RAM and can be modded to 8MB. While we
previously had separate builds for those the last release which it was
built for is 3.4; installing for 8MB modded players was broken and
installed the normal 2MB build.

Since we never provided builds for other hardware mods (like Ondio
backlight mod, h100 series RTC mod) there isn't much reason to do so for
the 8MB mod. Furthermore, given that the current state is broken and
nobody complained the number of users of the mod can be assumed to be
very low, and people with a modded player also building Rockbox on their
own.

Change-Id: Ia200651773a2f5b58321299bad30d539fe1a5ada
2020-11-27 20:48:30 +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
185dfb42c2 rbutil: Fix wrong format string.
Only caused a warning, but no need to pass format parameters if there is
no format string.

Change-Id: Ifed38d8af3881c40e8609ccda3786cea23a3bc2f
2020-11-23 20:44:46 +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
1ba6785e46 rbutil: Modernize connect() to new pointer-to-member syntax.
Change-Id: I19f179907742092c970c27dd1bbf70f7e00fed76
2020-11-23 20:44:46 +01:00
Dominik Riebeling
ec730f1609 rbutil: Fix selecting the previously selected build type.
When starting Rockbox Utility select the same build type that was used
during the previous run. This broke during refactoring, fix it.

Change-Id: Ibbca3431cbfe65daedd3e5783e0940d83d1594a6
2020-11-23 20:44:46 +01:00
Solomon Peachy
64fe7e03a8 build-info: Additions for new rbutil.
Change-Id: If61c7a013af78e064a0f5f5ab1046ef07af44730
2020-11-22 12:41:53 -05:00
Dominik Riebeling
f598ef9c27 rbutil: Add support for installing daily builds.
Change-Id: If2bb23adcbd4a441f18846515c609118da8c5b5e
2020-11-22 18:30:01 +01:00