1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps
William Wilgus 3e2b50ed3b lua events from rockbox
This library allows events to be subscribed / recieved within a lua script
most events in rb are synchronous so flags are set and later checked by a
secondary thread to make them (semi?) asynchronous.

There are a few caveats to be aware of:

FIRST, The main lua state is halted till the lua callback(s) are finished
 Yielding will not return control to your script from within a callback
 Also, subsequent callbacks may be delayed by the code in your lua callback
SECOND, You must store the value returned from the event_register function
 you might get away with it for a bit but gc will destroy your callback
 eventually if you do not store the event
THIRD, You only get one cb per event type
 ["action", "button", "custom", "playback", "timer"]
 (Re-registration of an event overwrites the previous one)

Usage:
 possible events =["action", "button", "custom", "playback", "timer"]

 local evX = rockev.register("event", cb_function, [timeout / flags])
  cb_function([id] [, data]) ... end

 rockev.suspend(["event"/nil][true/false]) passing nil affects all events
  stops event from executing, any but the last event before
  re-enabling will be lost, passing false, unregistering or re-registering
  an event will clear the suspend

 rockev.trigger("event", [true/false], [id])
  sets an event to triggered,
  NOTE!, CUSTOM_EVENT must be unset manually
  id is only passed to callback by custom and playback events

 rockev.unregister(evX)
  Use unregister(evX) to remove an event
  Unregistering is not necessary before script end, it will be
  cleaned up on script exit

Change-Id: Iea12a5cc0c0295b955dcc1cdf2eec835ca7e354d
2019-07-19 20:48:34 -05:00
..
bitmaps Agptek Rocker: Initial commit 2018-06-12 10:31:14 +02:00
gui Fix truncation warning color_picker.c->draw_screen 2019-07-10 06:31:22 +02: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 rocker: Correct a bad keymap in the bookmark screen 2019-02-03 19:40:06 -05:00
lang Updated Serbian translation 2019-07-15 14:09:25 +02:00
menus YH-820: prohibit to change time/date on some hardware versions 2019-02-07 23:06:54 +01:00
player
plugins lua events from rockbox 2019-07-19 20:48:34 -05:00
radio Do not touch FM tuner when it is turned off 2018-12-24 00:01:02 +01:00
recorder Fix possible truncation albumart.c 2019-07-09 22:58:06 -05: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 Fix REMOTE_CONTEXT failure 2019-04-22 16:23:28 -05:00
action.h Action.c FIX / Rework / Clean-up Action System 2017-11-18 16:08:07 +01:00
alarm_menu.c Fix menu warnings 2018-10-18 00:06:31 +02:00
alarm_menu.h Fix menu warnings 2018-10-18 00:06:31 +02:00
appevents.h Get voice event out of playback.c 2017-12-12 20:28:56 -05:00
applimits.h
apps.make Android: use APPEXTRA instead of makefile hack 2011-03-11 16:08:36 +00:00
audio_path.c nwzlinux: add support for radio 2017-11-06 21:37:06 +01:00
audio_thread.c Get voice event out of playback.c 2017-12-12 20:28:56 -05: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 FS#6323: Speech for ID3 viewer, playlist catalog and playlist viewer 2018-12-15 18:00:23 +01:00
bookmark.h Fix minor bookmark problems/Enhance bookmark functions 2012-03-12 08:54:02 +01:00
buffering.c Buffering: Missed converting one case assuming const handle size. 2017-12-19 14:19:39 -05:00
buffering.h Get rid of useless playlist probing and fix up some data types. 2017-12-17 16:33:50 -05:00
codec_thread.c fix builds broken by the selective stack bump for opus seeking. 2018-10-09 15:00:48 -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 Fix Truncation warning in cuesheet.c->browse_cuesheet 2018-12-08 04:47:27 -06:00
cuesheet.h Implements starting playback from a cuesheet. 2014-03-10 04:13:53 +01:00
debug_menu.c Fix possible truncation misc.c->output_dyn_value + use Kibytes 2018-12-09 22:54:55 -06:00
debug_menu.h Fix menu warnings 2018-10-18 00:06:31 +02:00
enc_config.c Fix menu warnings 2018-10-18 00:06:31 +02:00
enc_config.h Fix menu warnings 2018-10-18 00:06:31 +02:00
features.txt Add HAVE_LINEOUT_DETECTION to features.txt 2019-01-12 18:05:13 -05:00
filetree.c filetree.c add checks for invalid file entries 2018-12-14 06:09:38 -06:00
filetree.h
filetypes.c AAC bitstream format files support 2018-12-22 20:12:10 -05: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 Add stdio.h include for SEEK_SET define to various files. 2010-12-25 18:43:34 +00:00
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 Agptek Rocker: Implement USB mass storage driver 2018-06-12 10:31:15 +02: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 Fix menu warnings 2018-10-18 00:06:31 +02:00
misc.c FS#12353: For car adapter mode, make delay before resuming configurable 2019-02-03 23:36:57 +01:00
misc.h FS#10311 -- Add beep when navigating to beginning or end of list. 2019-01-31 15:25:35 +01:00
mpeg.c Implement time-based resume and playback start. 2014-03-10 04:12:30 +01:00
mpeg.h
onplay.c Fix minor issues introduced in fe95127 (Playlist playing time) 2019-02-04 02:31:07 +01:00
onplay.h FS#11711: Add ability to create bookmark from WPS hotkey 2019-01-02 17:35:48 +01:00
pcmbuf.c Fix a problem with audio not starting on a list of short files 2017-04-06 19:32:35 -04:00
pcmbuf.h Fix a problem with audio not starting on a list of short files 2017-04-06 19:32:35 -04:00
playback.c Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss) 2018-12-22 12:27:21 -06:00
playback.h Fix playback.c audio_track_count() warning 2018-10-18 09:57:20 -04:00
playlist.c playlist.c suppress playlist access error on usb plug 2019-01-04 05:28:26 +01:00
playlist.h Reenable database ramcache and playlist dircache 2017-01-17 15:27:47 -05:00
playlist_catalog.c Fix possible truncation playlist_catalog.c->catalog_add_to_a_playlist 2019-07-10 06:52:43 +02:00
playlist_catalog.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
playlist_menu.h Updated our source code header to explicitly mention that we are GPL v2 or 2008-06-28 18:10:04 +00:00
playlist_viewer.c FS#6323: Speech for ID3 viewer, playlist catalog and playlist viewer 2018-12-15 18:00:23 +01:00
playlist_viewer.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
plugin.c Remove buffering functions from plugin API. 2017-12-17 18:43:23 -05:00
plugin.h Remove buffering functions from plugin API. 2017-12-17 18:43:23 -05: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 Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss) 2018-12-22 12:27:21 -06:00
screens.h Fix menu warnings 2018-10-18 00:06:31 +02:00
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 Fix potential buffer overflow in settings.c 2019-01-08 03:44:32 +01:00
settings.h Fix reversal of "always/never" in "LCD setting > Sleep (After Backlight Off)" 2019-06-27 14:19:05 +02:00
settings_list.c FS#12353: For car adapter mode, make delay before resuming configurable 2019-02-03 23:36:57 +01:00
settings_list.h Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss) 2018-12-22 12:27:21 -06:00
shortcuts.c Shortcuts, Fix FS#13151 Deleting shortcut removes name, icon, talkclip 2018-12-10 12:04:55 -06:00
shortcuts.h shortcuts: talk the time and configure the sleep timeout 2011-12-08 10:23:46 +00:00
sound_menu.h Fix menu warnings 2018-10-18 00:06:31 +02:00
SOURCES Add Xuelin iHIFI 770/770C/800 support 2019-01-02 08:10:01 -05:00
status.c
status.h
tagcache.c Database: Fix destabilization if ramcache fails to load + misc. 2017-04-01 13:01:20 -04:00
tagcache.h Implement time-based resume and playback start. 2014-03-10 04:12:30 +01:00
tagnavi.config FS#12132 patch 7: Add a new default format for untagged tracks: 2011-07-31 16:26:39 +00:00
tagtree.c tagtree.c->loadroot() guard against overflow 2019-07-10 09:38:36 +02:00
tagtree.h Fix menu warnings 2018-10-18 00:06:31 +02:00
talk.c Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss) 2018-12-22 12:27:21 -06:00
talk.h Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss) 2018-12-22 12:27:21 -06:00
tree.c Fix tree.c static allocation detection during buffer move 2019-02-07 05:52:19 +01:00
tree.h Fix tree.c->tree_get_entry_at() buffer overflow 2018-12-14 01:28:17 -06:00
usb_keymaps.c remove superfluous ifdef 2011-12-28 19:23:38 +00:00
usb_keymaps.h
voice_thread.c Get voice event out of playback.c 2017-12-12 20:28:56 -05: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