Commit graph

35106 commits

Author SHA1 Message Date
spencer-brennessel
22cc4e4fcf Fixed bug in Fiio M3K port where up button didnt work in some menus
Change-Id: Ie90230cb841837b10e839e0fb2e80b5fc4401c42
2021-03-02 12:51:47 +00:00
William Wilgus
a6eafc86f8 Remove execute bit from file permissions from recent commit
Change-Id: I415cf235d2b179ae8c58b0427308103be3e00130
2021-03-02 02:10:53 +00:00
Aidan MacDonald
73cee8f177 Add RegGen-NG tool and definitions for Ingenic X1000
Change-Id: Ib9ec35c068e1cff8dcf120a13cfe3f5f58908a95
2021-03-02 00:36:01 +00:00
Solomon Peachy
7418ec5009 FS#13267: Fix crash when enabling Perceptual Bass Enhancment during playback
I think the assumption is that during playback, the DSP is already running
so it assumes PBE needs to be flushed before it is properly enabled.

Change-Id: I2bac3d02c80f97c8d9ce26a575175f6344a8e86a
2021-03-01 19:02:22 +00:00
Christian Soffke
640b14c08c Fix inability to reset filetype colors without restarting
0ce42df prevented read_color_theme_file() from being
executed when applying settings (from a cfg file)
if the filetype colors setting was set to "-". Resetting
custom filetype colors happens in that function though and
thus wouldn't work. You had to restart Rockbox for the
setting to be applied (at which point read_color_theme_file()
is called from filetype_init() which is called by the init()
function in main.c)

The safety check has been moved from settings.c directly into
read_color_theme_file(). This has the added
advantage that it will also apply during the init process
where there existed no check before (prevents the problem
mentioned in 2e3a8c7).

Change-Id: I547fe180f0bac79889bf2c44778bb1cc4f9d4307
2021-03-01 13:33:43 +01:00
Solomon Peachy
670812a44a Support MP3 audiostreams embedded in ASF containers.
Full credit to Igor Poretsky

Change-Id: I54769e33665cada1e1e0ef3a5511b56c8e1b859a
2021-02-28 16:11:54 +00:00
Aidan MacDonald
13c7f482ce Add ingenic_tools/usbboot utility
This is essentially an expanded version of jz4760_tools/usbboot,
able to support both X1000 and JZ4760 CPUs and easily extended to
handle other Ingenic CPUs using the same boot protocol.

Change-Id: I70ce3acc3531d65390c6bbae4d2b3352140acf0a
2021-02-28 02:52:56 +00:00
Aidan MacDonald
a3d41098c7 Adding myself to the credits
Change-Id: I1c37e6c7967b7ec679682d319822115653064ed2
2021-02-27 23:53:46 +00:00
Aidan MacDonald
aacb0811d9 Rename symbols of FiiO M3K Linux-based port
Mainly a straight replacement of FIIO_M3K -> FIIO_M3K_LINUX.

Change-Id: Id07c84f8150991d1b6851540c2c3f8f67e3f12c2
2021-02-27 23:53:28 +00:00
Solomon Peachy
55dc86f5db Specify correct dependencies for tools/descramble
Fixes the red introduced in 6224efb2

Change-Id: I21e61fdb8e1b87486417faf34bfa6963e5ab2349
2021-02-27 18:39:04 -05:00
Solomon Peachy
dad23a0607 database: Database tool was excluding all SWCODECs!
When fixing this, I used this this opportunity to clean up the Makefile

Change-Id: I5dea77a8a2048bbfce5930f8ce2899b597e425eb
2021-02-27 18:29:02 -05:00
Christian Soffke
ef685cc6da Update manual to reflect new behavior from abebc6b
When playback is stopped and the user inserts songs, Rockbox will not erase a dynamic playlist anymore, unless it has finished playing.

Change-Id: I50bd62fbfe3929a0b651b5136e9305b9bc9278f3
2021-02-27 22:53:12 +00:00
Aidan MacDonald
6224efb238 Fix build system not respecting TOOLSET
It seems that 'toolset=' in tools/configure was set but not used, with
the build system only generating a hardcoded set of tools. This change
fixes the issue by exporting the required tools in the TOOLSET variable,
and having root.make append those to the TOOLS list.

Change-Id: I07024bdf1dd2260c32cfeecaba0d3bb5bf00346d
2021-02-27 22:51:52 +00:00
Aidan MacDonald
96019d23aa Add regtools binaries to gitignore
Change-Id: I5d65e6680329311916a3d890c81f3c39e9b655c4
2021-02-27 22:03:13 +00:00
Aidan MacDonald
b8945734f5 Make headergen_v2's output include what it uses
Change-Id: Ie9790faac44c33a170bc2dc39d706575cefa0f2f
2021-02-27 22:02:31 +00:00
Christian Soffke
7d7a3156d3 Fix skin rendering issue entering dirbrowse
If the custom UI viewport (for displaying lists) changes size when entering dirbrowse, other viewports won't be correctly rendered and require a redraw.

The following is a minimal test case for an example SBS where (the specified background color for) the viewport at the top of the screen won't appear after the user has entered the (root menu of the) file or database browser:

%?if(%cs,=,1)<%VI(main)|%VI(other)>

%V(0,0,-,21,-)
%Vb(ededed)

%Vi(main,0,22,-,-,-)

%Vi(other,0,60,-,-,-)

Change-Id: I1aeed0561f16531802d0fb8dc5fd18d65ac8f25a
2021-02-27 14:41:54 +00:00
Christian Soffke
7d7850368e Disable UDMA 2 on iPod4G target
ATA DMA was enabled for all PP502x targets in d118f47 after previously reported instabilities were thought to have been fixed. The iPod 4G target remains unstable when UDMA 2 is enabled. File system corruption will eventually occur even using stock hardware in normal usage, according to both my own experience and that of several other forum users. UDMA 1 appears to be stable.

Change-Id: I8526bad9e879f5dad5174cfe07cd8828d8b72406
2021-02-27 14:38:49 +00:00
Christian Soffke
317908e8c3 Warn before permanently reshuffling the current playlist
Reshuffling a playlist using the WPS context menu for the current playlist is a destructive operation since the previous order of items can't be restored. A warning should be displayed, so that the user can still cancel the operation in case they intended to select another menu item (e.g. one of the harmless "Playing Time" or "Save Current Playlist" items right next to it).

Change-Id: Ib9fc379439d155be907872d77cf54d5035bd08a0
2021-02-27 14:38:29 +00:00
Christian Soffke
05f1006246 Convttf makefile: Replace freetype-config with pkg-config
Freetype-config has been deprecated and is no longer included in libfreetype-dev. Pkg-config serves as its replacement.

Convttf isn't built as part of Rockbox by default, but manually doing so will currently fail even when libfreetype-dev is installed.

Change-Id: Iafc31df3b40c11d7c790189eb9d3788ba97d3e54
2021-02-21 05:23:39 +01:00
Solomon Peachy
bdc3dd4fca MP4: append mdat sections together in metadata parser
mp4 files can have multiple 'mdat' chunks.  This is common for
audiobooks, where there is often a secondary mdat containing the
chapter names, but it's also legal to have multiple mdat chunks
for a single logical "track"

This confuses the mp4 metadata parser, which assumes there is
only a single mdat, and always uses the last mdat seen to
determine the "filesize" of the data we're trying to decode.

Work around this by appending each mdat's size to result in the final
"filesize"

Change-Id: I3e7a7efb0f05ef965e8d77f79e450c957524a480
2021-02-19 13:35:41 +00:00
Solomon Peachy
8c76c1b1c2 Revert "Always resume audio after user picks a new song from a playlist"
This reverts commit 69746d8400.

Change-Id: I33969c228a88cdba3537844a1962cac85cfa80e5
2021-02-19 13:35:15 +00:00
Christian Soffke
436e64e09e Fix playback queue bug when "Insert Next" is used with multiple songs at once
After using “Insert Next” to insert multiple songs at once (e.g. an album from the database browser or folder from the file browser), subsequent Insert operations will incorrectly insert items after the first song of all items that were previously inserted, instead of after the last song of the previously inserted items.

A bug fix was originally written by Costas Calamvokis for the file browser only. I adopted the original fix and added code analogous to it so that it works from the database browser as well.

See FS#7898, FS#7363 or this forum post for more info:
https://forums.rockbox.org/index.php/topic,53741.0.html

Change-Id: Ie2718e136df0b340000f7a171e9e806cf23a27b4
2021-02-17 11:34:59 +00:00
Christian Soffke
abebc6b9ac Don’t erase a user’s stopped dynamic playlist when inserting/queuing songs
Rockbox would unexpectedly and without warning erase the current dynamic playlist (when it hadn’t finished playing) if the user inserted or queued up items while playback was stopped.

This fix ensures that the playlist is only deleted if it has either finished playing or can't be resumed.

Change-Id: I73b7bd56e6399f9be4bb000bae39c8b6a5e1b79b
2021-02-17 11:33:25 +00:00
Christian Soffke
69746d8400 Always resume audio after user picks a new song from a playlist
Music currently doesn't begin playing after the user has selected a new song in a playlist, unless another item was already playing or the previous player state was "stopped" (but not "paused"). This results in an inconsistent user experience. The user's likely intention is to immediately listen to the song they select for playback regardless of the previous player state.

Change-Id: I68a8da01b06a81d8c3b61e351710431152bfdfaa
2021-02-17 11:32:32 +00:00
Wolfram Sang
422aa56243 rockboxdev: fix issues with relative paths for commandline options
I wanted to build into a 'toolchain' directory like this:

$ tools/rockboxdev.sh --dlwhere=toolchain --builddir=toolchain/build --prefix=toolchain/bin

This failed twice:

a) the extraction stage could not uncompress because of the relative
paths, so convert them to absolute paths in the script to fix the issue.

b) patches could not be applied because 'rockboxdevdir' was assigned a
string with the directory twice and '\n' in the middle. Using readlink,
this now works.

Change-Id: I9c7c30812e1fb4b58db7e6561d73678f34714c91
2021-02-05 17:29:05 +00:00
Wolfram Sang
a67c6934c1 rockboxdev: better error message for unknown compression
I hit this error and its message confused me because I interpreted it as
"bzip2 executable could not be found". The message was also outdated
because xz is supported meanwhile. Update the message to something
hopefully more helpful.

Change-Id: Ide2f8809dc0f8159d7d04fa22c29607dd6b35792
2021-02-05 17:29:05 +00:00
Wolfram Sang
e23d45536e rockboxdev: fix summary output of options
'--download' is now named '--dlwhere' and 'target' was missing the '='

Change-Id: I5f295fac8ddfb9139b00e9b6b7b5dfa625ac05cf
2021-02-05 17:29:05 +00:00
Solomon Peachy
165d926a63 rbutil: Add a new entry for the Hifiwalker H2 v1.3 variant
Change-Id: I936aacd7c748be85a583a62b3026301ce0796041
2021-02-05 17:27:40 +00:00
Wolfram Sang
e7e9cbb852 puzzles: only build manual for color targets
'SUBDIRS' file has puzzles inside a 'HAVE_LCD_COLOR' block. I found this
issue because sgt-puzzles was in the Clip+ docs while they were not
installed on the target.

Change-Id: I8ddf43fa75c8429d2f1a99f13689a5442913748e
2021-02-04 22:47:09 +01:00
Georg Gadinger
278e7457ea skin_engine: Fix %if() when comparing against a negative number.
If the tag being checked returns a negative number (e.g. %LI does that
when the current list item does not have an icon) the tag's value would
always end up being 1.

Change-Id: I69ab175b6c46dd7567386e649732dbb8327972fc
2021-01-27 18:21:31 +01:00
Moshe Piekarski
befae2909f Make delete_file_dir() more threadsafe
This should fix FS#13263

Change-Id: I3527210117c716ab2133d6dc79597285d6e543e1
2021-01-21 14:27:06 +00:00
Solomon Peachy
fe10830384 hiby_patcher: Tweak the fix needed to work around v1.31 AGPtek Rockers.
Change-Id: I6b8d175e0f6018281aedfa774488daecea1bc816
2021-01-21 08:39:48 -05:00
Dominik Riebeling
707f77c6a7 rbutil: Update german translation.
Change-Id: I032c25d4794786c417dc75d91f2cf05591c14579
2021-01-02 21:31:20 +01:00
Dominik Riebeling
95cfa9a8c4 rbutil: Rework action texts for ipod6g bootloader installation.
The logging entries do word wrapping, so no need to add hard line
breaks. Those will become problematic for translations and in some cases
on UI scaling. Instead add an empty line after the header to make things
clearer.

Change-Id: Ib774b1ad77abcfa2f5955988f7756e3a510cd1be
2021-01-02 21:31:20 +01:00
Dominik Riebeling
e74cde1c6e rbutil: Remove unused function.
Change-Id: I0ea5094610bcf5ccd9ef6c71a643867a0954dc96
2021-01-02 21:31:20 +01:00
Dominik Riebeling
bf17c347fc rbutil: Fix some texts.
Change-Id: Ia94dbcfb79d823863792637953f578a82ccdf4bb
2021-01-02 21:31:20 +01:00
Dominik Riebeling
f9d23bfd41 rbutil: Modernize connect() to new pointer-to-member syntax.
Change-Id: If737fe5a8f4ab9f83560511839fdc4ad8b187786
2021-01-02 21:31:20 +01:00
Dominik Riebeling
022bbad762 rbutil: Fix cleaning cache.
As with calculating the size cleaning the cache folder needs to be
recursive.

Change-Id: I05a8e2287bcdf6ed53acde320cb5071e8ed04b91
2021-01-02 21:31:20 +01:00
Dominik Riebeling
ec01c57022 rbutil: Fix cache size calculation.
We're using Qt's caching mechanism since long, which uses subfolders, so
we need to recursively traverse that to get the size of the cache
folder.

Change-Id: I8425016f60d0575013110e708b539833a8098246
2021-01-02 21:31:20 +01:00
Dominik Riebeling
65d0867a25 rbutil: Add option to langstat to pass git hash.
Don't always operate on the remote head, instead default to the local
HEAD, and allow passing a hash to use for calculating statistics.

Change-Id: I420308e66769689c1dfac56e19058b097a0533a2
2021-01-02 21:31:20 +01:00
Dominik Riebeling
eaf86a22d3 rbutil: Add missing Q_OBJECT macro to PlayerBuildInfo.
Needed to make translated strings actually get translated.

Change-Id: I6ab6266c4444b6032a8b976b8219ace30907398d
2021-01-02 21:31:20 +01:00
Solomon Peachy
10e2f53ff5 bspatch: Fix the standalone build
(broken by 1e12990)

Change-Id: Ia572fe27f382fd3e00dfbf100b9f9bc34cdb9911
2020-12-31 08:11:27 -05:00
Michael Giacomelli
ca09f91f64 Fix deadlocks when trying to buffer large album art.
Internally, buffering tries to load the entire album art file into the
audio buffer, which will fail if the file is larger than the buffer.
Playback.c interprets a file failing to buffer to mean that the buffer
is full, so it waits for more space and tries again.  This results in a
deadlock since the file will never fit.

Change bufopen to return a new error condition when an image file will
not fit on the buffer because it is too large:  ERR_BITMAP_TOO_LARGE.
Note that we arbitrarily set "too large" to be within 64KB of the
entire buffer size or larger, this could be adjusted if needed.

Change audio_load_albumart to pass through error messages from bufopen.

In playback.c, check to see why audio_load_albumart fails.  If it fails
because the file is too large to buffer, simply ignore the file.  If it
fails because the file would fit but the buffer is full, try again
later.

Change-Id: I66799ae26f124b495e1522fce7285332f4cf986f
2020-12-25 17:47:19 +00:00
Solomon Peachy
b5e6c30a61 USB: Reset poweroff timer for all USB events
Without this, if a device is left plugged in and idle, unplugging it will
trigger an immediate shutdown.

Change-Id: I65caaa0c1473562ec5d0bb776b01d4d222d69965
2020-12-24 00:40:01 -05:00
Solomon Peachy
c842a13651 voice: Fix accidental warnings
Change-Id: I9663b4febd60c79a533ace1bad593c543c7dcf1d
2020-12-17 13:29:58 -05:00
Solomon Peachy
1aaa2824b6 voice: Increase voice thread stack size on hosted targets
Fixes a stack overflow on Sony NWZ players when loading the voice file

Change-Id: Id545517b827e757922b4cde043763ee7316435e6
2020-12-17 13:11:43 -05:00
Solomon Peachy
02119357dc erosq: Enable HAVE_SCROLLWHEEL for saner scroll wheel handling
Basically no longer treat SCROLL_FWD/BACK as "button" events, instead
relying on the scrollwheel hooks to handle things properly.

Change-Id: I9bf18595ab3ca68e912f6dfb1f2eac2544578e73
2020-12-16 14:54:11 -05:00
Dominik Riebeling
0215c37ceb rbutil: Remove logo that isn't used anymore.
Change-Id: I9a448c7ad71dfee6043e76794024c1b0c946b52f
2020-12-14 20:19:53 +01:00
Dominik Riebeling
2b00166a00 rbutil: Always use svg icon for Window icon.
Since we now have svg support enabled (and used) for all platforms we
can simply use the svg one, and bring it in line with the rest of the
icon.

Change-Id: If99f1be0205de1a87eb727c33400811620d9876d
2020-12-14 20:18:52 +01:00
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