Commit graph

35847 commits

Author SHA1 Message Date
Dominik Riebeling
eb8dc75d38 rbutil: Create git version information at build time.
Change-Id: Iaf701f4d64d6852423f6a28a753b27abc43477e2
2021-12-25 17:47:14 +01:00
Dominik Riebeling
6783b2c8a7 rbspeex: Fix unused variable warning.
Change-Id: I24a0a9c28101f0d7f17d9e8e4a778f9566ba4701
2021-12-25 17:47:14 +01:00
Dominik Riebeling
e9ef7f0dd3 rbutil: Split out rbutilqt parts into separate cmake list.
Change-Id: I84ada20765b98620e1f06bc7116bbdaaae296fe9
2021-12-25 17:47:14 +01:00
Dominik Riebeling
c979717b80 rbutil: Fix logger segfault on application exit.
Getting the values from a QMultiMap() returns a list, but not the same
on consecutive calls. Thus calling it twice to get the iterators will
yield different lists, causing the iterator to fail.

Fixes a segfault when destructing the logger.

Change-Id: Ie8ea8d3a9acf6fbd3969fbb49cbc50a1c1fa2854
2021-12-25 17:47:14 +01:00
Dominik Riebeling
774b35cccf rbutil: Deploy support in cmake.
Add a "deploy" target that will create a distributable file.

- Linux: AppImage.
- Windows: zip file.
- MacOS: dmg.

Change-Id: Id8ae9c021bc5bbb1abf066205b57d943c3f3b327
2021-12-25 17:47:14 +01:00
Dominik Riebeling
4eb3f05042 rbutil: Increase test timeout value for HttpGet tests.
The test timeout is used to abort the tests if something goes wrong and
should not occur during normal test run. On some systems the current
value is too small, causing a timeout and thus test failure before
HttpGet responds.  Increasing the timeout fixes this.

Change-Id: Ib61dd97d9f866c03cca9d2f0d7cb151f7076410d
2021-12-25 17:47:14 +01:00
Dominik Riebeling
f2798c225a rbutil: Simplify reading rockbox-info.txt.
Simplify, and replace use of QRegExp with QRegularExpression for Qt6
compatibility.

Also fix the test running on Windows. RockboxInfo constructs the
filename from path and filename, so we cannot pass an empty path, since
that results in an invalid path. On Linux / MacOS this works only
because we use an absolute path.

Change-Id: Ieaf30a2df005291d3e997aabf42d64ee832381c2
2021-12-25 17:47:14 +01:00
Dominik Riebeling
dc677208d0 rbutil: Fix unit tests on Windows.
Change-Id: I124882eb26b01e1acfadfba55bc718ab330ab52a
2021-12-25 17:47:14 +01:00
Dominik Riebeling
3d6d186d2e rbutil: Initial cmake support.
Rewrite in cmake, and include all necessary libs. This removes calling
separate Makefiles which is rather error-prone on non-Linux systems.

Change-Id: Ic2af4a3810e4b000e3ad33304229e2349a930e16
2021-12-25 17:47:14 +01:00
Dominik Riebeling
f3a54a7c22 rbutil: Put translation qrc next to translations.
That way we don't need to put paths in the file, and will help with
cmake support later.

Change-Id: I0835674e0ea2e5ec5a1596798e26cfbfde29468d
2021-12-24 18:05:53 +01:00
Dominik Riebeling
2fdc056fee rbutil: Use https URLs in Changelog links.
Change-Id: I9a40163c9025550185104dc00356932bda16f782
2021-12-24 18:05:53 +01:00
Dominik Riebeling
9e28474e47 rbutil: Replace QRegExp with QRegularExpression.
The former is not part of Qt6 anymore, while the latter has been
introduced with Qt5. We don't support Qt4 anymore, so move to
QRegularExpression.

Change-Id: Icc15ef422790f3740660c5581294aa0536f46b1f
2021-12-24 18:05:53 +01:00
Dominik Riebeling
72071d108c rbutil: Remove unnecessary include from logger.
Change-Id: I860331880a45912ad73f02f049f869dd155eeb2d
2021-12-24 18:05:53 +01:00
Dominik Riebeling
c876d3bbef rbutil: Merge rbutil with utils folder.
rbutil uses several components from the utils folder, and can be
considered part of utils too. Having it in a separate folder is an
arbitrary split that doesn't help anymore these days, so merge them.

This also allows other utils to easily use libtools.make without the
need to navigate to a different folder.

Change-Id: I3fc2f4de19e3e776553efb5dea5f779dfec0dc21
2021-12-24 18:05:53 +01:00
Christian Soffke
6c6f0757d7 PictureFlow: Show background cache building progress
There was no easy way to see how far along PictureFlow
was in building the art cache, once background scanning
had commenced.

PF now uses the  screen area normally used by the FPS
meter to show completed percentage until building the
art cache has  finished.

Change-Id: I60fa7187b522cda219e35f5a9f630835ecac6883
2021-12-24 11:08:26 -05:00
Aidan MacDonald
f4fbc1bceb tagtree: Support user override config file
Allow users to create an alternative tagnavi config file named
"tagnavi_user.config" in the .rockbox directory. If present, it
will be used instead of the default tagnavi.config, allowing the
default menu to be completely redefined.

This makes it much easier to maintain customizations which remove
or modify parts of the default config -- since the default config
is shipped in the Rockbox zips, a customized tagnavi.config would
have to be saved with manual intervention on each & every update.

Change-Id: I509177fab0e01fc0db0bc4407a3a92bbff5fa481
2021-12-24 10:41:27 -05:00
Christian Soffke
6b5c811d1c PictureFlow: reset idle timer when art cache is being built
- creating the album index and art cache can take longer
than what the idle poweroff timer is set to, so make sure
to reset it periodically

- when finished, make sure progress is stored
to disk immediately, so it isn't lost on idle poweroff

Change-Id: Ibe88a260e4495b1bd007f37950e8c5fbc9364975
2021-12-24 10:38:37 -05:00
Christian Soffke
d04804b6ff Root menu: prevent infinite loop trying to exit plugin
Rockbox could enter into an infinite loop when last_screen
and next_screen were both GO_TO_PREVIOUS, which
happened when trying to quit PictureFlow in the following
scenario:

1) start playback from PictureFlow plugin
2) return (or be returned) to WPS directly
3) wait for playback to finish and to be returned to PF
plugin

Change-Id: I0b52d4df56d416f81cef027d9024e964a734fcdc
2021-12-24 10:38:18 -05:00
Christian Soffke
747c8d5ea4 Remove dead code/documentation/comments
Change-Id: I4928d5967ad8a1f15b8725853102b74420252cc6
2021-12-24 10:37:28 -05:00
Aidan MacDonald
22d0c4da70 Revert "powermgmt: Remove an unnecessary function"
This reverts commit 6ff1a935b9.

Reason: it created a mismatch between the displayed voltage
and percent since the voltage was unfiltered but percentage
was based off the filtered voltage.

Change-Id: I4cba099f2e1edf0ef7c4e17a32f566aa66f5b933
2021-12-23 11:40:22 +00:00
Aidan MacDonald
1a313dc9bf Report battery current on all X1000 native targets
This allows battery run time to be calculated from the
actual battery usage on the FiiO M3K and Shanling Q1.
This isn't very good for the time being and the estimate
tends to go all over the place due to small variations
in current or voltage.

The Eros Q can support this feature as well, but since
it already has fixed estimates defined and the quality
of the "real time" estimate is low I am not enabling it
there.

Change-Id: Id34a93ee4b7d66f9f7e56ef0f5149f67e8e72039
2021-12-23 11:39:58 +00:00
Aidan MacDonald
fc678bd001 battery_bench: Log battery current information
Works on targets supporting CURRENT_MEASURE.

Change-Id: I021b995c46fab923287ad54e72863695ef9ed58a
2021-12-23 11:39:58 +00:00
Aidan MacDonald
9ae983068a Display battery current in debug menu
Change-Id: I07a458c34da931125d986d20df27df38e47c8854
2021-12-23 11:39:58 +00:00
Aidan MacDonald
ad05c872fe powermgmt: Add battery current measurement
This allows targets to report the actual discharging or
charging current if they are able to.

Change-Id: I0b538e6ac94346f1434e45f83c8da8c1260a53a3
2021-12-23 11:39:58 +00:00
Aidan MacDonald
923f92cb12 Fix yellow from 4506f2b58d
Change-Id: I60bb56830ef5ba0fcde4564cdafef594af400c70
2021-12-23 11:37:15 +00:00
Aidan MacDonald
4506f2b58d powermgmt: Refactor battery measurement code
I've tried to clean up cruft and clarify what's being
done, prior to adding new features. The behavior should
be unchanged.

Change-Id: If8a68b7b48173d283df981a21cdd854b714e7695
2021-12-23 00:12:43 +00:00
Solomon Peachy
d6faef8205 FS#13330: Updated Dutch translation (Issa Beganović)
Change-Id: I5d029551154a0485d1866ee4f1c44d9662275981
2021-12-18 17:28:48 -05:00
Solomon Peachy
bdef4fc80d FS#13228: More Turkish translation updates (Selami Dinçer)
This one is focused on corrections to existing strings

Change-Id: Icf74b30429f8bfadafa8b14545e82b1b13a8bf8f
2021-12-17 19:37:49 -05:00
Solomon Peachy
ded161e81a FS#13327: Further Turkish translation updates (Selami Dinçer)
(Continuing to fix strings that were the same as English)

Change-Id: Id6a1d607019747e61740f8ef87ac5b69cfe7d4d5
2021-12-17 08:00:26 -05:00
Solomon Peachy
0300f62bf1 FS#13326: Further Turkish translation updates (Selami Dinçer)
Change-Id: I92e3477c83f48c5bab0ee96528e902bc45c8fb08
2021-12-16 11:46:30 -05:00
Solomon Peachy
6a6f5fbd6c Voices: Enable the generation of turkish voice files.
Change-Id: Iee9ee12602e0a2f6c01d4de738d16787b9f5c23e
2021-12-15 22:37:14 -05:00
Solomon Peachy
f496e1fb97 FS#13325: Further Turkish translation updates (Selami Dinçer)
Making a big dent in the "same as English" list

Change-Id: Ieeb1dc4245233012ea5a8b63599a474bad0517de
2021-12-15 22:29:50 -05:00
Solomon Peachy
b53d2bc432 languages: Fix RTL language file generation
The 'rtl' flags for Arabic and Hebrew was inadvertantly deleted
in 7ff3c94e1 (over a year ago, in November 2020!) but it's actually been
broken since the introduction of 'updatelang', in 2305966d (July 2020)

The fix here is to change the 'RTL' flag from an <options> section in
the language file to a comment in the header.  It's not as pure in a
design sense but it makes for a much cleaner implementation.

I may further revamp this by making the 'RTL' flag into an explicit
LANG_xxx string

Change-Id: I48f394adfadc0aa804fd67690c87cc28f04fccdc
2021-12-15 19:19:44 -05:00
Solomon Peachy
651853f5df FS#13324: Updated Turkish translation (Selami Dinçer)
Change-Id: I970e29318e74317e699d52a88c4d4d25067bb028
2021-12-15 11:38:13 -05:00
Solomon Peachy
f996f4ed70 FS13323: Updated Italian translation (Alessio Lenzi)
Change-Id: I3ebadcf4691483d9bd002161cc01d0bfcc3926d0
2021-12-13 21:45:32 -05:00
Aidan MacDonald
75d615e818 Fix yellow from 69d08be0
Change-Id: Id1ee471454f1d23df3322ed78ba3feb2fe443d74
2021-12-11 17:11:11 +00:00
Christian Soffke
69d08be083 Additional Single Mode options
In addition to the existing behavior of pausing
after each song, this adds options to pause
after playing current:

Album,
Album Artist,
Artist,
Composer,
Grouping / Work, or
Genre.

Allows you, for example, to only listen to the
remaining movements of a classical work
without having to purge your playlist of any
upcoming songs.

Change-Id: If18f4a5d139320026cc5fcc9adf29dd8e4e028a8
2021-12-11 11:43:39 -05:00
William Wilgus
8060c79775 allow sim to shutdown while 'charging'
Change-Id: I28a9312d1ce6bf68d8ee6fc2cca680047bfec810
2021-12-11 09:59:39 -05:00
Solomon Peachy
68ed534f83 Automated translation fixups for a couple of strings
Change-Id: Ia61512044d5c9da3b7f161097402b525719a7bb5
2021-12-11 09:48:01 -05:00
Solomon Peachy
21866949dc Update english-us "translation"
Change-Id: Icac11ade75768312db7ed4119aadda0c0dd751d7
2021-12-11 08:37:15 -05:00
Solomon Peachy
06f98fa2e7 FS#13322: Updated Polish Translation (Adam Rak)
Change-Id: I08ea5cc3c47c80e573c54c226f55c21d7fcf54dc
2021-12-11 08:35:59 -05:00
Solomon Peachy
e05db7304e Update Chinese translations
Lifted from the Rockbox-RCC github repo, plus several cleanups by myself.

Change-Id: I1f9fb7995812acd376f8783aa12a4e6717ff5c33
2021-12-11 08:14:24 -05:00
Solomon Peachy
fde78a0c8d lang: Use consistent capitalization for button names
Change-Id: I02aecb17a214f3da179177f70986bb6961670c3d
2021-12-11 08:14:23 -05:00
Aidan MacDonald
dcac2c616f Add setting for numeric list sort order
The sort order of numeric lists can now be changed with the
new "List Order" setting. It defaults to ascending for most
scrollwheel targets and descending for all others, matching
the old hardcoded behavior.

Change-Id: I4866f04ec5995158edf9e40badf7f661b3ddea81
2021-12-11 01:13:22 +00:00
Christian Soffke
a3684e090e m3k simulator: remove white border
Change-Id: I1503dadc966af568c8a4482e1d7f5641092594f0
2021-12-10 19:46:09 +01:00
Christian Soffke
f1eb0483d6 m3k simulator: add screen bezel
Change-Id: I4a34e5be7a459f909b81266b70c30f2968068696
2021-12-10 18:01:38 +01:00
Christian Soffke
f78a0e5230 Manual (HTML): fix image aspect ratio and size
Change-Id: If7c680badcb1a493e2a2059d84ea5b154382bad2
2021-12-09 21:02:10 -05:00
Christian Soffke
694f929a99 Credits plugin: use black background
Sets the lcd background color to black and foreground color
to white when displaying the 16bit logo, so that it always
blends in with the background regardless of theme colors.

Change-Id: Ia3afde178866b84d194c2dd839dac24f8c6e8d05
2021-12-09 21:01:11 -05:00
Solomon Peachy
938395be72 Update US English "translation"
Change-Id: I1750c64ab8251cbb98ac48c3d2bfbd2c1df431a1
2021-12-09 20:56:55 -05:00
Solomon Peachy
fb339a5a09 FS#13220: Updated Polish Translation (Adam Rak)
Change-Id: I51ce45b8404ed79169300fc6b7a2bccabed03af8
2021-12-09 20:53:02 -05:00