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
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
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
'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
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
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
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
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
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
Without this, if a device is left plugged in and idle, unplugging it will
trigger an immediate shutdown.
Change-Id: I65caaa0c1473562ec5d0bb776b01d4d222d69965
Basically no longer treat SCROLL_FWD/BACK as "button" events, instead
relying on the scrollwheel hooks to handle things properly.
Change-Id: I9bf18595ab3ca68e912f6dfb1f2eac2544578e73
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
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
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
It's using espeak-ng's default 'zle/ru' voice, which have to do until
someone suggests better settings or engine.
Change-Id: I7b105c6a5d9f73131c6e649e81635138f350f48e
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
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