Commit graph

16300 commits

Author SHA1 Message Date
William Wilgus
80be135d0d OOM on playlist_resume
Discovered on ClipZip but applicable to other LOW MEM targets

Back off voice buffer on playlist_resume

Change-Id: Ia316c4b7fc1bcb089d3069a13dd7c193edf2ba1e
2021-03-04 13:32:45 +00:00
Christian Soffke
cde5ae755f iPods: Allow using scroll wheel to change volume on QuickScreen
As suggested by forum user yuuiko

Change-Id: Ifb989f9513a9e3c59e4ab0f38c0a8e2675c68dd8
2021-03-03 22:37:14 +00:00
William Wilgus
f906df017d Open Plugin -- Make first run show at least one item to user
Open plugin needs the context menu to allow the user to add an item
on the first run there are no items and therefore nothing to pop the
context menu from

Change-Id: I7a78454ff29b20c7b60db44349dd23d500ed887c
2021-03-03 13:37:40 -05:00
William Wilgus
5317953f4a Battery Icon, Remove Hardcoded Overall Width
Icon no longer showed 100% with some fonts

Change-Id: I6bb9d47007fa42f91daa5c336f5e9e960140db0f
2021-03-03 03:11:02 +00:00
Solomon Peachy
93d8be80ce Remove a couple more stragglers from the Archos purge
Change-Id: I57cbc3360775b90df53f334174d9c9b3e44dfbe1
2021-03-03 02:36:52 +00:00
Christian Soffke
7d78958f9d Reset unknown file color when resetting filetype colors
The unknown file color is handled as a special case and also needs to be reset here

Change-Id: I0446b7f6586c265dee37fef303f8564f22f06dd4
2021-03-02 18:33:19 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
Solomon Peachy
52d437b33e FS13260: Updated Polish Translation (Adam Rak)
Change-Id: If3f25abccc2a29e5a5745e36c18de762bcb3e354
2020-12-09 23:46:32 -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
Solomon Peachy
25529e4fe0 lang: More automated rejiggering, USB_MODE_* is no longer ibasso-specific
Change-Id: I8e7eb3bb3c5ed61572c0ade4059c3e3527558932
2020-11-22 14:45:16 +00:00
James Buren
6b3b4df6f6 rockbox: move firmware checksum algorithms into a common header
Before this was just implemented inline wherever it was needed. Now
it is provided as 2 inline functions in a header called checksum.h.
There should be no differences in actual behavior.

Change-Id: I5d756cc01dc6225f5cc8b6af90911a3fc7b57cd5
2020-11-22 05:12:04 +00:00
Solomon Peachy
b7b0c7c648 languages: convert recording_swcodec -> recording
Change-Id: I481a53284d63457717f4a6524edc5b477f29a20a
2020-11-19 09:52:37 -05:00
Solomon Peachy
6d62a7a1bd Clean out some obsolete strings from the Russian translation
Change-Id: Ic0878ae5d8e5d12c803702f3c069a1d1a3a74ef8
2020-11-19 09:52:05 -05:00
Solomon Peachy
20774d88b5 Update english-US language
Change-Id: I0a20e76d2e5267eb15e85dac0cd1f524eafe0415
2020-11-17 11:06:13 -05:00
Solomon Peachy
170f72156b lang: Drop all deprecated strings, and rename LANG__NEVER to LANG_NEVER
Change-Id: Ie1a1cb04ecb566b75d9884b98a8c4e37a4e8736f
2020-11-17 11:06:13 -05:00
Solomon Peachy
7ff3c94e13 lang: Make all swcodec &| lcd_bitmap strings default.
Change-Id: Id0a3282884c3e258c5b2f24b35aa7e618a8e8bbe
2020-11-17 11:06:09 -05:00
Solomon Peachy
63691ad106 Fix the fix, which managed to make things _worse_
Change-Id: I91b6bc71cf1d5c4cf06d839dfa783cb799756b77
2020-11-16 12:55:33 -05:00
Solomon Peachy
3e32521be5 Fix the red introduced in 9c68c69
Change-Id: I5f3e3ddd5bc11b8d58e5c05ec3bf7171537c016d
2020-11-16 12:35:47 -05:00
Solomon Peachy
9c68c69cf0 FS13257: Fix inconsistent defaults in the USB mode selection
Change-Id: I44894d13f070313ad326ce68018556573e35aad9
2020-11-16 17:11:38 +00:00
James Buren
c79ddb6bf4 iriver_flash: update valid bootloaders table
This removes all the pre-release bootloader of version 7 and
replaces them with production releases of version 8. The
pre-releases have their own problems and should be left
behind as they were never officially released.

Change-Id: If96531ba63cf4401d04133bda94735fe94ae4de1
2020-11-16 11:57:18 +00:00
Moshe Piekarski
3ef8455626
Remove some SWCODEC artifacts
Change-Id: I580522bc0ec3bc86c24400625d7d9cde2eea8fc8
2020-11-14 19:20:33 -05:00
James Buren
c10eea46a9 iriver_flash: add macros to reduce the rom chip table
The table is now gated by the FLASH_SIZE macro as any given
target will not have a known rom chip of a differing size
than the FLASH_SIZE. This will reduce the resulting code
a bit as well.

Change-Id: I06a283f9f44118080a106e1bcd410e81e0a48d92
2020-11-14 23:21:15 +00:00
James Buren
33d42c20de iriver_flash: do not let the backlight timeout while running
I discovered it was doing this on the H300 during longer operations
and I freaked out at first. This disables this feature until the
program is finished so as to not give anyone else an unnecessary
fright while using it. It will also cut down on frivilous reports.

Change-Id: I0db406912c7f71835576203a540aba8910afa849
2020-11-14 18:47:12 +00:00
Solomon Peachy
03cd773051 ibasso: Hopefully hack usb into building again.
Change-Id: I6f369d60319704ab4d2c18b80ba6e78902630790
2020-11-13 20:04:04 -05:00
William Wilgus
43f90746d5 synclist add method for setting selection color
Change-Id: I8c8761d92f4fc99f65d45098ee6e97800d3fe002
2020-11-14 00:01:39 +00:00