rockbox/apps
William Wilgus dc87e9e9f3 Selective Backlight/Advanced Softlock - Selective actions based on context
Selective backlight allows the user to choose actions that will not
enable the backlight when pressed.

Advanced softlock allows user to choose actions that  will not be
blocked by screenlock on devices without a hold button.

Both only occur in FM and WPS Contexts.

Update:
Back from the dead
-Cleaned up code, removed unnecessary calls, re-arranged last filter action
  timeout conditional to work in case last_filtered_action_tick was never set
-Added entries to the manual
-Fixed back button on some menus not activating backlight
-Made menus more intuitive, no actions selected now changes menu item to off.
-Added talk fuctionality.
-Added option to disable selective backlight while on external power.
-Rewrote backlight and softlock handling code to fix issue with scrollwheels
-Menu changed to have toggle(yes/no) and settings
-Optimized selective actions lookup
-Added option to disable notification of 'buttons locked' while softlocked
-Removed uneeded code, consolidated action lookup to single function
-Fixed incorrect name on selective softlock menu
-Added option to disable touch on touchscreen devices
-Fixed backlight on original screenlock without selective screenlock active
-Added text selection in mask_select for when show_icons is off
-Fixed voice in mask_select to speak if voice is defined instead of spelling
-Added more lang defines (play skip seek)
-Added option to disable unknown keys turning on backlight
-Fixed Conditional argument In wrong place causing players without
	backlight to fail to build
-Fixed Disable Unknown blocking detection of context change
-Fixed canceling menu didn't update new settings
-Added Autolock on backlight off
-Removed backlight_on_force from backlight.c, Now sets ignore next to false
	and uses backlight_on
-Cleaned up autolock code added strings to lang file
-Fixed issue where rapid presses would bypass softlock
-Removed old softlock code, Cleaned selective actions code
-Changed menu to match existing RB menus
-Fixed Backlight_on_Hold blocked by backlight_ignore_next
-Fixed ignore_next for ipod
-Fixed bug allowing context with softlock to bypass selective backlight
-Changed mask_select to no longer prompt for changes to be saved
-Changed menu names
-Added ignore timeout to allow ipod scroll wheel to work properly and other
 players to still work properly, removed some previous code including
 ignore_event
-Increased ignore timeout to prevent sd card accesses from interrupting action
 code and turning on backlight
-Changed Unknown action to unmapped action in menu, changed handling code
-Removed unneeded logic and variables for handling unfiltered actions
-Reverted unmapped action code to previous functionality
-Added manual entries (thanks JohnB)
-Removed elusive unhandled unicode character from manual, changed formatting slightly

Actions:
Volume,Play,Seek,Skip

Extras:
Disable unmapped actions
Disable selective backlight on external power
Disable touch during softlock on touchscreen devices
Disable softlock notifications (power button still notifies)
Autolock on backlight off

Method:
Adds a function to ignore backlight on next call
 If selected action occurs backlight is forced on,
 Filter_first_keypress stays intact.

Selective softlock allows selected actions through, bypasses the normal
 softlock routine.

ToDo:
DONE

previous commit (#1) has attribution for folder_select.c which mask_select
is based from.

Change-Id: I08132ddcfd64c81751ef23b720f3ec6d68695fe4
2017-01-17 23:06:17 +01:00
..
bitmaps bitmaps: Use *x16.bmp also for upcoming 24bit targets (they are actually 24bit BMPs). 2014-06-21 00:13:58 +02:00
gui Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
hosted/android Fix reds. 2014-03-14 23:43:45 +01:00
iap iAP: fix USB storage mount after using an iAP accessory 2016-08-26 00:16:16 +02:00
keymaps zenxfi3: fix recording keymap and simulator keymap 2016-09-21 00:29:42 +01:00
lang Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
menus Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
player
plugins puzzles: more accurate sin() and cos() 2017-01-16 20:54:56 +01:00
radio Replace SAMSUNG_YH920_PAD with YH92X 2016-01-25 09:23:09 +01:00
recorder Fix FS#12981 JPEG decoding problem when entropy data starts with FF 2016-04-01 19:29:41 +02:00
abrepeat.c ab_repeat: Move GUI bits to the skin engine. This allows ab_repeat to be compiled headless. 2014-03-10 22:55:26 +01:00
abrepeat.h ab_repeat: Move GUI bits to the skin engine. This allows ab_repeat to be compiled headless. 2014-03-10 22:55:26 +01:00
action.c Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
action.h Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
alarm_menu.c Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope. 2011-10-15 19:35:02 +00:00
alarm_menu.h
appevents.h Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04:00
applimits.h
apps.make
audio_path.c iAP: lingo 1 (microphone) 2015-10-07 06:15:04 +02:00
audio_thread.c talk: Remove superflous call to talk_init(). 2014-02-02 19:40:38 +01:00
audio_thread.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
beep.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
bookmark.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
bookmark.h Fix minor bookmark problems/Enhance bookmark functions 2012-03-12 08:54:02 +01:00
buffering.c Cleanup unused function 2016-04-04 11:06:29 +02:00
buffering.h Remove I/O priority. It is harmful when used with the new file code. 2014-08-30 14:01:21 -04:00
codec_thread.c Remove I/O priority. It is harmful when used with the new file code. 2014-08-30 14:01:21 -04:00
codec_thread.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
codecs.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
core_asmdefs.c
cuesheet.c Implements starting playback from a cuesheet. 2014-03-10 04:13:53 +01:00
cuesheet.h Implements starting playback from a cuesheet. 2014-03-10 04:13:53 +01:00
debug_menu.c Fix checking for CONFIG_CHARGING 2016-04-04 11:19:51 +02:00
debug_menu.h dbg_ports() : move proto to system.h 2012-01-04 05:21:44 +00:00
enc_config.c
enc_config.h
features.txt Get rid of USE_ROCKBOX_USB 2015-01-08 16:07:12 +01:00
filetree.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
filetree.h
filetypes.c Fix color of files with no extension. 2013-06-05 18:35:09 -04:00
filetypes.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
fracmul.h Build librbcodec with DSP and metadata. 2012-03-18 12:00:39 +01:00
keyboard.h
language.c
language.h
logfdisp.c Don't add new message to logf when we dump it to file 2016-04-04 11:07:44 +02:00
logfdisp.h
main.c iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
menu.c menus: Stop scrolling before entering the USB screen or remnants of the previous list could appear on it. 2014-01-16 00:25:40 +01:00
menu.h FS#12251 - User shortcuts in the main menu. 2011-11-15 13:22:02 +00:00
misc.c Save bookmark and settings on shutdown at low battery level on players without HD 2016-04-04 11:07:04 +02:00
misc.h usb screen: Push the usb screen onto the activity stack. This enables %cs tag support for it. 2014-01-16 00:26:45 +01:00
mpeg.c Implement time-based resume and playback start. 2014-03-10 04:12:30 +01:00
mpeg.h
onplay.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
onplay.h FS#12251 - User shortcuts in the main menu. 2011-11-15 13:22:02 +00:00
pcmbuf.c Fix previous errors for targets with no crossfade. 2017-01-05 03:22:47 -05:00
pcmbuf.h Playback: Fix problems with crossfade on short tracks. 2017-01-05 02:37:14 -05:00
playback.c Fix broken logf 2016-03-30 20:48:17 +00:00
playback.h playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
playlist.c Reenable database ramcache and playlist dircache 2017-01-17 15:27:47 -05:00
playlist.h Reenable database ramcache and playlist dircache 2017-01-17 15:27:47 -05:00
playlist_catalog.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
playlist_catalog.h
playlist_menu.h
playlist_viewer.c Don't shorten the playlist on shuffle. Fixes FS#13040 2015-04-19 12:31:45 +02:00
playlist_viewer.h
plugin.c Fix broken logf 2016-03-30 20:48:17 +00:00
plugin.h Clarify usb_powered() and fix some code. 2015-01-08 16:45:32 +01:00
rbcodec_helpers.c Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROL 2012-05-09 14:32:38 +02:00
rbcodecconfig.h kernel: Break out kernel primitives into separate files and move to separate dir. 2014-03-03 18:11:57 +01:00
rbcodecplatform.h rbcodec: abstract tdspeed buffer allocation 2012-05-07 10:29:07 +02:00
README
root_menu.c iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
root_menu.h root_menu: Remove previous_music_is_wps() and change previous_music via event callback. 2014-04-15 23:54:28 +02:00
screen_access.c Fix put_line via multiscreen API on remotes. Stupid me. 2014-01-08 10:45:00 +01:00
screen_access.h put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling. 2014-01-12 01:34:06 +01:00
screens.c Fix more reds. 2013-12-15 00:47:21 +01:00
screens.h
scrobbler.c iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
scrobbler.h Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04:00
settings.c Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
settings.h Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
settings_list.c Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
settings_list.h Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
shortcuts.c Shortcuts: Add move callback for buflib allocations 2015-01-02 01:11:54 +01:00
shortcuts.h shortcuts: talk the time and configure the sleep timeout 2011-12-08 10:23:46 +00:00
sound_menu.h
SOURCES Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
status.c
status.h
tagcache.c Reenable database ramcache and playlist dircache 2017-01-17 15:27:47 -05:00
tagcache.h Implement time-based resume and playback start. 2014-03-10 04:12:30 +01:00
tagnavi.config
tagtree.c events: Rework event subsystem (add_event, send_event) to be more versatile. 2014-03-14 23:36:30 +01:00
tagtree.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
talk.c talk: On hwcodec disabling DMA interrupt is required during buflib move 2014-02-03 12:43:05 +01:00
talk.h talk: Add debug menu entry to view statistics about talk engine. 2014-02-02 19:40:39 +01:00
tree.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
tree.h Implement time-based resume and playback start. 2014-03-10 04:12:30 +01:00
usb_keymaps.c remove superfluous ifdef 2011-12-28 19:23:38 +00:00
usb_keymaps.h
voice_thread.c Fix warnings. 2014-02-03 12:33:33 +01:00
voice_thread.h voice_thread_init was left INIT_ATTR but is being called too late. 2012-05-21 15:21:36 -04:00

For general information see: docs/README
For API information see: docs/API