Commit a0c1805b authored by Sam Hocevar's avatar Sam Hocevar

  * Bug fixes and enhancements in the Gtk+/Gnome interfaces.

   o the slider should behave correctly and stop jumping here and
     there (this bug is _not_ related to Stef's similar bug)
   o added an "open network" menu (useless since the input doesn't
     handle it properly yet)
   o tried to reorganize gnome_callbacks.c and gtk_callbacks.c
   o stream date is now displayed instead of percentage
   o renamed gnome_sys.h to intf_gnome.h, and gtk_sys.h to intf_gtk.h

  * Changed documentation and package creation files.

   o added versioned conflicts/replaces to vlc-gtk (Closes Debian bug #88796)
   o removed useless or outdated documentation from doc/*
   o moved vlc.1 manpage from debian/vlc.1 to doc/vlc.1

  * Added basic Qt interface.

   o working features: slide bar, open file, toolbar, popup menu
   o added "qvlc" alias, equivalent to "vlc -I qt"
   o known issues : no "open disc" or "open network" menus yet
                    the IntfWindow class is never cleaned on destruction
                    the popup menu always pop at the middle of the screen

  * Misc fixes/updates.

   o renamed netutils.h functions from input_* to network_*
   o renamed *plst* files and functions to *playlist* (it was stupid
     from me to name them "plst")
   o made a few input error messages more meaningful
   o added -I, -A and -V short flags, corresponding to --intf, --audio
     and --video

    I got a lot of conflicts on this commit, lart me if I forgot a
  file or made old bugs reappear.
parent 93ca3031
......@@ -12,11 +12,18 @@ See `./configure --help' for more information.
Then, run `make' to build vlc.
Here is a shortcut to copy-paste for a clean build:
Here is a shortcut to copy-paste for a complete build:
make distclean 2>/dev/null ; ./configure --prefix=/usr --enable-gnome \
--enable-fb --with-glide --with-ggi --with-sdl --enable-esd \
--enable-alsa --enable-mga --enable-gtk && make
--enable-alsa --enable-mga --enable-gtk --enable-qt && make
If you intend to debug stuff, you may want to disable optimizations:
make distclean 2>/dev/null ; ./configure --prefix=/usr --enable-gnome \
--enable-fb --with-glide --with-ggi --with-sdl --enable-esd \
--enable-alsa --enable-mga --enable-gtk --enable-qt \
--disable-optimizatons && make
Installing and running VideoLAN
......
......@@ -190,7 +190,7 @@ INTERFACE = src/interface/main.o \
src/interface/intf_msg.o \
src/interface/intf_cmd.o \
src/interface/intf_ctrl.o \
src/interface/intf_plst.o \
src/interface/intf_playlist.o \
src/interface/intf_channels.o \
src/interface/intf_console.o \
src/interface/intf_urldecode.o \
......@@ -334,9 +334,11 @@ PLUGIN_GNOME = plugins/gnome/gnome.o \
plugins/gnome/gnome_interface.o \
plugins/gnome/gnome_support.o
PLUGIN_QT = plugins/qt/qt.o \
plugins/qt/intf_qt.o
PLUGIN_KDE = plugins/kde/kde.o \
plugins/kde/intf_kde.o \
plugins/kde/kvlc.o
plugins/kde/intf_kde.o
PLUGIN_IDCT = plugins/idct/idct.o \
plugins/idct/idct_common.o
......@@ -431,6 +433,7 @@ NONSTD_PLUGIN_OBJ = \
NONSTD_CPP_PLUGIN_OBJ = \
$(PLUGIN_BEOS) \
$(PLUGIN_QT) \
$(PLUGIN_KDE)
#
......@@ -456,7 +459,7 @@ all: vlc @ALIASES@ plugins
clean:
rm -f $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(STD_PLUGIN_OBJ)
rm -f plugins/*/*.o src/*/*.o lib/*.so
rm -f vlc kvlc gvlc
rm -f vlc gvlc kvlc qvlc
distclean: clean
rm -f src/*/*.o plugins/*/*.o **/*~ *.log
......@@ -494,7 +497,7 @@ show:
snapshot:
rm -rf /tmp/vlc-@VLC_VERSION@* /tmp/vlc-@VLC_VERSION@nocss*
# copy archive in /tmp
find -type d | grep -v CVS | grep -v '^\.dep' | while read i ; \
find -type d | grep -v CVS | grep -v '\.dep' | while read i ; \
do mkdir -p /tmp/vlc-@VLC_VERSION@/$$i ; \
done
find debian -mindepth 1 -maxdepth 1 -type d | \
......@@ -534,7 +537,7 @@ FORCE:
# GTK/Gnome and Framebuffer aliases - don't add new aliases which could bloat
# the namespace
#
gvlc kvlc: vlc
gvlc kvlc qvlc: vlc
rm -f $@ && ln -s vlc $@
......@@ -569,18 +572,25 @@ $(STD_PLUGIN_OBJ): %.o: %.c
$(PLUGIN_GTK): %.o: Makefile.dep
$(PLUGIN_GTK): %.o: .dep/%.d
$(PLUGIN_GTK): %.o: %.c
$(CC) $(CFLAGS) $(PCFLAGS) `glib-config --cflags glib` `gtk-config --cflags gtk` -c -o $@ $<
$(CC) $(CFLAGS) $(PCFLAGS) `gtk-config --cflags gtk` -c -o $@ $<
$(PLUGIN_GNOME): %.o: Makefile.dep
$(PLUGIN_GNOME): %.o: .dep/%.d
$(PLUGIN_GNOME): %.o: %.c
$(CC) $(CFLAGS) $(PCFLAGS) `glib-config --cflags glib` `gnome-config --cflags gnomeui` -c -o $@ $<
$(CC) $(CFLAGS) $(PCFLAGS) `gnome-config --cflags gtk gnomeui` -c -o $@ $<
$(PLUGIN_GLIDE): %.o: Makefile.dep
$(PLUGIN_GLIDE): %.o: .dep/%.d
$(PLUGIN_GLIDE): %.o: %.c
$(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/glide -c -o $@ $<
$(PLUGIN_QT): %.o: Makefile.dep
$(PLUGIN_QT): %.o: .dep/%.dpp
$(PLUGIN_QT): %.o: %.moc
$(CC) $(CFLAGS) $(PCFLAGS) -I/usr/include/qt -c -o $@ $(<:%.moc=%.cpp)
$(PLUGIN_QT:%.o=%.moc): %.moc: %.cpp
moc -i $< -o $@
$(PLUGIN_KDE): %.o: Makefile.dep
$(PLUGIN_KDE): %.o: .dep/%.dpp
$(PLUGIN_KDE): %.o: %.cpp
......@@ -621,6 +631,9 @@ endif
lib/dsp.so: $(PLUGIN_DSP)
$(CC) $(PCFLAGS) -shared -o $@ $^
lib/qt.so: $(PLUGIN_QT)
$(CC) $(PCFLAGS) -shared -o $@ $^ -lqt
lib/kde.so: $(PLUGIN_KDE)
$(CC) $(PCFLAGS) -shared -o $@ $^ -lkdeui -lkdecore -lqt -ldl
......
This diff is collapsed.
......@@ -148,7 +148,6 @@ dnl default case
else
GVLC=0
KVLC=0
AC_ARG_ENABLE(dummy,
[ --disable-dummy dummy module (default enabled)])
......@@ -209,9 +208,12 @@ AC_ARG_WITH(glide,
AC_ARG_ENABLE(ncurses,
[ --enable-ncurses ncurses interface support (default disabled)],
[if test x$enable_ncurses = xyes; then PLUGINS=${PLUGINS}"ncurses "; fi])
AC_ARG_ENABLE(qt,
[ --enable-qt Qt interface support (default disabled)],
[if test x$enable_qt = xyes; then PLUGINS=${PLUGINS}"qt "; ALIASES=${ALIASES}"qvlc "; fi])
AC_ARG_ENABLE(kde,
[ --enable-kde KDE interface support (default disabled)],
[if test x$enable_kde = xyes; then PLUGINS=${PLUGINS}"kde "; KVLC=1; fi])
[if test x$enable_kde = xyes; then PLUGINS=${PLUGINS}"kde "; ALIASES=${ALIASES}"kvlc "; fi])
AC_ARG_ENABLE(gnome,
[ --enable-gnome Gnome interface support (default disabled)],
[if test x$enable_gnome = xyes; then PLUGINS=${PLUGINS}"gnome "; GVLC=1; fi])
......@@ -227,7 +229,6 @@ AC_ARG_ENABLE(alsa,
[if test x$enable_alsa = xyes; then AC_CHECK_HEADER(sys/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false") if test $have_alsa = true; then PLUGINS=${PLUGINS}"alsa "; fi; fi])
if test x$GVLC = x1 ; then ALIASES=${ALIASES}"gvlc "; fi
if test x$KVLC = x1 ; then ALIASES=${ALIASES}"kvlc "; fi
fi
......
vlc (0.2.63-3) unstable; urgency=low
* Added versioned conflicts/replaces to vlc-gtk (Closes: #88796).
-- Samuel Hocevar <sam@zoy.org> Wed, 7 Mar 2001 20:47:48 +0100
vlc (0.2.63-2) unstable; urgency=low
* Glide shouldn't cause any non-x86 problems anymore (Closes: #88583).
......
vlc-css (0.2.63-3) unstable; urgency=low
* New vlc package.
-- Samuel Hocevar <sam@zoy.org> Wed, 7 Mar 2001 20:47:48 +0100
vlc-css (0.2.63-2) unstable; urgency=low
* Fixed versioned dependencies against vlc.
-- Samuel Hocevar <sam@zoy.org> Mon, 5 Mar 2001 21:37:19 +0100
vlc-css (0.2.63-1) unstable; urgency=low
* New upstream release.
......
......@@ -26,6 +26,8 @@ Description: Gnome plugin for the VideoLAN Client
Package: vlc-gtk
Architecture: any
Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
Replaces: vlc-gnome (<= 0.2.63-2)
Conflicts: vlc-gnome (<= 0.2.63-2)
Description: Gtk+ plugin for the VideoLAN Client
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
......@@ -73,3 +75,19 @@ Description: Glide plugin for the VideoLAN Client
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
This is a Glide (3dfx) plugin for the VideoLAN Client.
Package: vlc-qt
Architecture: any
Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
Description: Qt plugin for the VideoLAN Client
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
This plugin adds a Qt interface to the VideoLAN Client.
Package: vlc-kde
Architecture: any
Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
Description: KDE plugin for the VideoLAN Client
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
This plugin adds a KDE interface to the VideoLAN Client.
......@@ -7,7 +7,7 @@ Standards-Version: 3.0.1
Package: vlc-css
Architecture: any
Depends: ${shlibs:Depends}, vlc
Depends: ${shlibs:Depends}, vlc (= ${Source-Version})
Description: CSS plugin for the VideoLAN Client
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
......
......@@ -18,13 +18,13 @@ build-stamp:
--infodir=\$${prefix}/share/info \
--enable-gnome --enable-gtk --enable-fb --with-glide \
--with-ggi --with-sdl --enable-esd --enable-alsa \
--disable-ppro ; \
--with-qt --with-kde --disable-ppro ; \
else \
./configure --prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--enable-gnome --enable-gtk --enable-fb --with-ggi \
--with-sdl --enable-esd --enable-alsa; \
--with-qt --with-kde --with-sdl --enable-esd --enable-alsa; \
fi
$(MAKE)
......@@ -49,7 +49,12 @@ install: build
DESTDIR=`pwd`/debian/vlc/ $(MAKE) install prefix=/usr
# make symlinks for packages
for alias in ggi gtk gnome glide esd sdl alsa ; do \
if [ $(DEB_BUILD_ARCH) = i386 ]; then \
$$aliases="ggi gtk gnome glide esd sdl alsa qt kde" ; \
else \
$$aliases="ggi gtk gnome esd sdl alsa qt kde" ; \
fi ; \
for alias `echo $$aliases` ; do \
mkdir -p debian/vlc-$$alias/usr/share/doc/ ; \
ln -s vlc debian/vlc-$$alias/usr/share/doc/vlc-$$alias ; \
mkdir -p debian/vlc-$$alias/usr/lib/videolan/vlc/ ; \
......@@ -59,12 +64,22 @@ install: build
mkdir -p debian/vlc-gtk/usr/bin/
mv debian/vlc/usr/bin/gvlc debian/vlc-gtk/usr/bin/
mkdir -p debian/vlc-kde/usr/bin/
mv debian/vlc/usr/bin/kvlc debian/vlc-kde/usr/bin/
mkdir -p debian/vlc-qt/usr/bin/
mv debian/vlc/usr/bin/qvlc debian/vlc-qt/usr/bin/
mkdir -p debian/vlc-gtk/usr/share/videolan/
mv debian/vlc/usr/share/videolan/gvlc.png \
debian/vlc/usr/share/videolan/gvlc.xpm \
debian/vlc-gtk/usr/share/videolan/
mkdir -p debian/vlc-gtk/usr/share/man/man1/
ln -s vlc.1.gz debian/vlc-gtk/usr/share/man/man1/gvlc.1.gz
mkdir -p debian/vlc-kde/usr/share/man/man1/
ln -s vlc.1.gz debian/vlc-kde/usr/share/man/man1/kvlc.1.gz
mkdir -p debian/vlc-qt/usr/share/man/man1/
ln -s vlc.1.gz debian/vlc-qt/usr/share/man/man1/qvlc.1.gz
# Build architecture-independent files here.
binary-indep: build install
......@@ -83,10 +98,10 @@ binary-arch: build install
# dh_installpam
# dh_installinit
dh_installcron
dh_installmanpages -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-sdl -Nvlc-alsa
dh_installmanpages -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-sdl -Nvlc-alsa -Nvlc-qt -Nvlc-kde doc/vlc.1
dh_installinfo
# dh_undocumented
dh_installchangelogs -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-sdl -Nvlc-alsa
dh_installchangelogs -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-sdl -Nvlc-alsa -Nvlc-qt -Nvlc-kde
dh_link
dh_strip
dh_compress
......
* interface :
+ il semble que si l'on envoie 2 messages de logs l'un immediatement
apres l'autre, le 2e ne soit jamais affiche (cf debut du DemuxPES)
+ l'envoi repeté de commandes dans la console provoque un segfault
- ce bug est du à la xconsole, qu'il faudra de toute manière
reprogrammer avec un widget quelconque (je recommande wx, qui est
portable, mais moche il est vrai), donc je vais pas me casser à le
corriger (Ptyx)
- vérifier qu'il est bien du à xconsole et non à intf_ExecCommand :-\
(Ptyx)
* video_output/X11 :
+ quand une XShmImage n'a jamais été affichée, la fermer provoque une
erreur (fatale ?) du serveur -> plantage de vout_thread
+ erreur lors de la fermeture 'brutale' de la fenêtre
- en cours de correction - j'ai trouvé comment signaler au WM qu'une
fenêtre est capable de se fermer propremenet sur un ClientMessage,
mais pas encore comment intercepter ce ClientMessage :-\ (Ptyx)
* input :
+ lorsque le vlc est appelé avec --novideo, le son n'est pas joué, bien
que décodé... parce que la synchro ou l'input n'envoie pas de date à
l'audio decoder... parce que les PCRs sont contenus dans la partie
video... solution : traiter TOUS les TS, afin de pouvoir récupérer les
PCRs (MaXX)
* ac3_decoder :
+ éviter le SIGSEGV lorsque le décodeur se mange du garbage (MaXX)
Schma de dpendance des headers et rgles d'criture
=====================================================
Ce document dcrit les dpendances entre les diffrents headers utiliss
par le projet, ainsi que l'ordre dans lequel ils devraient tre appels.
La totalit de ces headers, dans l'ordre, est regroup dans le fichier
"all.h", pour faciliter la mise en place de nouvelles structures.
Les headers inscrits entre parenthses sont ncessaires indirectement.
Merci de maintenir ce fichier jour.
Headers systmes (appels par ordre de repertoire et alphabetique)
------------------------------------------------------------------
#include <pthread.h>
#include <netinet/in.h>
#include <sys/soundcard.h>
#include <sys/uio.h>
#include <X11/Xlib.h>
#include <X11/extensions/XShm.h>
#include <X11/xpm.h>
Headers communs
---------------
#include "config.h"
#include "common.h" -> may depend of "config.h"
#include "mtime.h"
#include "netutils.h" -> <netinet/in.h>
#include "xutils.h" -> <X11/Xlib.h>
Input
-----
#include "input.h" -> <pthread.h>, <sys/uio.h>, "config.h", "common.h"
#include "input_vlan.h" -> <pthread>, <netinet/in.h>
#include "decoder_fifo.h" -> <pthread.h>, (<sys/uio.h>), ("config.h"), ("common.h"), "input.h"
#include "netlist.h" -> <prhtread.h>, (<sys/uio.h>), "config.h", ("common.h"), "input.h"
#include "pcr.h" -> (<pthread.h>), (<sys/uio.h>), ("config.h"), ("common.h"), "input.h"
#include "psi.h" -> (<pthread.h>), (<sys/uio.h>), ("config.h"), ("common.h"), "input.h"
Audio
-----
#include "audio_decoder.h" -> *le nant :)*
#include "audio_output.h" -> <pthread.h>, <sys/soundcard.h>, "config.h", "common.h", "mtime.h"
#include "audio_dsp.h" -> (<pthread.h>), (<sys/soundcard.h>), ("config.h"), ("common.h"),
("mtime.h"), "audio_output.h"
Video
-----
#include "video.h" -> ("config.h"), "common.h", "mtime.h"
#include "video_graphics.h" -> ("config.h"), ("common.h"), ("mtime.h"), "video.h"
#include "video_output.h" -> <pthread.h>, "config.h", "common.h", ("mtime.h"), "video.h"
#include "video_x11.h" -> (<pthread.h>) <X11/Xlib.h>, <X11/extensions/XShm.h>,
("config.h"), ("common.h"), ("mtime.h"), "video.h", "video_output.h"
#include "video_decoder.h" -> <pthread.h>, (<sys/uio.h>), ("config.h"), "common.h", ("mtime.h"),
"input.h", "decoder_fifo.h", ("video.h"), "video_output.h"
Interface
---------
#include "xconsole.h" -> <X11/Xlib.h>, "config.h"
#include "interface.h" -> (<pthread.h>), (<sys/uio.h>), (<X11/Xlib.h>),
(<X11/extensions/XShm.h>), "config.h", "common.h", ("mtime.h"),
"input.h", ("video.h"), "video_output.h", "xconsole.h"
#include "intf_msg.h" -> <pthread.h>, "config.h", "common.h", "mtime.h"
#include "intf_cmd.h"
#include "control.h" -> ??
#include "intf_ctrl.h" -> "intf_cmd.h"
Ressources partages
--------------------
#include "pgm_data.h" -> (<pthread.h>), (<netinet/in.h>), (<sys/soundcard.h>), (<sys/uio.h>),
(<X11/Xlib.h>),
(<X11/extensions/XShm.h>), ("config.h"), "common.h", ("mtime.h"),
"input.h", "input_vlan.h", "audio_output.h" , "video.h",
("video_output.h"), "xconsole.h", "interface.h", "intf_msg.h"
Autres headers, qui sont condamns disparaitre ou ne sont pas utiliss
------------------------------------------------------------------------
#include "network.h" illisible, uniquement utilis dans network.c
#include "rsc_files.h"
xconsole will also change
FreeBSD:
-#ifdef __FreeBSD__
-remplacer les sys/soundcard.h par machine/soundcard.c
-problme avec getopt
LinuxPPC:
-problme avec la libpthreads ? (ou avec le serveur X ?)
Vlan server protocol and library *draft*
========================================
telnet-based protocol. Client commands are text, server responses are numbers followed by
an explicative text (like irc). Common messages number should probalbly be grouped.
Two different notions: session and connexion
session has a long timeout (several hours), and should not use server-side resources
connexion has a short timeout (a few minutes) and can use server-side resources (thread)
A vlan resource (switch+port) is identified by a unique id. Changes can obviously be done
with this id, but also, for administrative facilities, with other identifiers.
Client commands:
LOGIN <login> [<application>]
-> open connexion, required before any communication with server. Login and password should
correspond to groups (admin, users...) rather than individual ids. Application is for stats.
answers: 100: ok
101: rejected, invalid login
102: rejected, too many connexions
103: rejected, forbidden source
104: rejected, already logged in
109: rejected, other reason
password required
PASS <password>
LOGOUT -> close connexion
answer: 200: ok, session closed
OPEN <client-session-id>
-> open session. required before any write operations
answers: 300: <server-session-id>
301: rejected, not authorized
302: rejected, too many sessions
399: rejected, other reason
RECOVER <client-session-id> <server-session-id>
-> recover session. Both id are required for security.
answer: 400: ok
401: rejected, not authorized (invalid login or something else)
402: rejected, invalid ids
403: rejected, session already active on another connexion
499: rejected, other reason
CLOSE [<server-session-id>]
-> close session. Session must be active for normal users.
answer: 500: ok, session closed
501: error, not loged in
502: error: active session
503: error: not authorized
STATUS ME
STATUS MAC <mac>
STATUS IP <ip>
STATUS ID <rsc-id>
give informations about something
answer: 600: mark beginning of status info
601: mark end of status info
602: error, not authorized
603: error, unknown
604: error, request failed
610: <rsc-id>
611: <vlan>
612: <ip>
613: <mac>
614: <switch-ip>
615: <switch-port>
616: <number of interfaces dependant of this resource>
617: <lock info>
699: error, other reason
LOCK ME
LOCK MAC <mac>
LOCK IP <ip>
LOCK ID <rsc-id>
lock a resource id (session required)
answers:
UNLOCK ME
UNLOCK MAC <mac>
UNLOCK IP <ip>
UNLOCK ID <id>
unlock a resource id (session required)
answers:
CHANGE ME <vlan>
CHANGE MAC <mac> <vlan>
CHANGE IP <ip> <vlan>
CHANGE ID <id> <vlan>
change a vlan (session required)
Administrative commands:
HELP
print list of commands
answer:
KICK
RESET
LIST IDS
LIST MACS
LIST IPS
LIST SESSIONS
LIST CONNECTIONS
LIST LOGINS
QUIT
CONFIRM
......@@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH VLC 1 "August 15, 2000"
.TH VLC 1 "March 10, 2001"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
......@@ -16,7 +16,7 @@
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
vlc, gvlc, kvlc \- The VideoLAN Client
vlc, gvlc, kvlc, qvlc \- The VideoLAN Client
.SH SYNOPSIS
.B vlc
.RI [ OPTIONS ]
......@@ -25,15 +25,15 @@ vlc, gvlc, kvlc \- The VideoLAN Client
.SH DESCRIPTION
This manual page documents briefly the
.B vlc
, a free MPEG2 player.
, a free MPEG, MPEG2 and DVD player.
.SH OPTIONS
.B vlc
follows the usual GNU command line syntax, with long
options starting with two dashes (`-').
A summary of options is included below.
.TP
.B \-\-intf <module>
Specify an interface module: "gnome", "curses", "shell", for instance.
.B \-I, \-\-intf <module>
Specify an interface module: "gnome", "curses", "qt", for instance.
.TP
.B \-\-warning <level>
Select the warning level. 0 is the most verbose, 3 is almost mute.
......@@ -41,7 +41,7 @@ Select the warning level. 0 is the most verbose, 3 is almost mute.
.B \-\-noaudio
Disable audio output.
.TP
.B \-\-aout <module>
.B \-A, \-\-aout <module>
Specify an audio output module: "dsp", "esd", for instance.
.TP
.B \-\-stereo, \-\-mono
......@@ -50,7 +50,7 @@ Choose stereo or mono audio output
.B \-\-novideo
Disable video output.
.TP
.B \-\-vout <module>
.B \-V, \-\-vout <module>
Specify a video output module: "x11", "sdl", "fb", for instance.
.TP
.B \-\-motion <module>
......@@ -88,7 +88,7 @@ heuristics based on CPU usage.
displays I and P images and every second B image, and `IPB' forces
displaying of all images.
Note that vlc is certainly going to crash if you ask it to
Note that vlc is not guaranteed to behave properly if you ask it to
display more images than your CPU can cope with.
.TP
.B \-t, \-\-dvdtitle <title>
......
/*****************************************************************************
* intf_plst.h : Playlist functions
* intf_playlist.h : Playlist functions
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
*
......@@ -51,7 +51,7 @@ typedef struct playlist_s
playlist_item_t* p_item;
} playlist_t;
/* Used by intf_PlstAdd */
/* Used by intf_PlaylistAdd */
#define PLAYLIST_START 0
#define PLAYLIST_END -1
......@@ -67,13 +67,13 @@ typedef struct playlist_s
/*****************************************************************************
* Prototypes
*****************************************************************************/
playlist_t * intf_PlstCreate ( void );
void intf_PlstInit ( playlist_t * p_playlist );
int intf_PlstAdd ( playlist_t * p_playlist,
int i_pos, char * psz_item );
int intf_PlstDelete ( playlist_t * p_playlist,
int i_pos );
void intf_PlstNext ( playlist_t * p_playlist );
void intf_PlstPrev ( playlist_t * p_playlist );
void intf_PlstDestroy ( playlist_t * p_playlist );
void intf_PlstJumpto ( playlist_t * p_playlist , int i_pos);
playlist_t * intf_PlaylistCreate ( void );
void intf_PlaylistInit ( playlist_t * p_playlist );
int intf_PlaylistAdd ( playlist_t * p_playlist,
int i_pos, const char * psz_item );
int intf_PlaylistDelete ( playlist_t * p_playlist, int i_pos );
void intf_PlaylistNext ( playlist_t * p_playlist );
void intf_PlaylistPrev ( playlist_t * p_playlist );
void intf_PlaylistDestroy ( playlist_t * p_playlist );
void intf_PlaylistJumpto ( playlist_t * p_playlist , int i_pos);
......@@ -3,7 +3,7 @@
* This header describes miscellanous utility functions shared between several
* modules.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* Copyright (C) 1999, 2000, 2001 VideoLAN
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Henri Fallon <henri@videolan.org>
......@@ -26,5 +26,6 @@
/*****************************************************************************
* Prototypes
*****************************************************************************/
int input_BuildLocalAddr( struct sockaddr_in *, int, boolean_t );
int input_BuildRemoteAddr(struct sockaddr_in *, char * );
int network_BuildLocalAddr ( struct sockaddr_in *, int, boolean_t );
int network_BuildRemoteAddr( struct sockaddr_in *, char * );
......@@ -3,7 +3,7 @@
*****************************************************************************
* Copyright (C) 1996, 1997, 1998, 1999, 2000 VideoLAN
*
* Authors:
* Authors: Samuel Hocevar <sam@zoy.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......
......@@ -2,7 +2,7 @@
* intf_beos.cpp: beos interface
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: intf_beos.cpp,v 1.19 2001/03/07 16:32:59 richards Exp $
* $Id: intf_beos.cpp,v 1.20 2001/03/15 01:42:19 sam Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
......@@ -76,7 +76,7 @@ extern "C"
#include "input_ext-intf.h"
#include "interface.h"
#include "intf_plst.h"
#include "intf_playlist.h"
#include "intf_msg.h"
#include "audio_output.h"
#include "MsgVals.h"
......@@ -263,7 +263,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
if(p_message->FindString("device", device) != B_ERROR)
{
sprintf(device_method_and_name, "dvd:%s", *device);
intf_PlstAdd( p_main->p_playlist, PLAYLIST_END, device_method_and_name );
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, device_method_and_name );
}
break;
......@@ -387,8 +387,8 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
if( p_message->FindRef( "refs", &ref ) == B_OK )
{
BPath path( &ref );
char * psz_name = strdup(path.Path());
intf_PlstAdd( p_main->p_playlist, PLAYLIST_END, psz_name );
intf_PlaylistAdd( p_main->p_playlist,
PLAYLIST_END, path.Path() );
}
}
......
......@@ -39,13 +39,13 @@
#include "input_ext-intf.h"
#include "interface.h"
#include "intf_plst.h"
#include "intf_playlist.h"
#include "intf_msg.h"
#include "gnome_sys.h"
#include "gnome_callbacks.h"
#include "gnome_interface.h"
#include "gnome_support.h"
#include "intf_gnome.h"
#include "main.h"
......@@ -58,9 +58,112 @@ static __inline__ intf_thread_t * GetIntf( GtkWidget *item, char * psz_parent )
"p_intf" ) );
}
/*****************************************************************************
* Interface callbacks
*****************************************************************************
* The following callbacks are related to the main interface window.
*****************************************************************************/
void
on_intf_window_destroy (GtkObject *object,
gpointer user_data)
{
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(object), "intf_window" );
vlc_mutex_lock( &p_intf->change_lock );
p_intf->b_die = 1;
vlc_mutex_unlock( &p_intf->change_lock );
}
gboolean
on_slider_button_press_event (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data)
{
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" );
vlc_mutex_lock( &p_intf->change_lock );
p_intf->p_sys->b_slider_free = 0;
vlc_mutex_unlock( &p_intf->change_lock );
return FALSE;
}
gboolean
on_slider_button_release_event (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data)
{
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" );
vlc_mutex_lock( &p_intf->change_lock );
p_intf->p_sys->b_slider_free = 1;
vlc_mutex_unlock( &p_intf->change_lock );
return FALSE;
}
void
on_intf_window_drag_data_received (GtkWidget *widget,
GdkDragContext *drag_context,
gint x,
gint y,
GtkSelectionData *data,
guint info,
guint time,