Setting the last_volume_change time was moved here in
commit 2e08b0f82e ("sound: update global volume state
in sound_set_volume()"); however this also triggers the
%mv tag on boot, as if the user was actively changing
the volume.
Move the last_volume_change update back to the original
call sites to fix this.
Change-Id: I895112cea4315f194f67c27839f1082d67c1ffa9
Instead of calling sound_set_volume() and then manually
setting global_status.volume to match, update the global
volume state directly in sound_set_volume(). This makes
things a bit simpler and less error-prone.
Change-Id: I4db4d60ae1a72bd051ef49c90b1ae7f5ba59e535
Since even Shuffle and Repeat are now immediately applied
from the Quickscreen, I suppose it makes sense to do the
same for the album art setting as the remaining holdout.
Change-Id: Ib1b56c31f28d8197e001901296d9897a23134564
Adjusting certain settings from the Quickscreen causes a
GUI_EVENT_NEED_UI_UPDATE event to be sent. For example:
Changing the Repeat or Shuffle setting while music is playing
or paused (which results in audio being flushed and tracks
being reloaded immediately since commit 1c80f53)
This creates an issue with themes such as Terminal(Two),
FreshOS, or Themify, which appear to have viewports that
overlap with the UI viewport, thereby wiping out the
Quickscreen viewports.
We now redraw the Quickscreen when a full SBS update is
requested, similar to how it is done by lists. You'll still
see the viewport flash in case of misbehaved themes, so,
ideally, these themes would receive an update by their authors,
removing any viewports that overlap the UI viewport.
Change-Id: I7affbb70fc2e72fd6e1418196559204aec125e12
* Rename LANG_RESET_ASK to LANG_ARE_YOU_SURE,
so that it matches the actual language string
(translations remain valid), and can be repurposed
for generic confirmation prompts, where the
first line says "Are you sure?", and the second
line reiterates the selected action
* Add "Reset Settings" as second line to the prompt
shown before resetting settings, instead of just
asking "Are you sure?"
* Make Shuffle prompt consistent between WPS and
Playlist Viewer, and ask whether user is sure they
want to Shuffle instead of warning them that the
current playlist will be erased, which was a bit
misleading
* Explicitly say "Cancelled" when user answers NO to
erasing the current playlist or to overwriting a file.
Improves consistency with other prompts that are
displayed for potentially destructive actions, e.g.
before items are deleted, renamed, saved, or reset.
* PictureFlow: Prompt before rebuilding/updating cache
Change-Id: Id8ae36db7187315eb1a374701307e6ab4dcdbd1d
Basically, this just replaces str(STRID) with ID2P(STRID).
The voiced version of these strings cannot not have any format
specifiers (enforced by the language tooling) and are instead more
generic.
As many of these are error conditions, it is doubly important for
them to be voiced in some way.
There are some places in the code that perform their own voicing
for splash messages (eg the shutdown code); those are left alone.
Change-Id: I7d51af351e8fa5c4beee42fbfc02719f1d6591b8
Most calls to splashf() use str(IDNUM), those can be safely
moved to ID2P(IDNUM) now. Those will follow.
This change effectively makes splash() a simple wrapper around
splashf() so just make it into a #define instead..
Change-Id: I820e74e34cb4be3f523b25ce3f5dcc341bdba3e4
The 'Purple_Glow_V3' theme uses the following
'UI viewport' setting which is missing a comma
after the viewport height:
ui viewport: 0,0,271,212-,-,-
The setting is actually ignored when loading this theme,
since a UI viewport is already defined in the supplied
SBS file.
Rockbox will crash, though, when and if the next theme
that is loaded resets the SBS by setting it to "-", but
doesn't adjust the UI viewport setting at the same time.
To fix, use default UI viewport when encountering fewer
parameters than expected for the UI viewport setting.
Change-Id: I2648565ac59369ce8ab18d8e84b7fa69ad767f25
This reverts commit 18c8e554fd.
Unfortunately, this approach doesn't play super-well
with *all* themes, specifically in cases where the user-
set background color, used for drawing on the backdrop,
doesn't really blend in with the skin's actual background
color. Plus, it may leave some patches of color behind,
if a theme author didn't take care to cover all parts of
the screen with foreground viewports.
Change-Id: I0159b2e5de6c0753dea54bc6bafe5bc6268a0c6a
Elements from the SBS would disappear after
softlock, for a WPS that displayed an SBS,
if lock notifications were enabled.
If SBS isn't used, the request doesn't
result in any immediate action.
Change-Id: I7f5e8874f4eade6f504b6b3748c9644529587bb2
Prevents flashing an outdated backdrop when moving
from WPS to SBS, if both were using the extra
frame buffer (i.e. both used background viewports),
without having to update the SBS first. I think,
this is actually what we want, rather than commit
c1222d65e2, which attempted the same thing.
Change-Id: Iffc7fe2d351ebdf21a4e7629aba93641c0d30b50
The backdrop layer for the WPS was redrawn
before returning to the SBS, resulting in
unsightly visual effects such as album art
(drawn on the backdrop) losing a frame that
was drawn in the foreground.
Change-Id: If5bb1ba83d79d6d1f637e06f9cc5eab3b97d5906
by checking string len we can cache the USB hid mode strings
I guess if the user doesn't have enough glyphs they might still
might not get the whole thing but this appears to work with
50 glyphs and the referenced russian language selected
remove call to GUI_EVENT_ACTIONUPDATE it is now counterproductive
Change-Id: Ica96ed39c7d002fde2d1888e78d2ea18e7c1d61a
consolidate the logic for PERCENT tags to a single function
is_default() check is redundant in parse_albumart_load()
static bool isdefault(struct skin_tag_parameter *param)
{
return param->type == DEFAULT;
}
Change-Id: I7391224499624db7a95a2630f96e33827d1e7542
Investigating this issue I found that when
SBS and WPS share the same fonts the refcount prevents
the soon to be unused font from unloading
by the time the fnt is unloaded its already too late because the WPS
load failed.
What appears to work is freeing the fonts used by the skin items ahead
of time via skin_reset_buffers() in a separate loop instead of in the
loop used to load the skin files
Change-Id: Ib118163185d48b67b7c96e436bfb6fab8db546a9
when calling splash, splash_progress repeatedly text rearranges and
the width changes leaving artifacts on the screen from the previously
displayed prompt
save the max width seen between calls to ensure the splash
prompt is never more narrow.
Height could be stored in a
similar manner but I deemed it unnecessary as typically the
text gets longer and the prompt increases in height
while the reflow causes the prompt to get more narrow.
keep track of the current activity and reset the max_width
when activities change (except bootloader)
Change-Id: I3303bd9135ab1d7bcf28bd5c28d0ab5346bf2697
Discovered this in the sim with car adapter mode: on
when charger gets disconnected the device is paused
if you have a different screen up the scrolling elems
get redrawn incorrectly over the current screen
to fix check the activity is the WPS, FM, or RECORDING before allowing redraw
Change-Id: Ie3618347fde446fe0b78b9d3c67261ca63ffee1c
Stops “Error accessing playlist control file” message
after returning from USB mode, due to control file
fd being closed
Change-Id: Ic4ecb276ef32f8dc24fe7e540742161b50934c73
remove nvram and use the existing settings framework for it
add a crc check to the user_settings data to see if we need to save
the user setting file or if we can just save the status file (resume.cfg)
move volume to the system_status struct so we don't write the whole settings file
over volume changes
allow user to still export volume with save sound settings
allow the user to also export pitch and speed
name the file .resume.cfg
Rename all the SYSTEM_STATUS save file variables to TLAs to save space and
discourage tinkering
Cleanup DEBUG_AVAIL_SETTINGS output
when saving user_settings it calls status_save as well this cause the resume
file to be written twice. instead remove the callback for status_save
when setting_save is called
remove header text when saving .resume.cfg
convert status_save() to status_save(bool force)
add SYSTEM_STATUS_UPDATE_TICKS
for ATA device set this to 5 minutes
since we arlready wait for the disk to be up before saving
we don't want to miss our window
for all other every 15 minutes
that way if the battery is too low by the time shutdown comes around you
don't lose much progress
Change-Id: I27214ffd6e5d5494ee5ca83b14f04a41ba426ad7
Revisit this after discussion with chris_s on IRC and forum
Pitch menu now changes icon when pitch has been changed
uses NVRAM to save the pitch settings unconditionally
Manual updated
Change-Id: Idcb4c2b7fe42f7a203dc4bfc46285657f370d0fd
if you run yesno screens back to back or another screen with
wait_for_release you may never see the release
instead clear anything in the queue but release events
Change-Id: I1b1e42cbb44f2fdfed441ab1f217b6ea4fe07492
the manual states the following:
%V(0,0,-,-,-) %VB
Use %x(filename, 0, 0) to draw a backdrop image (If you want one!)
Then add %V(0,0,-,-,-)
if you forget then it causes display corruption
due to the uninitialized background buffer
instead make a copy of the current screen into the blank backdrop
so we won't be showing garbled data on the screen
Change-Id: I3f0df131d36537e91688e104c9445a604f657362
Positive values included a leading space, which
meant they weren't displayed center-aligned in
themes anymore.
Change-Id: Ibe75e9b81a2989c87630dd3ea78e4b90c6c74502
no functional changes.
remove some checks for screen when SCREEN_REMOTE
is not present
pack the skin_backdrop struct and use the space to remove
the static bool first_go variable
Change-Id: I17a96749d4995dd8124f3be4dd95bba58ee54b6d
should be no functional changes
looking at the blame for this file shows the buffer was made
static originally due to stack overflow.
Removing static buffer in favor of using the skin buffer
directly shouldn't cause a regression.
Change-Id: I941ed675c5ba8799bea678af61c196eb453a4788
add function get_temp_mp3entry() to return a valid mp3entry from scratch_mem
UNBUFFERED_ID3
or if playback hasn't been started used statically allocated mp3entry
NEXTTRACK_ID3
Change-Id: I3909fb585e0f5ad590f917ce827e991440f1fe75
I think with the recent refactoring we should be able to put mp3entry
on the stack
it should be moved up a level anyway
Change-Id: Idd2af598c48545e3dbc774279b5d2b264012805e
rather than a function call for each qs item along with the data
for those calls in the switch for get_token_value()
it makes more sense to just have the qs_token function
handle all of the logic
Change-Id: I3b3072496611fc2c536eec33c7cdf9fb2ec67ee0
clean-up the switch a bit by putting rtc code in its own function
move the id3 tags to the default branch and only read id3
if its actually needed
Change-Id: I0a6fe9aea646defcfdda731c4c963977173c4133
%ss did not check for the size of the resulting string before
copying it to the buffer
%ft has a search text mode
Change-Id: I1321681c249251aafe0e39bcc510b9e81f0cd0d3
%ft(filename,search_text)
finds a line beginning with search_text strips search_text and returns
the remainder of the line
Change-Id: I06fe029b89aa60e4dbf34c039d180c75213519a4