table settings have a list of valid values when
they do not have F_ALLOW_ARBITRARY_VALS flag
they were not being treated as such
Change-Id: Ib02643a65ee4fc2abb1be8563a1849076de2f708
1) the plugin return value isn't necessarily respected.
2) the screen will be updated regardless, before
the WPS is displayed, which means the skin may
appear in an "incorrect" state for a moment.
It is therefore better to simplify this to a single
condition.
Change-Id: I723e6fe4862172075b9a4814080f612c2b2fb490
idea here as discussed with chris_s is to allow flags
in the hotkey_assignment struct to change how items are displayed
Change-Id: Id4cf1d79fbe3ff8f5590b9a863fccf00ddd457f9
chris_s noted:
When you set the WPS hotkey as a QuickScreen item and shuffle through the options,
it eventually gets to the "Open Plugin" option and will show the File Browser,
clashing with the Viewports of the QuickScreen
Change-Id: I3addbbbac5842f89c000c155484d7cb934dc500e
Lang_id keys take LANG_LAST_INDEX_IN_ARRAY for the checksum
spinning disks did not have the code to do so
Change-Id: I617e1a5462d8d6c4830a9b59171bdd7167d5e7a1
tree_get_filetype_voiceclip is called after init it shouldn't be marked as INIT_ATTR
add _init to the functions & data that are used at init only to be a bit more clear
Change-Id: I8eb1914560b782c2c0fdd7649e761f94e382d5cb
Eliminate flashing when plugins are launched
from WPS, by not enabling the SBS, and by
deferring other lcd updates.
Also prevents flashing root menu activity when
returning from plugins.
Change-Id: I7d761867027f2275c4ab8e16ada3107c7ba0be6e
My impression is that the waiting time for plugins
is only ever significant if a disk needs to spin up.
In other cases, the experience seems nicer
without a 'Loading' splash, especially for
often-used plugins, such as 'Properties',
when it is launched from the Database or
from the File Browser.
Change-Id: I018ccb13466fa618ef089b6dc7714db38cffd9b6
ToggleMode is remapped to BUTTON_SELECT
Reset is remapped to Long BUTTON_HOME or Long BUTTON_SELECT (avoids accidental reset by pressing BUTTON_SELECT)
Change-Id: I6fc4050c66db2d7db7ec899f9c83b70754fef9df
haas surround is causing a seg fault
it appears process is null see https://www.rockbox.org/tracker/task/13382
for details
when the low_latency_callback is enabled it happens less frequently
lets default to an empty process that way there are no NULL pointers to call
Change-Id: Ib72ba1a58cbb20cef04b5ea50964adadeee74a75
Since synclists are now re-initialized after leaving
Settings menus where the callback was used, it
shouldn't be needed anymore.
gui_synclist_init_display_settings can also be made
local to list.c now.
Change-Id: I674e4da49153440b48298fed7c4d98b421b7beaa
1) Adds way to pop activity without refreshing the skin at
the same time.
Activities are sometimes popped in immediate succession,
or one activity is popped before another one is pushed right
away. This can lead to the UI appearing glitchy, due to an
activity only appearing for a split-second, which is especially
noticeable with complex skins that change the dimensions
of the UI viewport depending on the current activity
To fix this, prevent superfluous skin updates
* when switching between:
- WPS and browser
- WPS and Playlist Catalogue
- WPS and playlist
- WPS and Settings/System/Plugins
* when accessing Track Info or when displaying
bookmarks using the context menu on the WPS
* when switching from QuickScreen to Shortcuts Menu
2) The playlist viewer activity was pushed & popped
redundantly by playlist_view.
----
NB:
Behavior has remained unchanged in all instances of the
code where pop_current_activity() has been replaced by
pop_current_activity(ACTIVITY_REFRESH_NOW).
Change-Id: I56b517b8c9dba823a9fed3a3f558d7469dcea9fd
Similar to 59f3f43d. It makes it behave consistently with tree/playlists other menus. So it's possible to exit option select using Back button on Clip Zip or Power button on Rocker
Change-Id: I93fe71ba2222ae16d59f3ba4cfbbedad3fb2568b
the underlying global buffer fo bookmark is overwritten by the read function so
instead make a hash of the playlist and track names
might needa better hash but hopefully CRC32 is sufficient
Change-Id: Ie25dbb62e664b804e4f858d9e0cc248fdc8c9895
90bc769 strips spaces from the settings value, but it
goes to the first space rather than just stripping off
the last one. Break out of the loop when we find the
first non-space character.
Also change 0 to '\0' for readability.
Change-Id: I915b82a6d1603740998a67c575d08005456ffbd8
1) Tree_lists was only initialized when booting the player.
In cases where a skin used custom UI viewports of
different sizes, when switching between screens, such as
between root menu, QuickScreen, and tree browser, this
caused list titles to appear with a significant delay,
unless a GUI_EVENT_ACTIONUPDATE was sent.
Tree_lists is now initialized when entering dirbrowse
or when restoring/reloading the list.
This eliminates multiple redundant UI refreshes when
entering the tree browser, due to gui_synclist_draw not
being called twice anymore and by being able to omit
GUI_EVENT_ACTIONUPDATE.
Separate calls to gui_synclist_init_display_settings
have become unnecessary since it is already called
by gui_synclist_init.
2) The synclist is also re-initialized when returning
from the QuickScreen in the Playlist Viewer or
regular menus, or when returning from Settings
menus
Change-Id: I2884249eda55f782e97abad9dc19b3d9d1267fc9
Have settings_parseline() strip trailing whitespace from
the setting value.
Fixes a regression introduced by 5b1dd64f5, which caused
filename settings to be parsed incorrectly when there is
trailing whitespace in the .cfg file.
Change-Id: I6c54428f6467ea2d169d2a7449705b40627e1a40
mutexes are in just trying to refactor the rest and make it a smaller
and more robust system
--Done
Change-Id: If64807c3e0ee1966f7593795f26f1f538caf831b
Accept a pointer to struct settings_list instead of an index in the
settings array. Refactor the skin engine's touchregion_setup_setting()
to avoid the use of indices.
Change-Id: I784a5e49205da6874b8b419dd5413f722ad45b67
- Fix placement of parentheses from commit 780990
- Return cancel when play_bookmark fails or user declines
to erase dynamic playlist after warning
- Go back to Playlist Catalogue when user cancels out of
screen
Change-Id: Ibe8c315bdf8c6c9e696f68541b5d4d97dc0e778a
global_settings is not defined when building the database tool.
Add a path buffer in tc_stat to fix this. This also avoids race
conditions that may occur if changing the path setting at runtime.
Change-Id: Ib2ca92c2e34929c79b19ef145fd7ccdcd62c8d04
TagNav.lua adds Reload to the Custom View menu of tagnav to allow users to make new search queries on the fly
previously you had to reboot the device to do this
I was getting a data abort prior to calling tagnav_init now but it worked fine if I copy pasted
the contents of the init function
I'm not sure how this fixed it but making a static init function makes it work as intended
is it a race some weird thing with the compiler??
Ideas??
Change-Id: I7fd6c50f929d3ac2d9ecec5336942288e9213ad5
Add a new setting,
database path: /path/to/folder
to change where the database files are stored, which allows it to
be shared by multiple builds when using multiboot. This avoids the
need to maintain a separate copy of the database for each build.
This setting can only be set from the config file; it has no menu
option yet (due to lack of a GUI to pick the directory).
Change-Id: Ide7b3ccdd84abb62b52f900421bd3d101773e093
Provide a function to remove the statefile so that external
users of this define can call that instead.
Change-Id: Id3e1e0564b25fe28bbc68c2e9365d8bf51e6e4f8
This has been defined to 1 since forever, so the last remaining
check presumably isn't catching anything.
Change-Id: I0b60f831a6e5e8fc45788e7581fccb0cb62bce73
Most of the defines in the header file are internal to the tagcache
and therefore should not be exposed in the header, to make it clear
that outside code does not depend on the values.
Change-Id: I83b0c83c61c755231e03719a6845a555f983194a
this needs tested by the heavy playlist users
with the addition of initialize_catalog_buf there shouldn't be any stack overflow concerns
since we are no longer creating another max_path sized buffer when one is already available
this also simplifies the code a bit
rather than carrying around the playlist directory just generate it on the fly
copies the directory to the supplied buffer
add catbroswe_status to keep track of what browse context(s) are currently in use
Change-Id: I145ec501f601c84bb52f2241ed28c6aefab6897b