Commit Graph

1936 Commits

Author SHA1 Message Date
Gildas Bazin de621e39dd * src/libvlc.h, modules/audio_output: added a global --spdif config option
to allow using the spdif output by default if available.
* modules/misc/dummy/*: on win32 added a quiet mode that doesn't display
   a dos command box.
* modules/control/rc/rc.c: on win32 enabled the echo mode and the
   backspace key.
* modules/codec/mpeg_audio.c: fixed a sync bug.
2003-02-20 16:07:38 +00:00
Sigmund Augdal Helberg 5a13b475ce * include/configuration.h: added a new flag to the configuration stucture to
indicate wether it is an "advanced" option or not. The goal with this is to
hide the user from all the strange options that very seldom needs to be
changed. added an extra argument to all the add_* macros to indicate wether
the item is advanced or not.
* src/libvlc.h: added an "show advanced options" config option default
disabled
* src/libvlc.c: the advanced options are not listed by vlc --help and
friends unless --advanced is used
* modules/gtk/preferences.c: the gtk/gnome preferences dialog don't show
advanced options unless advanced is set
all: set the advanced flag to VLC_FALSE or VLC_TRUE for all options, by
using some common sense. Please check and correct

note: All interfaces should still work like they used to, see the change in
modules/gtk/preferences.c to find out how to "hide" options.

second note: I think I've changed all the modules, but I could not test
everyone for compilation, expect some broken modules (the fix is to add ",
VLC_TRUE" as last argument to the add_* I forgot)
2003-02-20 01:52:47 +00:00
Eric Petit cfa53f6914 * ipv4.c, libvlc.h: add a --ttl option to set time-to-live when
multicasting with the stream output
 * modules/control/: missing cvsignore
2003-02-18 18:33:44 +00:00
Gildas Bazin fccc30cae4 * modules/control/rc/rc.c: finally fixed the rc interface under win32 by
using WaitForSingleObject() on the console handle and ReadConsoleInput().
   (Closes #59)
2003-02-17 16:56:02 +00:00
Sigmund Augdal Helberg b5133d4d75 Added support for volume up/down buttons. 2003-02-16 10:25:57 +00:00
Sigmund Augdal Helberg 3dcb1349a9 *: a new mouse gestures interface, currently supporting back, forward, quit
fullscreen and a nice debug message when you draw a clockwise square. Video
output modules needs to be modified for this to work, but it should be minor
in modules supporting dvd navigation.

btw: it should be easy to add new gestures, ideas appreciated
2003-02-09 23:42:06 +00:00
Christophe Massiot f055f01f00 * aout_Volume* functions now do their own vlc_object_find() on the
audio output. Consequently, the first argument can be any vlc_object_t.
* modules/gui/macosx/*: greatly simplified volume functions ; you can now
  call aout_Volume* even when there is no audio output, and the volume
  will be saved for later use.
2003-02-09 01:13:43 +00:00
Sam Hocevar f7c92985ff * ./modules/access/dvdplay/demux.c: the dvdplay plugin no longer sets the
"interface" variable to "dvdplay" (Closes: #178, #210, and probably a
    bunch of others).
  * ./src/interface/interface.c: added a safety check to circumvent the bug,
    allowing a smooth upgrade.
2003-02-06 23:59:40 +00:00
Gildas Bazin 916664af95 * modules/access/dvdread/input.c, modules/control/rc/rc.c: fixed typos. 2003-01-23 10:25:40 +00:00
Gildas Bazin 77081ffba6 * modules/control/rc/rc.c: Partial fix for the rc interface under win32. On win32, select() only works on
socket descriptors so we don't use it anymore on this platform. Right now we only do a blocking call to
read() although it should be possible to have a fully functionnal interface by using the PeekConsoleInput()
call (someone willing to investigate this ?).
2003-01-23 09:53:55 +00:00
Sam Hocevar 1ff15337c3 * ./modules/control/rc/rc.c: boundary checks for chapter navigation. 2003-01-17 19:22:21 +00:00
Loïc Minier 0acdca901e * typo 2003-01-16 20:08:00 +00:00
Sam Hocevar b25e0c1894 * ./modules/**/.cvsignore: added common *$(LIBEXT) values to .cvsignore. 2003-01-16 09:05:37 +00:00
Christophe Massiot 36ead72d91 * Fixed dual-mono handling of MPEG audio.
* rc.c: fixed a warning.
2003-01-14 14:51:02 +00:00
Sigmund Augdal Helberg b62653a9fd changed the a rule into add and made it work along with others such as play
even when nothing is currently playing. Added a playlist command to list the
entries currently in the playlist. plus some cleanups and sanity checks.
2003-01-14 01:30:09 +00:00
Sigmund Augdal Helberg 762f087853 * src/video_output/video_output.c: add a key-pressed variable to p_vout
* modules/access/dvdplay/intf.c: allow keyboard naviagation in dvd-menus,
by reading the key-pressed variable
 * modules/control/lirc/lirc.c: allow navigation with remote control by
faking keypresses (closes #38). I think the remotes for dvdplayers usually
have buttons for "root menu" and "title menu". Whould this be easily
implemented in vlc?
2003-01-12 15:38:35 +00:00
Sigmund Augdal Helberg b8c2e88ea3 new rule for remote controls with combined play/pause button (like mine has) 2003-01-12 01:26:36 +00:00
Gildas Bazin 215c1a851c * src/misc/objects.c: implemented the FIND_CHILD mode for vlc_list_find().
vlc_object_get() now increments the refcount of the object so you'll need to release
the object at some point.
* src/misc/variables.c, ALL: var_Change() with VLC_VAR_GETLIST now returns a vlc_value_t
which points to a vlc_list_t.
2002-12-14 19:34:07 +00:00
Christophe Massiot ec518727fc * configure.ac.in: Disabled -Wtraditional as it produces much more bogus
warnings than real ones.
* audio output: New intf-change variable to know when audio-channels
  and audio-device have changed.
* video output: New intf-change variable and vout_VarCallback, to know
  when video-device has changed (OS X port).
* modules/gui/macosx/*: Menus for audio channels, implemented volume
  management, added a menu for screen selection.
2002-12-07 23:50:31 +00:00
Gildas Bazin 0d62cd7dd4 * ALL: a few updates to the variables API:
- got rid of the VLC_VAR_COMMAND variable type and introduced the VLC_VAR_ISCOMMAND flag
instead. This simplifies things and avoid the strange command variables behaviour. Command
variables will now trigger their callback on var_Set() like any other variables (look in
modules/control/rc/rc.c for an example).
  - Renamed the VLC_VAR_ISLIST flag into VLC_VAR_HASCHOICE.
  - Added a new VLC_VAR_VOID variable type. This can be useful in conjunction with
VLC_VAR_ISCOMMAND for instance.
2002-12-07 15:25:27 +00:00
Sam Hocevar ade615bfc0 * ./configure.ac.in: removed -W in favour of -Wtraditional.
* ALL: a bunch of additional warning fixes.
2002-12-06 16:34:08 +00:00
Jon Lech Johansen ce31d545f0 * ALL: Fixed some compiler warnings. 2002-12-02 21:13:25 +00:00
Sam Hocevar 736d5c4844 * ./modules/control/rc/rc.c: the seek command is now "seek" and not "r",
and it uses a command variable like other controls. This also fixes a
    bug that prevented to have spaces between the command and its argument.
2002-11-23 20:37:10 +00:00
Gildas Bazin e3d6e0047d * modules/control/rc/rc.c: added commands to navigate between chapters and
titles.
2002-11-20 15:34:39 +00:00
Christophe Massiot 8928554ebd Major change of the channels management. p_format->i_channels disappeares
and is replaced by two members : i_physical_channels and i_original_channels.
i_physical_channels describes the channels which are effectively present
in the stream (at the current point of the aout pipeline), whereas
i_original_channels represents the channels we used to constitute the
stream. For instance a mono stream (FRONT_CENTER) may emanate from a
FRONT_LEFT channel of a STEREO stream.

Additionally, this contains hooks to dynamically select the audio device
and the channels configuration. In order to do that, all aout plugins,
and all interface plug-ins need to be adapted. Currently only SDL
(partially OSS) and the rc interface have been adapted, please use them
as a guide. Other aout plug-ins have been temporarily disabled.

IMPORTANT : if you need a working sound output, DO NOT UPDATE YOUR TREE
for several days until we fix that.

* modules/misc/network/ipv4.c: Fixed a long-standing segfault when saving
  preferences and asking for multicast.
2002-11-14 22:38:48 +00:00
Sam Hocevar bf7985b74a * ./include/vlc/vlc.h, ./src/libvlc.c: added VLC_Error() to the libvlc API.
* ./include/main.h: removed p_vlc->i_status because it was not sufficient
    to represent all the possible states of p_vlc; each part should be tested
    separately upon destruction.
  * ./src/misc/objects.c: fixed a signed/unsigned bug that prevented creation
    of VLC_OBJECT_GENERIC objects.

  * ./src/misc/variables.c: added the VLC_VAR_COMMAND type which is simply a
    variable that stores a function pointer, and calls it when var_Get is
    called for it. The function argument is taken in val.psz_string.
  * ./src/misc/objects.c: vlc_dumpstructure and vlc_liststructure are no longer
    exported to the rest of the program; instead, they're VLC_VAR_COMMAND vars
    ("tree" and "list").
  * ./modules/control/rc/rc.c: moved a few commands to VLC_VAR_COMMAND vars.
2002-10-14 16:46:56 +00:00
Sam Hocevar 464bd2e5b4 Changes to the libvlc API:
* ./include/vlc/vlc.h: changed the naming conventions for libvlc. Now
    exported functions start with VLC_ instead of vlc_ to avoid conflicts.
  * ./include/vlc/vlc.h: removed the vlc_object_t, vlc_list_t, vlc_error_t
    and vlc_t types; they are now internal types only.
  * ./include/vlc/vlc.h: merged the reentrant and non-reentrant libvlc
    calls. In non-reentrant mode, we just use 0 as the first argument. In
    reentrant mode, we use an object's ID. (see below)

Internal changes:
  * ./src/libvlc.c, ./src/misc/objects.c: instead of manipulating vlc_object_t
    pointers, we manipulate their i_object_id. When needed, an object is
    retrieved using vlc_object_get (I hope the lookup isn't too expensive,
    that's why I designed the pp_objects layout to allow log2(n) seeks).
  * ./src/misc/objects.c: activated the per-object variable storage. Unused
    yet, unless you want to try "getfoo" and "setfoo blablah" in vlc -I rc.
  * ./include/vlc_objects.h: moved the vlc_object_t and vlc_list_t definitions
    here.

Misc:
  * ./src/vlc.c, ./mozilla/vlcshell.cpp: removed inclusion of config.h in
    code portions not part of libvlc; it was just required for the
    COPYRIGHT_MESSAGE string which is now available from VLC_Version().
2002-10-11 22:32:56 +00:00
Gildas Bazin 6dafa41984 * FAQ: updated FAQ with config file issues.
* configure.ac.in: use -mms-bitfields instead of -fnative-struct for
   mingw32 gcc-3.x.
* include/interface.h, modules/misc/dummy/interface.c, modules/misc/logger/logger.c,
   modules/control/rc/rc.c: Display message on Win32 explaining how to get
   back to the GUI mode.
* src/misc/threads.c, include/vlc_threads_funcs.h: ignore the
   win9x-cv-method config option on WinNT when fast-mutex is not enabled.
2002-10-03 17:01:59 +00:00
Sam Hocevar 145b1961b4 * ./src/libvlc.c, ./include/main.h: the root of all objects is now
p_libvlc, and each p_vlc is a child of p_libvlc. Reasons for this are:

     o the module bank and the message bank only need to be initialized once,
       which gives faster loads when multiple instances of libvlc are used,
     o we allow the possibility of different p_vlc sharing objects, for
       instance the audio output,
     o the CPU detection is only done once.

    This patch is not polished yet, but I cannot do any intensive tests for
    the moment because of a bug somewhere that leaves audio output objects
    lying here and there which needs to be investigated first. The current
    major issue is that the module bank is no longer freed.
2002-10-03 13:21:55 +00:00
Sam Hocevar 7cca8d8fa0 * ./debian/rules: moved the gtk_main and gnome_main plugins to the gvlc
and gnome-vlc packages.
  * ALL: updated .cvsignore files to properly ignore automake files.
2002-09-30 15:46:47 +00:00
Sam Hocevar 2799d36bc8 * ALL: the build mechanism now uses automake. See HACKING for more details.
* ./mozilla/vlcplugin.cpp: javascript support for the Mozilla plugin.
  * debian/rules: the A52 module is now in a separate package.
2002-09-30 11:05:42 +00:00
Sam Hocevar 864128116a * ALL: added *.am files here and there for future automake support. 2002-09-30 10:00:47 +00:00
Sam Hocevar f0ec49dae5 * ./modules/misc/gtk_main.c: created the gtk_main module, which simply runs
gtk_main() in its own thread, and does nothing on subsequent calls. This
    ensures that gtk_main is only running once.
  * ./modules/gui/familiar/*, modules/gui/gtk/*: the familiar, gtk and gnome
    modules are now fully reentrant thanks to their use of the gtk_main module.
  * ./src/libvlc.c: implemented vlc_set(), a wrapper for config_Put* available
    to external programs.
  * ./src/libvlc.c: removed vlc_stop() and vlc_end(), everything is now done
    by vlc_destroy().
  * ./modules/control/rc/rc.c: implemented a few new functions. For instance,
    run "vlc -I rc" and then type "intf gtk" or "intf gnome". You can even
    launch several of them. "segfault" works, too.
2002-08-20 18:08:51 +00:00
Sam Hocevar c250844e76 * ./modules/control/rc/rc.c: 'l' outputs a list of all allocated objects,
just as 'd' displayed a tree of attached objects.
  * ./src/misc/modules.c: added a missing header.
2002-08-14 08:17:24 +00:00
Sigmund Augdal Helberg a6ef9bbb9d ./modules/control/rc/rc.c: fixed a segfault when pressing 'i' with no
input
2002-08-13 13:15:14 +00:00
Sam Hocevar 19ea8feb6d * ./modules/*: moved plugins to the new tree. Yet untested builds include
waveout, directx, qnx, beos, win32, macosx, and the AltiVec modules.
  * ALL: removed mention of AC3 in favour of A52.
  * ./configure.in, ./Makefile*: modules can now be built deeper than 1
    directory. As a consequence, the build is even slower (but I'm fixing
    this) and make clean doesn't work anymore.
2002-08-04 17:23:44 +00:00