Discovered on ClipZip but applicable to other LOW MEM targets
Back off voice buffer on playlist_resume
Change-Id: Ia316c4b7fc1bcb089d3069a13dd7c193edf2ba1e
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
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
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
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
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
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
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
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
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
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
It ended up inside the 'langs/voicestrings.zip' with an absolute path
when it should of landed in langs/ directly.
Change-Id: I308b551e627d63142ec8871ccfb72b6036eff3d2
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
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
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
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
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
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