summaryrefslogtreecommitdiff
path: root/apps/plugins/lua (follow)
Commit message (Collapse)AuthorAge
...
* Fix misleading indentation as pointed out by the new gcc warningFrank Gevaerts2016-08-12
| | | | Change-Id: Ia9c0b09ffb57dccbc7d13fce3b3a8a7d46b84857
* lua: don't include rockbox-specific libc headers for the button helper tool.Frank Gevaerts2016-03-18
| | | | | | This fixes the "implicit declaration of function 'printf'" warning Change-Id: I97d247bcab26ddba4d22e0fd19af45fdb47b8cce
* Limit more variables to file scopeThomas Jarosch2015-01-11
| | | | Change-Id: I30219d626316776eb73b4205d63376fa3dbc6361
* lcd-24bit: Introduce a 24-bit mid-level LCD driverThomas Martitz2014-06-21
| | | | | | | | | | | | | | | | | 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
* Revert "Update lua plugin to 5.2.3"Marcin Bukat2014-04-02
| | | | | | 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.
* Update lua plugin to 5.2.3Richard Quirk2014-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* lcd-16bit: Remove {lss,lse,lst}_pattern fields from struct viewport.Thomas Martitz2014-01-07
| | | | | | | 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
* lua: Switch memory allocator from dl to tlsfMarcin Bukat2013-08-26
| | | | | | | | | | | | | | | | | | 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
* Make lbitlib.c include its own header (for the luaopen_bit prototype)Bertrik Sikken2012-05-19
| | | | Change-Id: I6da9d6ff084b89c519f1abfc50ba3375a7d0f958
* Refactor and unify objcopy calls in the build system. Also now properly ↵Thomas Martitz2012-04-04
| | | | | | handles DEBUG builds on hosted targets to keep debug symbols if necessary. Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
* Fix lua unused-variable warning by introducing UNUSED_ATTR.Thomas Martitz2012-02-17
| | | | Change-Id: If19393db123e89e58545c9e0736e6fa32fccb810
* Add playlist wrappers for luaAlbert Bloomfield2012-02-17
| | | | | | | | | | | | | | | | | | | | | | 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>
* Export runtime detected paths to lua scripts. Adapt stopwatch to not useThomas Martitz2012-01-29
| | | | | | hardcoded path. Change-Id: I5b843002d63a332b3fad02973d00b9863d283062
* Lua: Add pluginlib_actions wrapper for lua scripts.Thomas Martitz2012-01-27
| | | | | | Scripts can now make use of PLA_* actions to be more target independant. Change-Id: I1b9f69e07f41b2187ecc1bad25a2c20eaaef92b4
* Add touchscreen_get_mode() to plugin and lua.Thomas Martitz2012-01-27
| | | | Change-Id: I44b8693c689da00f57c14622f4ba3dc554dbbfc9
* Initial commit of the Samsung YP-R0 port.Thomas Martitz2011-12-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* FS#12273 - use buflib for font storage. thanks to the testers :)Jonathan Gordon2011-09-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
* Fix 'unused-but-set-variable' warnings (doom, lua)Rafaël Carré2011-06-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30008 a1c6a512-1295-4272-9138-f99709370657
* FS#12144, Use -fPIC -fvisibility=hidden only for plugins on sim and app ↵Nils Wallménius2011-06-07
| | | | | | 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
* Ged rid of uisimulator/common/io.c for android builds.Thomas Martitz2010-09-01
| | | | | | | | | | | 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
* Second try: Introduce plugin_crt0.c that every plugin links.Thomas Martitz2010-08-24
| | | | | | | | | | | | | 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
* Move setjmp to lib and add setjmp for sh (imported from newlib) and compile ↵Thomas Martitz2010-08-24
| | | | | | | | | 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
* Revert "Introduce plugin_crt0.c that every plugin links."Thomas Martitz2010-08-23
| | | | | | 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
* Introduce plugin_crt0.c that every plugin links.Thomas Martitz2010-08-23
| | | | | | | | | | | | | 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
* lua: make DEBUG undefined by default, as doc statesRafaël Carré2010-07-11
| | | | | | use #ifdef / #ifndef and not #if / #if ! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27387 a1c6a512-1295-4272-9138-f99709370657
* Rename/change SIMVER to APP_TYPE in the Makefiles.Thomas Martitz2010-07-10
| | | | | | | 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
* Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with ↵Thomas Martitz2010-06-21
| | | | | | | | | | | #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
* FS#11347 by me: *dir LUA functions: luadir moduleRafaël Carré2010-06-18
| | | | | | | | | 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
* Lua: document rocklib_aux.pl a bit, so it's easier to find out about it when ↵Maurus Cuelenaere2010-06-18
| | | | | | stumbling over a CC error in rocklib_aux.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26912 a1c6a512-1295-4272-9138-f99709370657
* Lua: make actions.lua, buttons.lua and rocklib_aux.c depend on it generatorsMaurus Cuelenaere2010-06-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26911 a1c6a512-1295-4272-9138-f99709370657
* Make the sim buildable with mingw againFrank Gevaerts2010-05-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26037 a1c6a512-1295-4272-9138-f99709370657
* Move math.h to firmware/libc/include/ and fix slight incompatibilities ↵Thomas Martitz2010-05-14
| | | | | | between our and the host's math.h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26020 a1c6a512-1295-4272-9138-f99709370657
* Fix LUA red and yellow.Michael Sevakis2010-05-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26007 a1c6a512-1295-4272-9138-f99709370657
* Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz2010-05-06
| | | | | | | | 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
* Make open() posix compliant api-wise. A few calls (those with O_CREAT) need ↵Thomas Martitz2010-05-06
| | | | | | 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
* Fix two warnings that appear with gcc4.4.3. The one in recording.c ↵Thomas Martitz2010-03-08
| | | | | | ("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
* Lua fscanf: use pointer of file descriptor instead of file descriptor itself ↵Maurus Cuelenaere2010-02-13
| | | | | | 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
* Fix FS#11007: Lua didn't parse negative numbers correct when reading from filesMaurus Cuelenaere2010-02-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24632 a1c6a512-1295-4272-9138-f99709370657
* Lua: return nil when function failed instead of returning nothingMaurus Cuelenaere2009-10-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23405 a1c6a512-1295-4272-9138-f99709370657
* Also expose functions having (s)size_t or off_t as argument/return type to Lua.Maurus Cuelenaere2009-10-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23403 a1c6a512-1295-4272-9138-f99709370657
* Boomshine plugin : port to Greyscale and B/W targets, and targets without ↵Kevin Ferrare2009-10-29
| | | | | | touchscreen (currently using the virtual keyboard keymap) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23397 a1c6a512-1295-4272-9138-f99709370657
* Lua: add lib/helper.c wrappersMaurus Cuelenaere2009-10-26
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23360 a1c6a512-1295-4272-9138-f99709370657
* Lua: add parts of the math library (all floating point functions are ↵Maurus Cuelenaere2009-10-23
| | | | | | | | | #ifdef'ed out) Flyspray: FS#10389 Author: myself git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23321 a1c6a512-1295-4272-9138-f99709370657
* Lua: add do_menu() wrapper. Also fix potential NULL pointer dereferenceMaurus Cuelenaere2009-10-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23320 a1c6a512-1295-4272-9138-f99709370657
* Use PLUGINFLAGS in lua.make, instead of only CFLAGS.Thomas Martitz2009-10-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23121 a1c6a512-1295-4272-9138-f99709370657
* Make sure to use $(CFLAGS) to get all defines when preprocessing actions.hFrank Gevaerts2009-10-11
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23119 a1c6a512-1295-4272-9138-f99709370657
* Lua plugin: fix bad behaviour for io.open(path, 'w')Maurus Cuelenaere2009-09-06
| | | | | | | Author: Christophe Gragnic Patch: FS#10592 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22645 a1c6a512-1295-4272-9138-f99709370657
* Lua: implement the ^ and % operatorsMaurus Cuelenaere2009-07-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22070 a1c6a512-1295-4272-9138-f99709370657
* Lua: return nil when kbd_input() gets aborted and make it possible to preset ↵Maurus Cuelenaere2009-07-23
| | | | | | 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
* Lua IOlib: when opening files for writing/appending, check if they exist and ↵Maurus Cuelenaere2009-07-17
| | | | | | if not, add O_CREAT. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21918 a1c6a512-1295-4272-9138-f99709370657