When "Repeat Shuffle" is enabled, it may make sense
to visibly turn on the Shuffle setting once a playlist
ends and starts from the beginning again.
This seems to fix a few issues:
- After (an unmodified) playlist has been shuffled,
bookmarks now behave correctly in terms of restoring
the playlist's shuffled state and using the correct resume
index. This wasn't the case before. The alternative may be
to set the playlist as modified once it is shuffled, to
prevent creation of bookmarks from that point on.
- Lets you return to the un-shuffled state of the playlist at
any point
- Icon makes it easy to tell if the "unmodified" playlist has
been shuffled already, or not, which wasn't obvious before.
Change-Id: I41af04b041fdc7774c9d9267aaf983ec9d402e13
* Use of ata_disk_can_poweroff() was inverted, resulting in SATA SSDs
getting powered off but leaving _everything_ else on, including spinning
rust!
* Replace the can_poweroff() heuristic with a test for the mandatory
ATA power mgmt feature flag. Notably, the CF->SD adapters don't claim
to support this!
* Eliminate duplicated tests in sleep code
* Wrap all poweroff-related code with HAVE_ATA_POWER_OFF
* Don't ever use SLEEP command, only STANDBY_IMMEDIATE
* Gate call to STANDBY_IMMEDIATE behind a can_poweroff() test
* Prefer FLUSH_CACHE_EXT to FLUSH_CACHE where available.
* Improve SSD detection heuristics to any of these:
* Explicltly identifies as SSD (covers newer CF and SATA)
* TRIM support
* CFA compliant AND (CF level 0 OR high speed support)
* Report SSD detection in debug menu
Change-Id: I7fcb83b6d6eabddc11c64326a573b08ab85412b5
Auto-created regions associated with a progress bar did not have
a label which could result in an out of bounds read when looking
up touch regions by label. Fix by initializing the label to NULL.
Change-Id: Ic12d697a6a5a45dad977f307471b91db9e607bd5
Touchscreen events get translated into standard actions only after
the call to gui_synclist_do_button(). The menu callback doesn't get
a chance to see the real action if it is called before do_button.
Moving the do_button call up could potentially break callbacks that
want to intercept actions before they hit the list code. Therefore
we need to manually handle touch events first, and pass the action
to do_button afterward.
Fixes a bug where exiting a plugin in touchscreen point mode always
goes to the games list because the callback wasn't invoked properly.
Change-Id: I3b74a16d68a111935fba2157c15fa188f15446e9
EQ settings are actually an array of 3 ints. I added a skin parameter
token that allows specifying which array element to use.
So instead of this now-incorrect syntax:
%St(0,0,-,-,image,eqbar.bmp,vertical,setting,eq band 1 gain)
You would use:
%St(0,0,-,-,image,eqbar.bmp,vertical,soffset,2,setting,eq peak filter 1)
(the 'gain' is the third element in the eq setting array, thus soffset 2)
Change-Id: Ibda712ab87759efb45420566c967742bcefb513b
The "Reload After Saving" setting was added in
g3347 (4f83e66) to solve FS#13287, by allowing
you to bookmark a modified playlist after saving,
without having to manually reload it first.
Since the rewrite of playlist_save in g5192
(90e3571), a modified playlist doesn't have to be
reloaded anymore in order to be bookmarked after
it's been saved, unless it contains queued tracks.
To cover the remaining use cases of the previously
available option, Rockbox will now offer to remove
any queued tracks from a playlist when saving it.
Change-Id: I2d6f12bcce14d8ff41a4d921ce84d628774103ac
devices > 16 bit depth use a struct of values for the pixels
this needs converted to use by functions expecting a single integer as
a pixel value
Change-Id: I540d667239bc581e1d31dfe1e07c51ba10803ddf
rewrite draw_text to use new viewport buffer
set_viewport now accepts rliimage to allowe interfacing with rb. functions
fix long standing 2-bit bug with text drawing in lua
fix 2-bit img
saving bug (i'm guessing just a one off, just enabled clipping)
fix font_getstringsize bug
fix shape of numbers draw_num.lua also add auto centering
add page scrolling to printtable
add a new demo script 'stars'
Change-Id: I866905cee82ee89ebc0eb020a56a7ecdb101bf5e
A playlist that hasn't finished and is resumed without starting
playback has its index set to 0 by empty_playlist_unlocked.
So ignore the index for stopped playlists.
Change-Id: I575ceacbcd2369eaa3ae4e47de7b2f7e999248f5
Commits 5aa0fc3 and 32f1418 (g#4451, g#4452) changed the
amount of space that was allocated for loading bitmaps
used to display album art.
Testing revealed that the size of the JPEG decode buffer
can reach up to (38 * 1024)B in some cases.
When the limit is reached, additional space is required
by the resize_on_load function.
Change-Id: If93b45754a4f5948b6160f659182e4618e01912e
I'm not sure why but on my fuze v2 I don't get the '.' nd '..'
directories back from readdir
that make removing '.' to find /.rockbox inconsistent
Instead filter out files and strcmp the incoming dirs
to BOOTDIR (.rockbox) and clear it when they match
Change-Id: Id8f3312cb3ae624dff1be21f745034c08c4ae1a7
The overly-generic name "find_tag()" is part of the skin parser
library and this can cause problems depending on what's included
from headers. Unfortunately.
Change-Id: I0cb02b1203daa6ff36595ed6c6f40b5b56bd3e58
Allow the database path to be set from the file browser's
"Set As" context menu, so it can be changed without editing
the .cfg file by hand.
Change-Id: Ie1a84bcb2084ee3b1a0a18cc51f564238515f164
sprintf, strcpy, memccpy can all just go thru path_append
with the added benefit of some path sanitizing too
Change-Id: I33510b56a364b8b3a0b06f2ff14b76491f6e3870
Make ft_exit() ignore trailing slashes. Previously if these
ended up in "currdir" then pressing the back button would just
leave you in the same directory.
Change-Id: Ic539e02a9860fa13ca3235beaf99bb474c66e151
v1 passes the drive and partition number of the boot volume
instead of using the volume number. The volume number isn't
reliable because the same filesystem might get a different
volume number once the firmware is loaded, which will cause
the firmware to use the wrong root volume and fail to locate
the correct .rockbox directory.
Using drive and partition numbers avoids this issue because
drive numbering is fixed and determined by the target.
Change-Id: I7e68b892d9424a1f686197a6122e139b438e5f7e
Instead of verifying the CRC before every access of the boot data,
verify the CRC once at startup and set a flag to indicate the boot
data is valid.
Also add a framework to support multiple boot protocol versions.
Firmware declares the maximum supported protocol version using a
version byte in the boot data header. The bootloader chooses the
highest version supported by it and the firmware when deciding
what boot protocol to use.
Change-Id: I810194625dc0833f026d2a23b8d64ed467fa6aca
Navigating to track listing by Filename in the database
passed the whole directory to the playlist and track info plugin
insead of the track filename
this was due to 'tag_virt_basename' not being recognized as a valid
audio file
Change-Id: I3d1cd0b6998a2e55d4f7d70711af9ced46cf2c44
Basically the namespace code _never_ actually linked properly on hosted
targets, but nobody noticed as there were no users, causing the symbols
to be dropped with no fuss.
The tagcache namespace awareness stuff pulled in the namespace code,
which made things go kaboom due to it relying on native FAT parsing
code.
Change-Id: Idef5f44b026c875022436809ca1f5015eece714a
When the sd card is mounted into the root namespace the database
picks up files through both paths
previously we hid the mounted drive but this causes issues with users
databases when the drive letter changes
Adds a way to keep track of volumes mounted in the root namespace
Hides the enumerated volume in root
Database:
we can just parse the root directory ('/') and get to any mounted
volume but we can also enumerate a volume in the root directory
when this occurs it leads to multiple entries since the files can
be reached through multiple paths ex, /Foo could also be /SD1/Foo
Instead we will attempt to rewrite the root with any non-hidden volumes
failing that just leave the paths alone
Change-Id: I7bdba8cfaf63902d2a3852d28484bcf8ca317ebd
Includes ipod video (5G) and earlier models, sansa c200 and others players not capable to decode AAC-HE.
Allows to play backward compatible files as AAC-LC.
Change-Id: Ic9f5c0f255d9a4308c3414d402f8f27f4328ca94
supersedes g#5499 run .link shortcuts within menu shortcuts
and just extends it to the whole plugin stack which makes
sense as long as it doesn't cause any new bugs ;)
Change-Id: If152f53cf6894430c1173a2af1410e7d0857825e
clearing the viewport stops the scroller
so instead clear the viewport ourselves
[this might cause some glitching but should be acceptable]
in testing this causes no discernible ill effect -- time will tell..
Change-Id: Ia73a459205e37c8aebdf1cd82cd742df3d803af8