1. 30 Dec, 2007 1 commit
    • Rafaël Carré's avatar
      fix #1410. · 7b9e1799
      Rafaël Carré authored
      You can not change a playlist_item_t to be a node, when you previously registered events on it, using input_item_t sub items adding event, because the pointer will be destroyed.
      If you want to use nodes anyway, you have to explicitely create them.
      Note: we were lucky that xspf did work so far, because we were EXCLUSIVELY using invalid pointers, except for the 1st item being added to each playlist_item_t (it did happen before the conversion obviously).
      7b9e1799
  2. 23 Dec, 2007 1 commit
    • Pierre d'Herbemont's avatar
      vlc_common.h: · 1421fa57
      Pierre d'Herbemont authored
      * Add some proper assert() to the vlc_gc_* function to spot errors.
      * Correctly initialize the refcount to 1. (This will prevent freed pointer usage). (This may also introduce leaks in some module).
      modules/*.c:
      * Prevent some module to leak input_item_t.
      1421fa57
  3. 16 Dec, 2007 1 commit
  4. 24 Nov, 2007 1 commit
  5. 10 Nov, 2007 1 commit
    • dionoea's avatar
      Port the http interface to the Lua Interface Module framework. · e10d4311
      dionoea authored
       * share/luaintf/http.lua: Equivalent of the legacy modules/control/http/
         module. (The new module takes 272 lines of Lua, instead of 5475 lines for
         the old one.) Functionality is basically the same except for CGI support
         which is missing.
       * share/http-lua/: The HTML files using the new <?vlc [lua code] ?> syntax.
       * modules/misc/lua/: Add Lua bindings for a few VLC function, the most
         important being the HTTPd high level functions, ACLs, stat and opendir.
      
      The Lua code still needs to be cleaned up a bit.
      e10d4311
  6. 05 Nov, 2007 1 commit
    • dionoea's avatar
      * modules/misc/lua: · d5107810
      dionoea authored
         * Add vlc.license()
         * vlc.vlm.execute_command() now returns the VLC error code and the corresponding error message as 2nd and 3rd return values.
       * share/luaintf: add help and module description related stuff to the telnet and rc modules.
      d5107810
  7. 04 Nov, 2007 3 commits
    • dionoea's avatar
      Some more simplification of the luaplaylist/luameta code. · bddd76b0
      dionoea authored
      Fix a few FIXMEs.
      bddd76b0
    • dionoea's avatar
      Don't pop the string before using it (else our pointer points to garbage) and... · 1b653546
      dionoea authored
      Don't pop the string before using it (else our pointer points to garbage) and add a user friendly error message in vlclua_stream_new.
      
      1b653546
    • dionoea's avatar
      Add a new type of VLC Lua module: Interfaces. · de31813f
      dionoea authored
      Two things led me to add this new type of Lua modules:
       * Most interfaces duplicate code from one another (rc and telnet both deal
         with sockets, rc and hotkeys duplicate VLC interfacing code)
       * It's easier to code in Lua than in C (for high level stuff)
      (* Users can code their own module easily, all they need is a text editor.)
      
      Most of the changes in modules/misc/ are Lua wrappers for different C APIs
      in VLC. I'd say that 90% of those wrappers won't change, the other 10% might
       need small changes (mostly to simplify the C code).
      
      The VLC Lua "interface" module will look for lua scripts in the
      *share*/luaintf/ directory. Files in *share*/luaintf/modules/ are lua modules
      which can be used by multiple VLC Lua modules (using require "modulename").
      
      This commit includes 4 Lua interface modules:
       * dummy.lua: the default module. Prints error messages and quits.
       * rc.lua: equivalent to the legacy rc.c module. Also includes a bunch of
         new features (+ multiple socket connections at a time work!). See file for
         more details.
       * telnet.lua: equivalent to the legacy telnet.c module. See file for more
         details.
       * hotkeys.lua: a rewrite of the hotkey handling module. This module is still
         experimental. I'll need to change VLC core hotkeys stuff to make it work
         like I want (ie: 1 hotkey triggers 1 action instead of the current 1 action
         can have 1 hotkey). This version executes 3 dummy actions when keys 'q',
         'w' or 'x' are pressed.
      
      What's left to do:
       * Port the http interface plugin to this framework (at least for the
         macros/rpn part ... using <?vlc some lua code ?> à la PHP would be way
         easier than what we currently have).
       * Finish work on the hotkeys module.
       * Code a real telnet/rc module with autocompletion and all the cool features
         usually found in a telnet/terminal interface.
       * Trash the legacy C modules.
      
      Stuff to test (which I can't test myself):
       * Win32 and Mac OS X specific changes to Makefile.am
       * Console interface under Win32. I expect it not to work.
      
      Other stuff included in this changeset are:
       * Code cleanup (I'm sure that it's still possible to simplify some of the old lua bindings code).
       * That's pretty much it in fact :/
      de31813f