* modules/misc/lua:
* 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.
qt4 - SPrefs: define a caching general value ( Custom, lowest, low, normal, high, highest) that control all the caching values in the preferences for dummies.
Preferences for dummies should now be finished. ref #603
Rafaël Carré [Sun, 4 Nov 2007 23:42:06 +0000 (23:42 +0000)]
screensaver: replaces system() calls by fork()/execv()/waitpid()
A side effect is that on FreeBSD the console is not filled anymore with "xscreensaver-xxx not found", because "/bin/sh xx 2>&-" will not close stderr if the specified command doesn't exist.
Add a new type of VLC Lua module: Interfaces.
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 :/
Remove unneed setting of val.b_bool before calling var_Set( p_input, "rate-{faster,slower}", val ) in the rc module. Those variables are of type VLC_VAR_VOID.
Add a psz_intf member to intf_thread_t. This holds the string given to module_Need to load the interface (which can then be used by the interface to know what name was used to load it).
* we don't need AUTHORS, THANKS, COPYING and README (generic edition) inside our app bundle anymore, as they're either hard-coded or present on the disk-image anyway
Rafaël Carré [Sat, 3 Nov 2007 14:28:52 +0000 (14:28 +0000)]
lua: adds a copyright notice and a GPLv2+ header to each lua script
authors: feel free to change to the licence you want, and to add yourself to the Authors list
additionnally, adds break.lua to its Makefile.am
Qt4 - Fix the saving of the preferences to avoid inaccuracies between the panels.
Preferences for dummies ( #603 ) is now almost done in Qt4. Please test and review my commits.
Qt4 - Preferences, don't remove the widgets to re-add them! Just use hide/show... A stackedLayout would have been a better idea, but this should work.
Please report any breakage, as it might be wrong somewhere.
Move qt4/dialogs/about.hpp to include/vlc_about.h so all interfaces modules can use it.
The change in configure.ac is suboptimal. It would be better to change DEFAULT_INCLUDES to use -I${top_builddir}/include rather than -I${top_builddir}. Automake wizard requested.
Qt4 - SPrefs, device selection. Please Review, since I am far from sure that this is a good idea...
Moreover, is it config_PutPsz( p, name, ASCII ) or config_PutPsz( p, name, UTF-8 ) ?
Felix Paul Kühne [Sun, 28 Oct 2007 22:33:21 +0000 (22:33 +0000)]
* fixed Apple Remote support for Leopard. Note that the cookie for kRemoteControl_Switched wasn't updated, but since we don't use this feature in VLC, that's pretty fine.