summaryrefslogtreecommitdiff
path: root/apps/plugins/lua (unfollow)
Commit message (Collapse)Author
2016-08-12Fix misleading indentation as pointed out by the new gcc warningFrank Gevaerts
Change-Id: Ia9c0b09ffb57dccbc7d13fce3b3a8a7d46b84857
2016-03-18lua: don't include rockbox-specific libc headers for the button helper tool.Frank Gevaerts
This fixes the "implicit declaration of function 'printf'" warning Change-Id: I97d247bcab26ddba4d22e0fd19af45fdb47b8cce
2015-01-11Limit more variables to file scopeThomas Jarosch
Change-Id: I30219d626316776eb73b4205d63376fa3dbc6361
2014-06-21lcd-24bit: Introduce a 24-bit mid-level LCD driverThomas Martitz
With LCD driver all calculation will be performed on RGB888 and the hardware/OS can display from our 24bit framebuffer. It is not yet as performance optimized as the existing drivers but should be good enough.The vast number of small changes is due to the fact that fb_data can be a struct type now, while most of the code expected a scalar type. lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit it enforces the generic C code. All plugins are ported over. Except for rockpaint. It uses so much memory that it wouldnt fit into the 512k plugin buffer anymore (patches welcome). Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
2014-04-02Revert "Update lua plugin to 5.2.3"Marcin Bukat
FILE typedef to *void needs more work to not break sim and application builds. I checked only a few random native builds unfortunately. Sorry for inconvenience.
2014-04-02Update lua plugin to 5.2.3Richard Quirk
Prior to this patch the Lua plugin used version 5.1.4. This change reduces the number of modifications in the Lua source using some new defines and because the upstream source is now more flexible. Unless otherwise stated, l*.[ch] files are taken unmodified from the upstream lua-5.2.3. fscanf.c: file descriptors in rockbox are just ints, they are hidden behind a void* now so liolib requires less modifications. fscanf is updated to use void* too. getc.c: this is a new file required for getc implementation in lauxlib.c lauxlib.c: LoadF replaced FILE* with int, the rockbox file descriptor int are cast to FILE* (actually void* due to typedef). getc uses the PREFIX version. stdin is not used, as per 5.1.4. lbaselib.c: now uses strspn in the number parsing. print uses DEBUGF now rather than being commented out. lbitlib.c: use the built-in version from 5.2.3 rather than Reuben Thomas's external library. Backwards compatible and adds some new bit operations. ldo.c: the LUAI_THROW/TRY defines are now in the core lua code, so have been removed from rockconf.h liolib.c: here the implementation has changed to use the LStream from the original source, and cast the FILE* pointers to int. This has reduced the number of modifications from the upstream version. llex.c: the only change from upstream is to remove the locale include. lmathlib.c: updated from the 5.2.3 version and re-applied the changes that were made vs 5.1.4 for random numbers and to remove unsupported float functions. loadlib.c: upstream version, with the 5.1.4 changes for missing functions. lobject.c: upstream version, with ctype.h added and sprintf changed to snprintf. loslib.c: upstream version with locale.h removed and 5.1.4 changes for unsupportable functions. lstrlib.c: sprintf changed to snprintf. ltable.c: upstream with the hashnum function from 5.1.4 to avoid frexp in luai_hashnum. luaconf.h: updated to 5.2.3 version, restored relevant parts from the original 5.1.4 configuration. The COMPAT defines that are no longer available are not included. lundump.c: VERSION macro conflicts with the core Rockbox equivalent. rocklib.c: luaL_reg is no longer available, replaced by luaL_Reg equivalent. Moved checkboolean/optboolean functions to this file and out of core lua files. luaL_getn is no longer available, replaced by luaL_rawlen. luaL_register is deprecated, use the newlib/setfuncs replacements. rli_init has to be called before setting up the newlib to avoid overwriting the rb table. rocklib_aux.pl: use rli_checkboolean from rocklib.c. rocklua.c: new default bits library used, update the library loading code with idiomatic 5.2 code. strcspn.c: no longer needed, but strspn.c is required for strspn in lbaselib.c Change-Id: I0c7945c755f79083afe98ec117e1e8cf13de2651 Reviewed-on: http://gerrit.rockbox.org/774 Tested: Richard Quirk <richard.quirk@gmail.com> Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2014-01-07lcd-16bit: Remove {lss,lse,lst}_pattern fields from struct viewport.Thomas Martitz
These where used for line styling during scrolling, which is now done in apps/, The viewport struct doesn't need to record these anymore. Change-Id: I810d9dcb2644b00a798c6e75acab69c74a78e77f
2013-08-26lua: Switch memory allocator from dl to tlsfMarcin Bukat
Instead of providing yet another memory allocator implementation use tlsf and simply link tlsf library. Another small improvement is to *grow* memory pool by grabbing audiobuffer instead of just switching to use audiobuf exclusively. Tested with simple lua 'memory eater' script. This patch extends tlsf lib slightly. You can provide void *get_new_area(size_t * size) function which will override weak dummy implementation provided in lib itself. This allows to automaticaly initialize memory pool as well as grow memory pool if needed (for example grab audiobuffer when pluginbuffer is exhaused). Change-Id: I841af6b6b5bbbf546c14cbf139a7723fbb982f1b
2012-05-19Make lbitlib.c include its own header (for the luaopen_bit prototype)Bertrik Sikken
Change-Id: I6da9d6ff084b89c519f1abfc50ba3375a7d0f958
2012-04-04Refactor and unify objcopy calls in the build system. Also now properly ↵Thomas Martitz
handles DEBUG builds on hosted targets to keep debug symbols if necessary. Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
2012-02-17Fix lua unused-variable warning by introducing UNUSED_ATTR.Thomas Martitz
Change-Id: If19393db123e89e58545c9e0736e6fa32fccb810
2012-02-17Add playlist wrappers for luaAlbert Bloomfield
adds wrappers for the functions playlist_sync, playlist_remove_all_tracks, and playlist_insert_track, playlist_insert_directory playlist_{sync,remove_all_tracks} take no arguments playlist_insert_{track,directory} only have one required argument (either the filename or directory name) They take as optional arguments position, queue, and either sync or recurse They all just pass NULL to work with the current playlist also adds constants for: PLAYLIST_PREPEND, PLAYLIST_INSERT, PLAYLIST_INSERT_LAST, PLAYLIST_INSERT_FIRST, PLAYLIST_INSERT_SHUFFLED, PLAYLIST_REPLACE, and PLAYLIST_INSERT_LAST_SHUFFLED Change-Id: Ib7464cba50e7a250edf092e50668f11010f2b737 Reviewed-on: http://gerrit.rockbox.org/109 Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2012-01-29Export runtime detected paths to lua scripts. Adapt stopwatch to not useThomas Martitz
hardcoded path. Change-Id: I5b843002d63a332b3fad02973d00b9863d283062
2012-01-27Lua: Add pluginlib_actions wrapper for lua scripts.Thomas Martitz
Scripts can now make use of PLA_* actions to be more target independant. Change-Id: I1b9f69e07f41b2187ecc1bad25a2c20eaaef92b4
2012-01-27Add touchscreen_get_mode() to plugin and lua.Thomas Martitz
Change-Id: I44b8693c689da00f57c14622f4ba3dc554dbbfc9
2011-12-24Initial commit of the Samsung YP-R0 port.Thomas Martitz
This port is a hybrid native/RaaA port. It runs on a embedded linux system, but is the only application. It therefore can implement lots of stuff that native targets also implement, while leveraging the underlying linux kernel. The port is quite advanced. User interface, audio playback, plugins work mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page). Included in utils/ypr0tools are scripts and programs required to generate a patched firmware. The patched firmware has the rootfs modified to load Rockbox. It includes a early/safe USB mode. This port needs a new toolchain, one that includes glibc headers and libraries. rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may also work. Most of the initial effort is done by Lorenzo Miori and others (on ABI), including reverse engineering and patching of the original firmware, initial drivers, and more. Big thanks to you. Flyspray: FS#12348 Author: Lorenzo Miori, myself Merry christmas to ypr0 owners! :) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-09-24FS#12273 - use buflib for font storage. thanks to the testers :)Jonathan Gordon
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-06-17Fix 'unused-but-set-variable' warnings (doom, lua)Rafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30008 a1c6a512-1295-4272-9138-f99709370657
2011-06-07FS#12144, Use -fPIC -fvisibility=hidden only for plugins on sim and app ↵Nils Wallménius
builds and enable it for 32 bit too. Fixes linking errors on simbuilds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29983 a1c6a512-1295-4272-9138-f99709370657
2010-09-01Ged rid of uisimulator/common/io.c for android builds.Thomas Martitz
Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants. Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know). For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one, the values can be retrieved via the new dir_get_info(). Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
2010-08-24Second try: Introduce plugin_crt0.c that every plugin links.Thomas Martitz
It handles exit() properly, calling the handler also when the plugin returns normally (also make exit() more standard compliant while at it). It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore. To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it. In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit(). In future plugin_crt0.c could also handle clearing bss, initializing iram and more. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24Move setjmp to lib and add setjmp for sh (imported from newlib) and compile ↵Thomas Martitz
it as separate library. It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs so it doesn't fit into sources. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
2010-08-23Revert "Introduce plugin_crt0.c that every plugin links."Thomas Martitz
Too much errors and no time to fix them now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23Introduce plugin_crt0.c that every plugin links.Thomas Martitz
It handles exit() properly, calling the handler also when the plugin returns normally (also it makes exit() more standard compliant while at it). It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore. To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it. In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit(). In future plugin_crt0.c could also handle clearing bss, initializing iram and more. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-07-11lua: make DEBUG undefined by default, as doc statesRafaël Carré
use #ifdef / #ifndef and not #if / #if ! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27387 a1c6a512-1295-4272-9138-f99709370657
2010-07-10Rename/change SIMVER to APP_TYPE in the Makefiles.Thomas Martitz
SIMVER was really only used to detect a simulator build. With APP_TYPE you can now differentiate between simulator, application, checkwps and database builds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
2010-06-21Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with ↵Thomas Martitz
#if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR). The new define is to (de-)select code to compile on hosted platforms generally. Should be no functional change to targets or the simulator. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-18FS#11347 by me: *dir LUA functions: luadir moduleRafaël Carré
mkdir and rmdir are now in this module and not in the rockbox API implements the 'dir' iterator to browse directories Based on LuaFileSystem : http://www.keplerproject.org/luafilesystem git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26913 a1c6a512-1295-4272-9138-f99709370657
2010-06-18Lua: document rocklib_aux.pl a bit, so it's easier to find out about it when ↵Maurus Cuelenaere
stumbling over a CC error in rocklib_aux.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26912 a1c6a512-1295-4272-9138-f99709370657
2010-06-18Lua: make actions.lua, buttons.lua and rocklib_aux.c depend on it generatorsMaurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26911 a1c6a512-1295-4272-9138-f99709370657
2010-05-14Make the sim buildable with mingw againFrank Gevaerts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26037 a1c6a512-1295-4272-9138-f99709370657
2010-05-14Move math.h to firmware/libc/include/ and fix slight incompatibilities ↵Thomas Martitz
between our and the host's math.h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26020 a1c6a512-1295-4272-9138-f99709370657
2010-05-14Fix LUA red and yellow.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26007 a1c6a512-1295-4272-9138-f99709370657
2010-05-06Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz
directory, also standard'ify some parts of the code base (almost entirely #include fixes). This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06Make open() posix compliant api-wise. A few calls (those with O_CREAT) need ↵Thomas Martitz
the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-03-08Fix two warnings that appear with gcc4.4.3. The one in recording.c ↵Thomas Martitz
("compact_view is used uninitialized" seems to be false positive unfortunately). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25082 a1c6a512-1295-4272-9138-f99709370657
2010-02-13Lua fscanf: use pointer of file descriptor instead of file descriptor itself ↵Maurus Cuelenaere
to avoid 64-bit pointer<->int clash (aka fix yellow). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24633 a1c6a512-1295-4272-9138-f99709370657
2010-02-13Fix FS#11007: Lua didn't parse negative numbers correct when reading from filesMaurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24632 a1c6a512-1295-4272-9138-f99709370657
2009-10-29Lua: return nil when function failed instead of returning nothingMaurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23405 a1c6a512-1295-4272-9138-f99709370657
2009-10-29Also expose functions having (s)size_t or off_t as argument/return type to Lua.Maurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23403 a1c6a512-1295-4272-9138-f99709370657
2009-10-29Boomshine plugin : port to Greyscale and B/W targets, and targets without ↵Kevin Ferrare
touchscreen (currently using the virtual keyboard keymap) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23397 a1c6a512-1295-4272-9138-f99709370657
2009-10-26Lua: add lib/helper.c wrappersMaurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23360 a1c6a512-1295-4272-9138-f99709370657
2009-10-23Lua: add parts of the math library (all floating point functions are ↵Maurus Cuelenaere
#ifdef'ed out) Flyspray: FS#10389 Author: myself git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23321 a1c6a512-1295-4272-9138-f99709370657
2009-10-23Lua: add do_menu() wrapper. Also fix potential NULL pointer dereferenceMaurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23320 a1c6a512-1295-4272-9138-f99709370657
2009-10-11Use PLUGINFLAGS in lua.make, instead of only CFLAGS.Thomas Martitz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23121 a1c6a512-1295-4272-9138-f99709370657
2009-10-11Make sure to use $(CFLAGS) to get all defines when preprocessing actions.hFrank Gevaerts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23119 a1c6a512-1295-4272-9138-f99709370657
2009-09-06Lua plugin: fix bad behaviour for io.open(path, 'w')Maurus Cuelenaere
Author: Christophe Gragnic Patch: FS#10592 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22645 a1c6a512-1295-4272-9138-f99709370657
2009-07-27Lua: implement the ^ and % operatorsMaurus Cuelenaere
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22070 a1c6a512-1295-4272-9138-f99709370657
2009-07-23Lua: return nil when kbd_input() gets aborted and make it possible to preset ↵Maurus Cuelenaere
the input string (based on FS#10455 by Christophe Gragnic) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22008 a1c6a512-1295-4272-9138-f99709370657
2009-07-17Lua IOlib: when opening files for writing/appending, check if they exist and ↵Maurus Cuelenaere
if not, add O_CREAT. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21918 a1c6a512-1295-4272-9138-f99709370657