Browse Source
* ./mozilla/vlcplugin.cpp: javascript support for the Mozilla plugin. * debian/rules: the A52 module is now in a separate package.pull/2/head
133 changed files with 2375 additions and 3274 deletions
@ -1,8 +1,448 @@ |
|||
SUBDIRS = src include modules mozilla extras \
|
|||
debian doc ipkg lib po share m4 intl |
|||
###############################################################################
|
|||
# Automake targets and declarations
|
|||
###############################################################################
|
|||
|
|||
ACLOCAL_AMFLAGS = -I m4 |
|||
# SUBDIRS stores the directories where a "make" is required when building
|
|||
# something. DIST_SUBDIRS stores the directories where nothing is built but
|
|||
# which have makefiles with distribution information.
|
|||
SUBDIRS = po intl m4 share |
|||
DIST_SUBDIRS = $(SUBDIRS) modules src debian doc ipkg lib |
|||
|
|||
EXTRA_DIST = BUGS FAQ HACKING MAINTAINERS STATUS \
|
|||
INSTALL.win32 README.MacOSX.rtf \
|
|||
config.rpath mkinstalldirs |
|||
INSTALL.win32 README.MacOSX.rtf vlc.spec install-win32 \
|
|||
Modules.am macosx-dmg \
|
|||
configure.ac.in mkinstalldirs bootstrap |
|||
MOSTLYCLEANFILES = |
|||
BUILT_SOURCES = |
|||
SUFFIXES = |
|||
|
|||
# List of programs, libraries and headers that need to be built and/or
|
|||
# distributed. Initialized to empty because we'll use += later.
|
|||
bin_PROGRAMS = |
|||
|
|||
lib_LIBRARIES = |
|||
libvlc_LIBRARIES = |
|||
noinst_LIBRARIES = |
|||
|
|||
noinst_HEADERS = |
|||
|
|||
# Tell aclocal to use -I m4. Wonder if it really works.
|
|||
ACLOCAL_AMFLAGS = -I m4 |
|||
|
|||
###############################################################################
|
|||
# Compilation flags for debug mode, profiling, and others
|
|||
###############################################################################
|
|||
|
|||
# Standard flags used everywhere to build things in the distribution. Some
|
|||
# of them are empty but might be extended later in the Makefile. *_default
|
|||
# is the default flag list for all files in the distribution, for instance
|
|||
# the vlc code. *_pic is for PIC code, such as the Mozilla plugin. *_plugin
|
|||
# is for plugin code, *_builtin is for builtin code, and *_builtin_pic is
|
|||
# for PIC builtin code, for instance builtin modules in the mozilla plugin.
|
|||
|
|||
CPPFLAGS_default = -I$(top_srcdir)/include |
|||
CFLAGS_default = |
|||
CXXFLAGS_default = |
|||
OBJCFLAGS_default = |
|||
LDFLAGS_default = |
|||
|
|||
CPPFLAGS_pic = $(CPPFLAGS_default) |
|||
CFLAGS_pic = $(CFLAGS_default) @CFLAGS_pics@ |
|||
CXXFLAGS_pic = $(CXXFLAGS_default) @CFLAGS_pics@ |
|||
OBJCFLAGS_pic = $(OBJCFLAGS_default) @CFLAGS_pics@ |
|||
LDFLAGS_pic = $(LDFLAGS_default) |
|||
|
|||
CPPFLAGS_plugin = $(CPPFLAGS_default) -D__VLC__ -D__PLUGIN__ |
|||
CFLAGS_plugin = $(CFLAGS_default) @CFLAGS_plugins@ |
|||
CXXFLAGS_plugin = $(CXXFLAGS_default) @CFLAGS_plugins@ |
|||
OBJCFLAGS_plugin = $(OBJCFLAGS_default) @CFLAGS_plugins@ |
|||
LDFLAGS_plugin = @LDFLAGS_plugins@ |
|||
|
|||
CPPFLAGS_builtin = $(CPPFLAGS_default) -D__VLC__ -D__BUILTIN__ |
|||
CFLAGS_builtin = $(CFLAGS_default) @CFLAGS_builtins@ |
|||
CXXFLAGS_builtin = $(CXXFLAGS_default) @CFLAGS_builtins@ |
|||
OBJCFLAGS_builtin = $(OBJCFLAGS_default) @CFLAGS_builtins@ |
|||
LDFLAGS_builtin = |
|||
L_builtin = |
|||
|
|||
CPPFLAGS_builtin_pic = $(CPPFLAGS_builtin) $(CPPFLAGS_pic) |
|||
CFLAGS_builtin_pic = $(CFLAGS_builtin) $(CFLAGS_pic) |
|||
CXXFLAGS_builtin_pic = $(CXXFLAGS_builtin) $(CXXFLAGS_pic) |
|||
OBJCFLAGS_builtin_pic = $(OBJCFLAGS_builtin) $(OBJCFLAGS_pic) |
|||
LDFLAGS_builtin_pic = $(LDFLAGS_builtin) $(LDFLAGS_pic) |
|||
L_builtin_pic = $(L_builtin) $(L_pic) |
|||
|
|||
# On Linux and Solaris, activate 64-bit off_t (by default under BSD)
|
|||
CPPFLAGS_default += -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE |
|||
CPPFLAGS_default += -D_REENTRANT -D_THREAD_SAFE |
|||
CPPFLAGS_default += -D_GNU_SOURCE |
|||
|
|||
# Gettext support
|
|||
CPPFLAGS_default += -DLOCALEDIR=\"$(datadir)/locale\" |
|||
|
|||
# Data and plugin location
|
|||
CPPFLAGS_default += -DDATA_PATH=\"@prefix@/share/vlc\" |
|||
CPPFLAGS_default += -DPLUGIN_PATH=\"@prefix@/lib/vlc\" |
|||
|
|||
# Conditional flags that get added to *FLAGS_default
|
|||
if RELEASE |
|||
CPPFLAGS_release = -DHAVE_RELEASE |
|||
endif |
|||
if DEBUG |
|||
CPPFLAGS_debug = -DDEBUG -DHAVE_RELEASE |
|||
CFLAGS_debug = -g |
|||
endif |
|||
if GPROF |
|||
CPPFLAGS_gprof = -DGPROF |
|||
CFLAGS_gprof = -finstrument-functions |
|||
endif |
|||
if CPROF |
|||
CPPFLAGS_cprof = -DCPROF |
|||
CFLAGS_cprof = -pg |
|||
endif |
|||
if OPTIM |
|||
CFLAGS_optim = @CFLAGS_OPTIM@ @CFLAGS_TUNING@ |
|||
if DEBUG |
|||
else |
|||
if GPROF |
|||
else |
|||
if CPROF |
|||
else |
|||
CFLAGS_nodebug = @CFLAGS_OPTIM_NODEBUG@ |
|||
endif |
|||
endif |
|||
endif |
|||
endif |
|||
|
|||
CPPFLAGS_default += $(CPPFLAGS_release) \
|
|||
$(CPPFLAGS_debug) $(CPPFLAGS_gprof) $(CPPFLAGS_cprof) |
|||
CFLAGS_default += $(CFLAGS_optim) $(CFLAGS_nodebug) \
|
|||
$(CFLAGS_debug) $(CFLAGS_gprof) $(CFLAGS_cprof) |
|||
CXXFLAGS_default += $(CFLAGS_optim) $(CFLAGS_nodebug) \
|
|||
$(CFLAGS_debug) $(CFLAGS_gprof) $(CFLAGS_cprof) |
|||
OBJCFLAGS_default += $(CFLAGS_optim) $(CFLAGS_nodebug) \
|
|||
$(CFLAGS_debug) $(CFLAGS_gprof) $(CFLAGS_cprof) |
|||
|
|||
###############################################################################
|
|||
# Headers
|
|||
###############################################################################
|
|||
|
|||
BUILT_SOURCES += \
|
|||
include/vlc_symbols.h \
|
|||
src/misc/modules_builtin.h \
|
|||
src/misc/modules_plugin.h |
|||
|
|||
pkgincludedir = $(includedir)/vlc |
|||
|
|||
dist_pkginclude_HEADERS = \
|
|||
include/vlc/vlc.h \
|
|||
include/vlc/aout.h \
|
|||
include/vlc/vout.h \
|
|||
include/vlc/sout.h \
|
|||
include/vlc/decoder.h \
|
|||
include/vlc/input.h \
|
|||
include/vlc/intf.h |
|||
|
|||
noinst_HEADERS += $(HEADERS_include) $(HEADERS_include_built) |
|||
|
|||
HEADERS_include = \
|
|||
include/aout_internal.h \
|
|||
include/audio_output.h \
|
|||
include/beos_specific.h \
|
|||
include/configuration.h \
|
|||
include/darwin_specific.h \
|
|||
include/input_ext-dec.h \
|
|||
include/input_ext-intf.h \
|
|||
include/input_ext-plugins.h \
|
|||
include/interface.h \
|
|||
include/intf_eject.h \
|
|||
include/iso_lang.h \
|
|||
include/main.h \
|
|||
include/mmx.h \
|
|||
include/modules.h \
|
|||
include/modules_inner.h \
|
|||
include/mtime.h \
|
|||
include/netutils.h \
|
|||
include/network.h \
|
|||
include/os_specific.h \
|
|||
include/stream_control.h \
|
|||
include/stream_output.h \
|
|||
include/video.h \
|
|||
include/video_output.h \
|
|||
include/vlc_common.h \
|
|||
include/vlc_config.h \
|
|||
include/vlc_cpu.h \
|
|||
include/vlc_messages.h \
|
|||
include/vlc_objects.h \
|
|||
include/vlc_playlist.h \
|
|||
include/vlc_threads.h \
|
|||
include/vlc_threads_funcs.h \
|
|||
include/win32_specific.h |
|||
|
|||
HEADERS_include_built = \
|
|||
include/vlc_symbols.h |
|||
|
|||
include/vlc_symbols.h: Makefile $(HEADERS_include) |
|||
rm -f $@.in |
|||
echo '/* DO NOT EDIT THIS FILE! See Makefile.am */' >> $@.in |
|||
echo 'struct module_symbols_t {' >> $@.in |
|||
cat $(HEADERS_include) | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/ \1 (* \2_inner) \3;/' >> $@.in |
|||
echo '};' >> $@.in |
|||
echo '#ifdef __PLUGIN__' >> $@.in |
|||
cat $(HEADERS_include) | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/# define \2 p_symbols->\2_inner/' >> $@.in |
|||
echo '#endif /* __PLUGIN__ */' >> $@.in |
|||
mv -f $@.in $@ |
|||
|
|||
src/misc/modules_plugin.h: Makefile src/misc/modules_plugin.h.in $(HEADERS_include) |
|||
rm -f $@.tmp && cp $@.in $@.tmp |
|||
sed -e 's#.*\$[I][d]:.*# * Automatically generated from '$@'.in by bootstrap#' < $@.in > $@.tmp |
|||
echo '#define STORE_SYMBOLS( p_symbols ) \' >> $@.tmp |
|||
cat $(HEADERS_include) | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/ (p_symbols)->\2_inner = \2; \\/' >> $@.tmp |
|||
echo '' >> $@.tmp |
|||
mv -f $@.tmp $@ |
|||
|
|||
src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in |
|||
rm -f $@.tmp && cp $@.in $@.tmp |
|||
if HAVE_BUILTINS |
|||
for i in $(BUILTINS) ; do echo "int vlc_entry__"`echo $$i | sed -e 'y@/@_@' -e 's@\..*@@'`"( module_t* );" >>$@.tmp; done |
|||
echo "" >> $@.tmp |
|||
endif |
|||
echo "#define ALLOCATE_ALL_BUILTINS() \\" >> $@.tmp |
|||
echo " do \\" >> $@.tmp |
|||
echo " { \\" >> $@.tmp |
|||
if HAVE_BUILTINS |
|||
for i in $(BUILTINS) ; do echo " ALLOCATE_BUILTIN("`echo $$i | sed -e 'y@/@_@' -e 's@\..*@@'`"); \\" >> $@.tmp ; done |
|||
endif |
|||
echo " } while( 0 );" >> $@.tmp |
|||
echo "" >> $@.tmp |
|||
mv -f $@.tmp $@ |
|||
|
|||
###############################################################################
|
|||
# Optional getopt
|
|||
###############################################################################
|
|||
|
|||
EXTRA_DIST += \
|
|||
extras/GNUgetopt/COPYING \
|
|||
extras/GNUgetopt/getopt.c \
|
|||
extras/GNUgetopt/getopt.h \
|
|||
extras/GNUgetopt/getopt1.c |
|||
|
|||
if BUILD_GETOPT |
|||
SOURCES_libgetopt = extras/GNUgetopt/getopt.c extras/GNUgetopt/getopt1.c |
|||
endif |
|||
|
|||
###############################################################################
|
|||
# MacOS X project
|
|||
###############################################################################
|
|||
|
|||
EXTRA_DIST += \
|
|||
extras/MacOSX/Resources/English.lproj/MainMenu.nib/classes.nib \
|
|||
extras/MacOSX/Resources/English.lproj/MainMenu.nib/info.nib \
|
|||
extras/MacOSX/Resources/English.lproj/MainMenu.nib/objects.nib \
|
|||
extras/MacOSX/Resources/English.lproj/InfoPlist.strings \
|
|||
extras/MacOSX/Resources/divx.icns \
|
|||
extras/MacOSX/Resources/generic.icns \
|
|||
extras/MacOSX/Resources/mpeg.icns \
|
|||
extras/MacOSX/Resources/mpeg1.icns \
|
|||
extras/MacOSX/Resources/mpeg2.icns \
|
|||
extras/MacOSX/Resources/mpeg4.icns \
|
|||
extras/MacOSX/Resources/vlc.icns \
|
|||
extras/MacOSX/Resources/pause.png \
|
|||
extras/MacOSX/Resources/play.png \
|
|||
extras/MacOSX/Resources/stop.png \
|
|||
extras/MacOSX/Resources/stepf.png \
|
|||
extras/MacOSX/Resources/stepr.png \
|
|||
extras/MacOSX/vlc.pbproj/project.pbxproj |
|||
|
|||
###############################################################################
|
|||
# Building libvlc
|
|||
###############################################################################
|
|||
|
|||
bin_SCRIPTS = vlc-config |
|||
|
|||
lib_LIBRARIES += lib/libvlc.a $(LIBRARIES_libvlc_pic) |
|||
|
|||
lib_libvlc_a_SOURCES = $(SOURCES_libvlc) |
|||
lib_libvlc_a_CFLAGS = $(CPPFLAGS_default) -D__VLC__ $(CFLAGS_default) @CFLAGS_vlc@ |
|||
lib_libvlc_a_CXXFLAGS = $(CPPFLAGS_default) -D__VLC__ $(CXXFLAGS_default) |
|||
|
|||
lib_libvlc_pic_a_SOURCES = $(SOURCES_libvlc) |
|||
lib_libvlc_pic_a_CFLAGS = $(CPPFLAGS_pic) -D__VLC__ $(CFLAGS_pic) @CFLAGS_vlc@ |
|||
lib_libvlc_pic_a_CXXFLAGS = $(CPPFLAGS_pic) -D__VLC__ $(CXXFLAGS_pic) |
|||
|
|||
if HAVE_BEOS |
|||
SOURCES_libvlc_beos = src/misc/beos_specific.cpp |
|||
endif |
|||
if HAVE_DARWIN |
|||
SOURCES_libvlc_darwin = src/misc/darwin_specific.c |
|||
endif |
|||
if HAVE_WIN32 |
|||
SOURCES_libvlc_win32 = src/misc/win32_specific.c |
|||
endif |
|||
if BUILD_MOZILLA |
|||
LIBRARIES_libvlc_pic = lib/libvlc_pic.a |
|||
endif |
|||
|
|||
EXTRA_DIST += \
|
|||
src/misc/beos_specific.cpp \
|
|||
src/misc/darwin_specific.c \
|
|||
src/misc/win32_specific.c |
|||
|
|||
BUILT_SOURCES += \
|
|||
src/misc/modules_builtin.h |
|||
|
|||
SOURCES_libvlc = \
|
|||
src/libvlc.c \
|
|||
src/libvlc.h \
|
|||
src/interface/interface.c \
|
|||
src/interface/intf_eject.c \
|
|||
src/playlist/playlist.c \
|
|||
src/input/input.c \
|
|||
src/input/input_ext-plugins.c \
|
|||
src/input/input_ext-dec.c \
|
|||
src/input/input_ext-intf.c \
|
|||
src/input/input_dec.c \
|
|||
src/input/input_programs.c \
|
|||
src/input/input_clock.c \
|
|||
src/input/input_info.c \
|
|||
src/video_output/video_output.c \
|
|||
src/video_output/vout_pictures.c \
|
|||
src/video_output/vout_pictures.h \
|
|||
src/video_output/video_text.c \
|
|||
src/video_output/video_text.h \
|
|||
src/video_output/vout_subpictures.c \
|
|||
src/audio_output/common.c \
|
|||
src/audio_output/dec.c \
|
|||
src/audio_output/filters.c \
|
|||
src/audio_output/input.c \
|
|||
src/audio_output/mixer.c \
|
|||
src/audio_output/output.c \
|
|||
src/audio_output/intf.c \
|
|||
src/stream_output/stream_output.c \
|
|||
src/misc/mtime.c \
|
|||
src/misc/modules.c \
|
|||
src/misc/modules_plugin.h \
|
|||
src/misc/threads.c \
|
|||
src/misc/cpu.c \
|
|||
src/misc/configuration.c \
|
|||
src/misc/netutils.c \
|
|||
src/misc/iso_lang.c \
|
|||
src/misc/iso-639.def \
|
|||
src/misc/messages.c \
|
|||
src/misc/objects.c \
|
|||
src/misc/extras.c \
|
|||
$(SOURCES_libvlc_win32) \
|
|||
$(SOURCES_libvlc_beos) \
|
|||
$(SOURCES_libvlc_darwin) |
|||
|
|||
###############################################################################
|
|||
# Building vlc
|
|||
###############################################################################
|
|||
|
|||
bin_PROGRAMS += vlc |
|||
|
|||
vlc_SOURCES = src/vlc.c $(SOURCES_libgetopt) |
|||
|
|||
# @AUTOMAKE_SUCKS@ gets expanded to $(L_builtin) $(LDFLAGS_builtin)
|
|||
# but we don't write it directly, otherwise automake will go amok and eat all
|
|||
# the memory because of its 2^N crap algorithm. So we fool him. Nuahaha.
|
|||
vlc_LDADD = lib/libvlc.a $(LDFLAGS_vlc) $(noinst_share_vlc_win32_rc_DATA) @AUTOMAKE_SUCKS@ |
|||
vlc_DEPENDENCIES = lib/libvlc.a $(L_builtin) |
|||
vlc_CFLAGS = $(CPPFLAGS_default) $(CFLAGS_default) |
|||
|
|||
vlc$(EXEEXT): $(vlc_OBJECTS) $(vlc_DEPENDENCIES) |
|||
@rm -f vlc$(EXEEXT) |
|||
$(LINK) $(vlc_LDFLAGS) $(vlc_OBJECTS) $(vlc_LDADD) $(LIBS) |
|||
if HAVE_BEOS |
|||
xres -o $@ ./share/vlc_beos.rsrc |
|||
mimeset -f $@ |
|||
endif |
|||
|
|||
# Install the symlinks
|
|||
install-exec-local: |
|||
for i in dummy $(ALIASES) ; do if test "x$$i" != "xdummy" ; then \
|
|||
rm -f $(DESTDIR)$(bindir)/$$i && \
|
|||
ln -s vlc $(DESTDIR)$(bindir)/$$i ; \
|
|||
fi ; done |
|||
|
|||
if HAVE_DARWIN |
|||
# Create the MacOS X app
|
|||
vlc_app_DATA = vlc.app |
|||
vlc_appdir = $(bindir) |
|||
vlc.app: vlc |
|||
rm -Rf vlc.app |
|||
cd extras/MacOSX ; pbxbuild | grep -v '^[ \t]' | grep -v "^$$" |
|||
cp -r extras/MacOSX/build/vlc.bundle ./vlc.app |
|||
$(INSTALL) -d vlc.app/Contents/MacOS/share |
|||
$(INSTALL) -d vlc.app/Contents/MacOS/modules |
|||
$(INSTALL) vlc vlc.app/Contents/MacOS/ |
|||
# FIXME: install modules ! (and add dependency on modules)
|
|||
$(INSTALL) -m 644 share/*.psf vlc.app/Contents/MacOS/share |
|||
endif |
|||
|
|||
if HAVE_WIN32 |
|||
noinst_share_vlc_win32_rc_DATA = share/vlc_win32_rc.$(OBJEXT) |
|||
noinst_share_vlc_win32_rcdir = $(libdir) |
|||
share/vlc_win32_rc.$(OBJEXT): share/vlc_win32_rc.rc |
|||
$(WINDRES) -i $< -o $@ |
|||
endif |
|||
|
|||
###############################################################################
|
|||
# Building the Mozilla plugin
|
|||
###############################################################################
|
|||
|
|||
noinst_LIBRARIES += $(noinst_LIBRARIES_mozilla) |
|||
|
|||
MOSTLYCLEANFILES += mozilla/libvlcplugin$(LIBEXT) |
|||
|
|||
EXTRA_DIST += $(SOURCES_mozilla) mozilla/vlcintf.idl |
|||
|
|||
BUILT_SOURCES += $(BUILT_SOURCES_mozilla) |
|||
|
|||
SOURCES_mozilla = \
|
|||
mozilla/vlcshell.cpp \
|
|||
mozilla/vlcplugin.cpp \
|
|||
mozilla/vlcplugin.h \
|
|||
mozilla/vlcpeer.cpp \
|
|||
mozilla/vlcpeer.h \
|
|||
mozilla/classinfo.h \
|
|||
mozilla/npunix.c |
|||
|
|||
if BUILD_MOZILLA |
|||
noinst_LIBRARIES_mozilla = mozilla/libvlcplugin.a |
|||
|
|||
mozilla_libvlcplugin_a_SOURCES = $(SOURCES_mozilla) $(BUILT_SOURCES_mozilla) \
|
|||
$(SOURCES_libgetopt) |
|||
mozilla_libvlcplugin_a_CFLAGS = $(CPPFLAGS_pic) $(CFLAGS_pic) \
|
|||
$(CPPFLAGS_mozilla) $(CFLAGS_mozilla) |
|||
mozilla_libvlcplugin_a_CXXFLAGS = $(CPPFLAGS_pic) $(CXXFLAGS_pic) \
|
|||
$(CPPFLAGS_mozilla) $(CXXFLAGS_mozilla) |
|||
mozilla_libvlcplugin_a_DEPENDENCIES = lib/libvlc_pic.a $(L_builtin_pic) |
|||
|
|||
BUILT_SOURCES_mozilla = mozilla/vlcintf.h |
|||
|
|||
mozilla_libvlcplugin_DATA = mozilla/libvlcplugin$(LIBEXT) |
|||
mozilla_libvlcplugindir = $(libdir)/mozilla/plugins |
|||
mozilla/libvlcplugin$(LIBEXT): mozilla/libvlcplugin.a $(L_builtin_pic) |
|||
$(CC) -o $@ $(mozilla_libvlcplugin_a_OBJECTS) lib/libvlc_pic.a \
|
|||
$(L_builtin_pic) -shared $(LDFLAGS) $(LDFLAGS_vlc) \
|
|||
$(LDFLAGS_mozilla) $(LDFLAGS_builtin_pic) |
|||
|
|||
mozilla_vlcintf_xpt_DATA = mozilla/vlcintf.xpt |
|||
mozilla_vlcintf_xptdir = $(libdir)/mozilla/components |
|||
mozilla/vlcintf.xpt: Makefile mozilla/vlcintf.idl |
|||
$(XPIDL) -I/usr/share/idl/mozilla -m typelib \
|
|||
-o mozilla/vlcintf mozilla/vlcintf.idl |
|||
|
|||
mozilla/vlcintf.h: Makefile mozilla/vlcintf.idl |
|||
$(XPIDL) -I/usr/share/idl/mozilla -m header \
|
|||
-o mozilla/vlcintf mozilla/vlcintf.idl |
|||
endif |
|||
|
|||
###############################################################################
|
|||
# Modules
|
|||
###############################################################################
|
|||
libvlcdir = $(libdir)/vlc |
|||
|
|||
include Modules.am |
|||
|
|||
|
|||
@ -1,19 +0,0 @@ |
|||
###############################################################################
|
|||
# vlc (VideoLAN Client) options Makefile
|
|||
# (c)1998 VideoLAN
|
|||
###############################################################################
|
|||
|
|||
#
|
|||
# Plugins to build
|
|||
# WARNING: if you do not have a dynamic loader on your platform, remove
|
|||
# the plugins in this line and put them as built-ins, otherwise your
|
|||
# application won't be able to load them.
|
|||
#
|
|||
PLUGINS :=@PLUGINS@ |
|||
|
|||
#
|
|||
# Built-in modules to build
|
|||
# WARNING: do NOT put gtk and gnome together in this rule.
|
|||
#
|
|||
BUILTINS :=@BUILTINS@ |
|||
|
|||
@ -1,97 +0,0 @@ |
|||
###############################################################################
|
|||
# vlc (VideoLAN Client) common module Makefile
|
|||
# (c)2001 VideoLAN
|
|||
###############################################################################
|
|||
# This file should be included by all module Makefiles
|
|||
###############################################################################
|
|||
|
|||
#
|
|||
# include the local Makefile
|
|||
#
|
|||
include Makefile |
|||
|
|||
#
|
|||
# Analyze the target we are asked to build
|
|||
#
|
|||
module_name := $(shell echo $(MAKECMDGOALS) | sed 's@\..*@@') |
|||
suff := $(shell echo $(MAKECMDGOALS) | sed 's@.*\.@@' | tr so/a lo/o) |
|||
|
|||
#
|
|||
# Compiler flags
|
|||
#
|
|||
SRC_C := $(filter %.c,$($(module_name)_SOURCES)) |
|||
SRC_CPP := $(filter %.cpp,$($(module_name)_SOURCES)) |
|||
SRC_M := $(filter %.m,$($(module_name)_SOURCES)) |
|||
|
|||
plugins_CFLAGS += -D__PLUGIN__ -I$(PARENT) -I$(PARENT)/include -I$(PARENT)/extras |
|||
builtins_CFLAGS += -D__BUILTIN__ -I$(PARENT) -I$(PARENT)/include -I$(PARENT)/extras |
|||
|
|||
ifeq (lo,$(suff)) |
|||
extra_CFLAGS := $(plugins_CFLAGS) $($(module_name)_CFLAGS) \
|
|||
-DMODULE_NAME=$(module_name) -DMODULE_NAME_IS_$(module_name) \
|
|||
-DMODULE_PATH=$(MODULE_PATH) $($(module_name)_so_CFLAGS) |
|||
OBJ_ALL := $(SRC_C:%.c=%.lo.$(module_name)) $(SRC_CPP:%.cpp=%.lo.$(module_name)) |
|||
else |
|||
extra_CFLAGS := $(builtins_CFLAGS) $($(module_name)_CFLAGS) \
|
|||
-DMODULE_NAME=$(module_name) -DMODULE_NAME_IS_$(module_name) \
|
|||
-DMODULE_PATH=$(MODULE_PATH) $($(module_name)_a_CFLAGS) |
|||
OBJ_ALL := $(SRC_C:%.c=%.o.$(module_name)) $(SRC_CPP:%.cpp=%.o.$(module_name)) \
|
|||
$(SRC_M:%.m=%.o.$(module_name)) |
|||
endif |
|||
|
|||
#
|
|||
# Standard dependencies
|
|||
#
|
|||
C_DEP := $(SRC_C:%.c=.dep/%.d) |
|||
CPP_DEP := $(SRC_CPP:%.cpp=.dep/%.dpp) |
|||
M_DEP := $(SRC_M:%.m=.dep/%.dm) |
|||
|
|||
export
|
|||
|
|||
#
|
|||
# Virtual targets
|
|||
#
|
|||
all: |
|||
|
|||
clean: |
|||
# rm -f $(PLUGIN_ALL) $(BUILTIN_ALL)
|
|||
rm -f *.a *.so *.o *.o.* *.lo.* *.obj *.moc *.moc.* *.bak |
|||
rm -Rf .dep |
|||
|
|||
FORCE: |
|||
|
|||
$(OBJ_ALL): $(PARENT)/Makefile.modules $(PARENT)/Makefile.dep $(PARENT)/Makefile $(PARENT)/Makefile.opts Makefile |
|||
$(OBJ_ALL): $(H_DEP:%=$(PARENT)/include/%) |
|||
|
|||
$(C_DEP): %.d: FORCE |
|||
@$(MAKE) -s --no-print-directory -f $(PARENT)/Makefile.dep $@ CFLAGS="$(CFLAGS) $(extra_CFLAGS)" |
|||
|
|||
$(CPP_DEP): %.dpp: FORCE |
|||
@$(MAKE) -s --no-print-directory -f $(PARENT)/Makefile.dep $@ CFLAGS="$(CFLAGS) $(extra_CFLAGS)" |
|||
|
|||
$(M_DEP): %.dm: FORCE |
|||
@$(MAKE) -s --no-print-directory -f $(PARENT)/Makefile.dep $@ CFLAGS="$(CFLAGS) $(extra_CFLAGS)" |
|||
|
|||
$(SRC_C:%.c=%.$(suff).$(module_name)): %.$(suff).$(module_name): .dep/%.d |
|||
$(SRC_C:%.c=%.$(suff).$(module_name)): %.$(suff).$(module_name): %.c |
|||
$(CC) $(CFLAGS) $(extra_CFLAGS) -c $< -o $@ |
|||
|
|||
$(SRC_CPP:%.cpp=%.$(suff).$(module_name)): %.$(suff).$(module_name): .dep/%.dpp |
|||
$(SRC_CPP:%.cpp=%.$(suff).$(module_name)): %.$(suff).$(module_name): %.cpp |
|||
$(CC) $(CFLAGS) $(extra_CFLAGS) -c $< -o $@ |
|||
|
|||
$(SRC_M:%.m=%.$(suff).$(module_name)): %.$(suff).$(module_name): .dep/%.dm |
|||
$(SRC_M:%.m=%.$(suff).$(module_name)): %.$(suff).$(module_name): %.m |
|||
$(CC) $(CFLAGS) $(extra_CFLAGS) -c $< -o $@ |
|||
|
|||
# foo_CUSTOM lets us override all target rules for foo.so and foo.a
|
|||
ifeq (,$($(module_name)_CUSTOM)) |
|||
$(module_name).so: $(EXTRA_DEP) $(OBJ_ALL) |
|||
$(CC) $(OBJ_ALL) $(LDFLAGS) $(plugins_LDFLAGS) $($(module_name)_LDFLAGS) -o $@ |
|||
|
|||
$(module_name).a: $(EXTRA_DEP) $(OBJ_ALL) |
|||
rm -f $@ |
|||
ar rc $@ $(OBJ_ALL) |
|||
$(RANLIB) $@ |
|||
endif |
|||
|
|||
@ -1,510 +0,0 @@ |
|||
###############################################################################
|
|||
# vlc (VideoLAN Client) main Makefile - (c)1998 VideoLAN
|
|||
###############################################################################
|
|||
|
|||
ifeq ($(shell [ ! -r Makefile.opts ] && echo 1),) |
|||
include Makefile.opts |
|||
endif |
|||
ifeq ($(shell [ ! -r Makefile.config ] && echo 1),) |
|||
include Makefile.config |
|||
endif |
|||
|
|||
###############################################################################
|
|||
# Objects and files
|
|||
###############################################################################
|
|||
|
|||
#
|
|||
# C Objects
|
|||
#
|
|||
VLC := vlc |
|||
LIBVLC := libvlc |
|||
INTERFACE := interface intf_eject |
|||
PLAYLIST := playlist |
|||
INPUT := input input_ext-plugins input_ext-dec input_ext-intf input_dec input_programs input_clock input_info |
|||
VIDEO_OUTPUT := video_output video_text vout_pictures vout_subpictures |
|||
AUDIO_OUTPUT := common filters input mixer output intf dec |
|||
STREAM_OUTPUT := stream_output |
|||
MISC := mtime modules threads cpu configuration netutils iso_lang messages objects extras |
|||
|
|||
LIBVLC_OBJ := $(LIBVLC:%=src/%.o) \
|
|||
$(INTERFACE:%=src/interface/%.o) \
|
|||
$(PLAYLIST:%=src/playlist/%.o) \
|
|||
$(INPUT:%=src/input/%.o) \
|
|||
$(VIDEO_OUTPUT:%=src/video_output/%.o) \
|
|||
$(AUDIO_OUTPUT:%=src/audio_output/%.o) \
|
|||
$(STREAM_OUTPUT:%=src/stream_output/%.o) \
|
|||
$(MISC:%=src/misc/%.o) |
|||
|
|||
VLC_OBJ := $(VLC:%=src/%.o) |
|||
|
|||
#
|
|||
# Misc Objects
|
|||
#
|
|||
ifeq ($(NEED_GETOPT),1) |
|||
LIBVLC_OBJ += extras/GNUgetopt/getopt.o extras/GNUgetopt/getopt1.o |
|||
endif |
|||
|
|||
ifeq ($(NEED_SYMBOLS),1) |
|||
LIBVLC_OBJ += src/misc/symbols.o |
|||
endif |
|||
|
|||
ifeq ($(SYS),beos) |
|||
CPP_OBJ := src/misc/beos_specific.o |
|||
endif |
|||
|
|||
ifneq (,$(findstring darwin,$(SYS))) |
|||
LIBVLC_OBJ += src/misc/darwin_specific.o |
|||
endif |
|||
|
|||
ifneq (,$(findstring mingw32,$(SYS))) |
|||
LIBVLC_OBJ += src/misc/win32_specific.o |
|||
RESOURCE_OBJ := share/vlc_win32_rc.o |
|||
endif |
|||
|
|||
C_OBJ := $(VLC_OBJ) $(LIBVLC_OBJ) $(BUILTIN_OBJ) |
|||
|
|||
LIBVLC_OBJ += $(CPP_OBJ) $(M_OBJ) $(BUILTIN_OBJ) |
|||
|
|||
VLC_OBJ += $(RESOURCE_OBJ) |
|||
|
|||
#
|
|||
# Generated header
|
|||
#
|
|||
H_OBJ := src/misc/modules_builtin.h |
|||
|
|||
#
|
|||
# Other lists of files
|
|||
#
|
|||
C_DEP := $(C_OBJ:%.o=.dep/%.d) |
|||
CPP_DEP := $(CPP_OBJ:%.o=.dep/%.dpp) |
|||
|
|||
#
|
|||
# Translate plugin names
|
|||
#
|
|||
ifneq (,$(PLUGINS)) |
|||
PLUGIN_OBJ := $(PLUGINS:%=modules/%.so) |
|||
endif |
|||
ifneq (,$(BUILTINS)) |
|||
BUILTIN_OBJ := $(BUILTINS:%=modules/%.a) |
|||
endif |
|||
|
|||
#
|
|||
# Misc variables
|
|||
#
|
|||
VERSION := $(shell grep '^ *VERSION=' configure.in | head -1 | sed 's/"//g' | cut -f2 -d=) |
|||
|
|||
# All symbols must be exported
|
|||
export
|
|||
|
|||
###############################################################################
|
|||
# Targets
|
|||
###############################################################################
|
|||
|
|||
#
|
|||
# Virtual targets
|
|||
#
|
|||
all: Makefile.opts vlc ${ALIASES} vlc.app plugins po mozilla/libvlcplugin.so |
|||
|
|||
Makefile.opts: |
|||
@echo "**** No configuration found, please run ./configure" |
|||
@exit 1 |
|||
# ./configure
|
|||
# $(MAKE) $(MAKECMDGOALS)
|
|||
# exit
|
|||
|
|||
show: |
|||
@echo CC: $(CC) |
|||
@echo CFLAGS: $(CFLAGS) |
|||
@echo LDFLAGS: $(LDFLAGS) |
|||
@echo plugins_CFLAGS: $(plugins_CFLAGS) |
|||
@echo plugins_LDFLAGS: $(plugins_LDFLAGS) |
|||
@echo builtins_CFLAGS: $(builtins_CFLAGS) |
|||
@echo builtins_LDFLAGS: $(builtins_LDFLAGS) |
|||
@echo C_OBJ: $(C_OBJ) |
|||
@echo CPP_OBJ: $(CPP_OBJ) |
|||
@echo PLUGIN_OBJ: $(PLUGIN_OBJ) |
|||
@echo BUILTIN_OBJ: $(BUILTIN_OBJ) |
|||
|
|||
#
|
|||
# Cleaning rules
|
|||
#
|
|||
clean: plugins-clean po-clean vlc-clean mozilla-clean |
|||
rm -f src/*/*.o extras/*/*.o |
|||
rm -f lib/*.so* lib/*.a |
|||
rm -f plugins/*.so plugins/*.a plugins/*.lib plugins/*.tds |
|||
rm -Rf extras/MacOSX/build |
|||
|
|||
po-clean: |
|||
-cd po && $(MAKE) clean |
|||
|
|||
plugins-clean: |
|||
for dir in $(shell echo $(PLUGIN_OBJ) $(BUILTIN_OBJ) | sed 's@\([^ ]*\)/[^ ]*@\1@g' ) ; do ( PARENT=`pwd` ; cd $${dir} && $(MAKE) -f $$PARENT/Makefile.modules clean PARENT=$$PARENT ) ; done |
|||
|
|||
vlc-clean: |
|||
rm -f $(C_OBJ) $(CPP_OBJ) |
|||
rm -f vlc gnome-vlc gvlc kvlc qvlc vlc.exe |
|||
rm -Rf vlc.app |
|||
|
|||
mozilla-clean: |
|||
-cd mozilla && $(MAKE) clean |
|||
|
|||
distclean: clean |
|||
-cd po && $(MAKE) maintainer-clean |
|||
rm -f **/*.o **/*~ *.log |
|||
rm -f Makefile.opts Makefile.config vlc-config |
|||
rm -f include/defs.h include/modules_builtin.h |
|||
rm -f src/misc/modules_builtin.h |
|||
rm -f config*status config*cache config*log conftest* |
|||
rm -f gmon.out core build-stamp |
|||
rm -Rf .dep |
|||
rm -f .gdb_history |
|||
|
|||
#
|
|||
# Install/uninstall rules
|
|||
#
|
|||
install: vlc-install plugins-install builtins-install libvlc-install po-install mozilla-install |
|||
|
|||
uninstall: vlc-uninstall plugins-uninstall builtins-uninstall libvlc-uninstall po-uninstall mozilla-uninstall |
|||
|
|||
vlc-install: |
|||
mkdir -p $(DESTDIR)$(bindir) |
|||
$(INSTALL) vlc $(DESTDIR)$(bindir) |
|||
ifneq (,$(ALIASES)) |
|||
for alias in $(ALIASES) ; do if test $$alias ; then rm -f $(DESTDIR)$(bindir)/$$alias && ln -s vlc $(DESTDIR)$(bindir)/$$alias ; fi ; done |
|||
endif |
|||
mkdir -p $(DESTDIR)$(datadir)/vlc |
|||
$(INSTALL) -m 644 share/*.psf $(DESTDIR)$(datadir)/vlc |
|||
$(INSTALL) -m 644 share/*.png $(DESTDIR)$(datadir)/vlc |
|||
$(INSTALL) -m 644 share/*.xpm $(DESTDIR)$(datadir)/vlc |
|||
|
|||
vlc-uninstall: |
|||
rm -f $(DESTDIR)$(bindir)/vlc |
|||
ifneq (,$(ALIASES)) |
|||
for alias in $(ALIASES) ; do if test $$alias ; then rm -f $(DESTDIR)$(bindir)/$$alias ; fi ; done |
|||
endif |
|||
rm -f $(DESTDIR)$(datadir)/vlc/*.psf |
|||
rm -f $(DESTDIR)$(datadir)/vlc/*.png |
|||
rm -f $(DESTDIR)$(datadir)/vlc/*.xpm |
|||
-rmdir $(DESTDIR)$(datadir)/vlc |
|||
|
|||
plugins-install: |
|||
mkdir -p $(DESTDIR)$(libdir)/vlc |
|||
ifneq (,$(PLUGINS)) |
|||
for plugin in $(PLUGINS) ; \
|
|||
do dir=`echo $$plugin | sed -e 's@/[^ ]*@@g'` ; \
|
|||
mkdir -p $(DESTDIR)$(libdir)/vlc/$$dir ; \
|
|||
cp modules/$${plugin}.so $(DESTDIR)$(libdir)/vlc/$$dir ; \
|
|||
done |
|||
endif |
|||
|
|||
plugins-uninstall: |
|||
rm -f $(DESTDIR)$(libdir)/vlc/*/*.so |
|||
-rmdir $(DESTDIR)$(libdir)/vlc/* |
|||
-rmdir $(DESTDIR)$(libdir)/vlc |
|||
|
|||
builtins-install: |
|||
mkdir -p $(DESTDIR)$(libdir)/vlc |
|||
ifneq (,$(BUILTINS)) |
|||
$(INSTALL) -m 644 $(BUILTINS:%=modules/%.a) $(DESTDIR)$(libdir)/vlc |
|||
endif |
|||
|
|||
builtins-uninstall: |
|||
rm -f $(DESTDIR)$(libdir)/vlc/*.a |
|||
-rmdir $(DESTDIR)$(libdir)/vlc |
|||
|
|||
libvlc-install: |
|||
mkdir -p $(DESTDIR)$(bindir) |
|||
$(INSTALL) vlc-config $(DESTDIR)$(bindir) |
|||
mkdir -p $(DESTDIR)$(includedir)/vlc |
|||
$(INSTALL) -m 644 include/vlc/*.h $(DESTDIR)$(includedir)/vlc |
|||
mkdir -p $(DESTDIR)$(libdir) |
|||
$(INSTALL) -m 644 lib/libvlc.a $(DESTDIR)$(libdir) |
|||
|
|||
libvlc-uninstall: |
|||
rm -f $(DESTDIR)$(bindir)/vlc-config |
|||
rm -Rf $(DESTDIR)$(includedir)/vlc |
|||
rm -f $(DESTDIR)$(libdir)/libvlc.a |
|||
|
|||
mozilla-install: |
|||
ifeq ($(MOZILLA),1) |
|||
-cd mozilla && $(MAKE) install |
|||
endif |
|||
|
|||
mozilla-uninstall: |
|||
ifeq ($(MOZILLA),1) |
|||
-cd mozilla && $(MAKE) uninstall |
|||
endif |
|||
|
|||
po-install: |
|||
-cd po && $(MAKE) install |
|||
|
|||
po-uninstall: |
|||
-cd po && $(MAKE) uninstall |
|||
|
|||
#
|
|||
# Package generation rules
|
|||
#
|
|||
dist: |
|||
# Check that tmp isn't in the way |
|||
@if test -e tmp; then \
|
|||
echo "Error: please remove ./tmp, it is in the way"; false; \
|
|||
else \
|
|||
echo "OK."; mkdir tmp; \
|
|||
fi |
|||
# Copy directory structure in tmp |
|||
find -type d | grep -v '\(\.dep\|snapshot\|CVS\)' | while read i ; \
|
|||
do mkdir -p tmp/vlc/$$i ; \
|
|||
done |
|||
rm -Rf tmp/vlc/tmp |
|||
find debian -mindepth 1 -maxdepth 1 -type d | \
|
|||
while read i ; do rm -Rf tmp/vlc/$$i ; done |
|||
# Copy .c .h .in .cpp .m and .glade files |
|||
find include src modules -type f -name '*.[bcdhigmrst]*' | while read i ; \
|
|||
do cp $$i tmp/vlc/$$i ; done |
|||
# Grmbl... special case... |
|||
for i in API BUGS DESIGN TODO ; \
|
|||
do cp modules/mad/$$i tmp/vlc/modules/mad ; done |
|||
# Copy plugin Makefiles |
|||
find modules -type f -name Makefile | while read i ; \
|
|||
do cp $$i tmp/vlc/$$i ; done |
|||
# Copy extra programs and documentation |
|||
cp -a extras/* tmp/vlc/extras |
|||
cp -a doc/* tmp/vlc/doc |
|||
find tmp/vlc/extras tmp/vlc/doc \
|
|||
-type d -name CVS -o -name '.*' -o -name '*.[o]' | \
|
|||
while read i ; do rm -Rf $$i ; done |
|||
# Copy gettext stuff |
|||
cp po/ChangeLog po/vlc.pot po/*.po tmp/vlc/po |
|||
for i in Makefile.in.in POTFILES.in ; do cp po/$$i tmp/vlc/po ; done |
|||
# Copy misc files |
|||
cp FAQ AUTHORS COPYING TODO todo.pl ChangeLog* README* INSTALL* \
|
|||
ABOUT-NLS BUGS MODULES vlc.spec \
|
|||
Makefile Makefile.*.in Makefile.dep Makefile.modules \
|
|||
configure configure.in install-sh install-win32 macosx-dmg \
|
|||
config.sub config.guess aclocal.m4 mkinstalldirs \
|
|||
tmp/vlc/ |
|||
# Copy Debian control files |
|||
for file in debian/*dirs debian/*docs debian/*menu debian/*desktop \
|
|||
debian/*copyright ; do cp $$file tmp/vlc/debian ; done |
|||
for file in control changelog rules ; do \
|
|||
cp debian/$$file tmp/vlc/debian/ ; done |
|||
# Copy ipkg control files |
|||
for file in control rules patch ; do \
|
|||
cp ipkg/$$file tmp/vlc/ipkg/ ; done |
|||
# Copy fonts and icons |
|||
for file in share/*vlc* share/*psf; do \
|
|||
cp $$file tmp/vlc/share ; done |
|||
# Build archives |
|||
F=vlc-${VERSION}; \
|
|||
mv tmp/vlc tmp/$$F; (cd tmp ; \
|
|||
cd $$F && $(MAKE) distclean && cd .. ; \
|
|||
tar czf ../$$F.tar.gz $$F); |
|||
# Clean up |
|||
rm -Rf tmp |
|||
|
|||
package-win32: |
|||
# XXX: this rule is probably only useful to you if you have exactly |
|||
# the same setup as me. Contact sam@zoy.org if you need to use it. |
|||
# |
|||
# Check that tmp isn't in the way |
|||
@if test -e tmp; then \
|
|||
echo "Error: please remove ./tmp, it is in the way"; false; \
|
|||
else \
|
|||
echo "OK."; mkdir tmp; \
|
|||
fi |
|||
# Create installation script |
|||
cp install-win32 tmp/nsi |
|||
# Copy relevant files |
|||
cp vlc.exe tmp/ |
|||
$(STRIP) tmp/vlc.exe |
|||
cp INSTALL.win32 tmp/INSTALL.txt ; unix2dos tmp/INSTALL.txt |
|||
for file in AUTHORS COPYING ChangeLog README FAQ TODO ; \
|
|||
do cp $$file tmp/$${file}.txt ; \
|
|||
unix2dos tmp/$${file}.txt ; done |
|||
mkdir tmp/plugins |
|||
ifneq (,$(PLUGINS)) |
|||
for i in $(PLUGINS) ; do \
|
|||
DIR=`echo $$i | cut -f1 -d/` ; \
|
|||
mkdir -p tmp/plugins/$$DIR ; \
|
|||
cp modules/$$i.so tmp/plugins/$$DIR ; \
|
|||
if test $$i != gui/win32/win32 ; then \
|
|||
$(STRIP) \
|
|||
tmp/plugins/$$DIR/`echo $$i | sed -e 's@.*/@@'`.so ; \
|
|||
fi ; \
|
|||
done |
|||
endif |
|||
mkdir tmp/share |
|||
for file in default8x16.psf default8x9.psf ; \
|
|||
do cp share/$$file tmp/share/ ; done |
|||
# Create package |
|||
wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe -- /DVERSION=${VERSION} /CD tmp/nsi |
|||
# Clean up |
|||
rm -Rf tmp |
|||
|
|||
package-beos: |
|||
# Check that tmp isn't in the way |
|||
@if test -e tmp; then \
|
|||
echo "Error: please remove ./tmp, it is in the way"; false; \
|
|||
else \
|
|||
echo "OK."; mkdir tmp; \
|
|||
fi |
|||
|
|||
# Create dir |
|||
mkdir -p tmp/vlc/share |
|||
# Copy relevant files |
|||
cp vlc tmp/vlc/ |
|||
strip tmp/vlc/vlc |
|||
xres -o tmp/vlc/vlc ./share/vlc_beos.rsrc |
|||
cp AUTHORS COPYING ChangeLog README FAQ TODO tmp/vlc/ |
|||
for file in default8x16.psf default8x9.psf ; \
|
|||
do cp share/$$file tmp/vlc/share/ ; done |
|||
mkdir tmp/vlc/modules |
|||
cp $(PLUGINS:%=modules/%.so) tmp/vlc/modules/ |
|||
strip $(PLUGINS:%=tmp/vlc/modules/%.so) |
|||
# Create package |
|||
mv tmp/vlc tmp/vlc-${VERSION} |
|||
(cd tmp ; find vlc-${VERSION} | \
|
|||
zip -9 -@ vlc-${VERSION}-BeOS-x86.zip ) |
|||
mv tmp/vlc-${VERSION}-BeOS-x86.zip . |
|||
# Clean up |
|||
rm -Rf tmp |
|||
|
|||
package-macosx: |
|||
# Check that tmp isn't in the way |
|||
@if test -e tmp; then \
|
|||
echo "Error: please remove ./tmp, it is in the way"; false; \
|
|||
else \
|
|||
echo "OK."; mkdir tmp; \
|
|||
fi |
|||
|
|||
# Copy relevant files |
|||
cp -R vlc.app tmp/ |
|||
cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf FAQ TODO tmp/ |
|||
|
|||
# Create disk image |
|||
./macosx-dmg 0 "vlc-${VERSION}" tmp/* |
|||
|
|||
# Clean up |
|||
rm -Rf tmp |
|||
|
|||
#
|
|||
# Gtk/Gnome/* aliases and OS X application
|
|||
#
|
|||
gnome-vlc gvlc kvlc qvlc: vlc |
|||
rm -f $@ && ln -s vlc $@ |
|||
|
|||
.PHONY: vlc.app |
|||
vlc.app: vlc plugins |
|||
ifneq (,$(findstring darwin,$(SYS))) |
|||
rm -Rf vlc.app |
|||
cd extras/MacOSX ; pbxbuild | grep -v '^ ' | grep -v '^\t' | grep -v "^$$" |
|||
cp -r extras/MacOSX/build/vlc.bundle ./vlc.app |
|||
$(INSTALL) -d vlc.app/Contents/MacOS/share |
|||
$(INSTALL) -d vlc.app/Contents/MacOS/modules |
|||
$(INSTALL) vlc vlc.app/Contents/MacOS/ |
|||
ifneq (,$(PLUGINS)) |
|||
$(INSTALL) $(PLUGINS:%=modules/%.so) vlc.app/Contents/MacOS/modules |
|||
endif |
|||
$(INSTALL) -m 644 share/*.psf vlc.app/Contents/MacOS/share |
|||
endif |
|||
|
|||
FORCE: |
|||
|
|||
#
|
|||
# Generic rules (see below)
|
|||
#
|
|||
src/misc/modules_builtin.h: Makefile.opts Makefile Makefile.config |
|||
@echo "make[$(MAKELEVEL)]: Creating \`$@'" |
|||
@rm -f $@ && cp $@.in $@ |
|||
ifneq (,$(BUILTINS)) |
|||
@for i in $(BUILTINS) ; do \
|
|||
echo "int vlc_entry__modules_"`echo $$i | sed -e 'y@/@_@' -e 's@\..*@@'`"( module_t* );" >>$@; \
|
|||
done |
|||
@echo "" >> $@ ; |
|||
endif |
|||
@echo "#define ALLOCATE_ALL_BUILTINS() \\" >> $@ ; |
|||
@echo " do \\" >> $@ ; |
|||
@echo " { \\" >> $@ ; |
|||
ifneq (,$(BUILTINS)) |
|||
@for i in $(BUILTINS) ; do \
|
|||
echo " ALLOCATE_BUILTIN(modules_"`echo $$i | sed -e 'y@/@_@' -e 's@\..*@@'`"); \\" >> $@ ; \
|
|||
done |
|||
endif |
|||
@echo " } while( 0 );" >> $@ ; |
|||
@echo "" >> $@ ; |
|||
|
|||
$(C_DEP): %.d: FORCE |
|||
@$(MAKE) -s --no-print-directory -f Makefile.dep $@ CFLAGS="$(CFLAGS) $(vlc_CFLAGS)" |
|||
|
|||
$(CPP_DEP): %.dpp: FORCE |
|||
@$(MAKE) -s --no-print-directory -f Makefile.dep $@ CFLAGS="$(CFLAGS) $(vlc_CFLAGS)" |
|||
|
|||
$(C_OBJ): %.o: Makefile.opts Makefile.dep Makefile |
|||
$(C_OBJ): %.o: $(H_OBJ) |
|||
$(C_OBJ): %.o: .dep/%.d |
|||
$(C_OBJ): %.o: %.c |
|||
$(CC) $(CFLAGS) $(vlc_CFLAGS) -c -o $@ $< |
|||
|
|||
$(CPP_OBJ): %.o: Makefile.opts Makefile.dep Makefile |
|||
$(CPP_OBJ): %.o: $(H_OBJ) |
|||
$(CPP_OBJ): %.o: .dep/%.dpp |
|||
$(CPP_OBJ): %.o: %.cpp |
|||
$(CC) $(CFLAGS) $(vlc_CFLAGS) -c -o $@ $< |
|||
|
|||
$(M_OBJ): %.o: Makefile.opts Makefile.dep Makefile |
|||
$(M_OBJ): %.o: $(H_OBJ) |
|||
$(M_OBJ): %.o: .dep/%.dm |
|||
$(M_OBJ): %.o: %.m |
|||
$(CC) $(CFLAGS) $(vlc_CFLAGS) -c -o $@ $< |
|||
|
|||
$(RESOURCE_OBJ): %.o: Makefile.dep Makefile |
|||
ifneq (,(findstring mingw32,$(SYS))) |
|||
$(RESOURCE_OBJ): %.o: %.rc |
|||
$(WINDRES) -i $< -o $@ |
|||
endif |
|||
|
|||
#
|
|||
# Main application target
|
|||
#
|
|||
vlc: Makefile.config Makefile.opts Makefile.dep Makefile $(VLC_OBJ) lib/libvlc.a $(BUILTIN_OBJ) |
|||
$(CC) $(CFLAGS) -o $@ $(VLC_OBJ) lib/libvlc.a $(LDFLAGS) $(vlc_LDFLAGS) $(BUILTIN_OBJ) $(builtins_LDFLAGS) |
|||
ifeq ($(SYS),beos) |
|||
xres -o $@ ./share/vlc_beos.rsrc |
|||
mimeset -f $@ |
|||
endif |
|||
|
|||
#
|
|||
# Main library target
|
|||
#
|
|||
lib/libvlc.a: Makefile.opts Makefile.dep Makefile $(LIBVLC_OBJ) |
|||
rm -f $@ |
|||
ar rc $@ $(LIBVLC_OBJ) |
|||
$(RANLIB) $@ |
|||
|
|||
#
|
|||
# DO NOT DISTRIBUTE SHARED VERSIONS OF LIBVLC UNTIL THE ABI IS STABLE
|
|||
# OR BURN IN HELL -- Sam
|
|||
#
|
|||
#lib/libvlc.so: Makefile.opts Makefile.dep Makefile $(LIBVLC_OBJ)
|
|||
# $(CC) -shared $(LIBVLC_OBJ) $(LDFLAGS) $(vlc_LDFLAGS) -o $@
|
|||
|
|||
builtins: Makefile.modules Makefile.opts Makefile.dep Makefile $(BUILTIN_OBJ) |
|||
plugins: Makefile.modules Makefile.opts Makefile.dep Makefile $(PLUGIN_OBJ) |
|||
|
|||
modules/%.a modules/%.so: $(H_OBJ) FORCE |
|||
cd $(shell echo $@ | sed -e 's@\(.*\)/.*@\1@') && $(MAKE) -f $(shell echo $@ | sed -e 's@[^/]*/@../@g' -e 's@\(.*\)/.*@\1@')/Makefile.modules $(shell echo $@ | sed -e 's@.*/@@') PARENT=$(shell echo $@ | sed -e 's@[^/]*/@../@g' -e 's@\(.*\)/.*@\1@') MODULE_PATH=$(shell echo $@ | sed -e 'y@/@_@' -e 's@\..*@@') |
|||
|
|||
#
|
|||
# Mozilla plugin target
|
|||
#
|
|||
mozilla/libvlcplugin.so: FORCE |
|||
ifeq ($(MOZILLA),1) |
|||
@cd mozilla && $(MAKE) builtins_LDFLAGS="$(builtins_LDFLAGS)" |
|||
endif |
|||
|
|||
#
|
|||
# gettext target
|
|||
#
|
|||
po: FORCE |
|||
@cd po && $(MAKE) |
|||
|
|||
@ -1,286 +0,0 @@ |
|||
###############################################################################
|
|||
# vlc (VideoLAN Client) options Makefile
|
|||
# (c)1998 VideoLAN
|
|||
###############################################################################
|
|||
|
|||
HAVE_MAKEFILE_OPTS = 1 |
|||
|
|||
###############################################################################
|
|||
# Configuration
|
|||
###############################################################################
|
|||
|
|||
#
|
|||
# Build options
|
|||
#
|
|||
SYS = @SYS@ |
|||
ALIASES =@ALIASES@ |
|||
MOZILLA = @MOZILLA@ |
|||
INSTALL = @INSTALL@ |
|||
ARCH = @ARCH@ |
|||
|
|||
#
|
|||
# Compilation options
|
|||
#
|
|||
DEBUG = @DEBUG@ |
|||
CPROF = @CPROF@ |
|||
GPROF = @GPROF@ |
|||
OPTIMS = @OPTIMS@ |
|||
TUNING = @TUNING@ |
|||
RELEASE = @RELEASE@ |
|||
|
|||
#
|
|||
# Build environment
|
|||
#
|
|||
CC = @CC@ |
|||
CFLAGS += @CFLAGS@ |
|||
SHELL = @SHELL@ |
|||
RANLIB = @RANLIB@ |
|||
STRIP = @STRIP@ |
|||
MOC = @MOC@ |
|||
WINDRES = @WINDRES@ |
|||
BCBUILDER = @BCBUILDER@ |
|||
|
|||
#
|
|||
# Installation environment
|
|||
#
|
|||
exec_prefix = @exec_prefix@ |
|||
prefix = @prefix@ |
|||
bindir = @bindir@ |
|||
datadir = @datadir@ |
|||
libdir = @libdir@ |
|||
includedir = @includedir@ |
|||
|
|||
#
|
|||
# CFLAGS for special cases
|
|||
#
|
|||
vlc_CFLAGS = @vlc_CFLAGS@ |
|||
plugins_CFLAGS = @plugins_CFLAGS@ |
|||
builtins_CFLAGS = @builtins_CFLAGS@ |
|||
mozilla_CFLAGS = @mozilla_CFLAGS@ |
|||
|
|||
a52tofloat32_CFLAGS = @a52tofloat32_CFLAGS@ |
|||
arts_CFLAGS = @arts_CFLAGS@ |
|||
i420_yuy2_mmx_CFLAGS = @i420_yuy2_mmx_CFLAGS@ |
|||
directx_CFLAGS = @directx_CFLAGS@ |
|||
dvd_CFLAGS = @dvd_CFLAGS@ |
|||
dvdread_CFLAGS = @dvdread_CFLAGS@ |
|||
dvdplay_CFLAGS = @dvdplay_CFLAGS@ |
|||
esd_CFLAGS = @esd_CFLAGS@ |
|||
familiar_CFLAGS = @familiar_CFLAGS@ |
|||
faad_CFLAGS = @faad_CFLAGS@ |
|||
ffmpeg_CFLAGS = @ffmpeg_CFLAGS@ |
|||
glide_CFLAGS = @glide_CFLAGS@ |
|||
gnome_CFLAGS = @gnome_CFLAGS@ |
|||
gtk_CFLAGS = @gtk_CFLAGS@ |
|||
gtk_main_CFLAGS = @gtk_main_CFLAGS@ |
|||
idctaltivec_CFLAGS = @idctaltivec_CFLAGS@ |
|||
kde_CFLAGS = @kde_CFLAGS@ |
|||
mad_CFLAGS = @mad_CFLAGS@ |
|||
memcpyaltivec_CFLAGS = @memcpyaltivec_CFLAGS@ |
|||
motionaltivec_CFLAGS = @motionaltivec_CFLAGS@ |
|||
opie_CFLAGS = @opie_CFLAGS@ |
|||
ts_dvbpsi_CFLAGS = @ts_dvbpsi_CFLAGS@ |
|||
qt_CFLAGS = @qt_CFLAGS@ |
|||
qte_CFLAGS = @qte_CFLAGS@ |
|||
sdl_CFLAGS = @sdl_CFLAGS@ |
|||
svgalib_CFLAGS = @svgalib_CFLAGS@ |
|||
x11_CFLAGS = @x11_CFLAGS@ |
|||
xvideo_CFLAGS = @xvideo_CFLAGS@ |
|||
|
|||
#
|
|||
# Libraries for special cases
|
|||
#
|
|||
vlc_LDFLAGS = @vlc_LDFLAGS@ |
|||
plugins_LDFLAGS = @plugins_LDFLAGS@ |
|||
builtins_LDFLAGS = @builtins_LDFLAGS@ |
|||
mozilla_LDFLAGS = @mozilla_LDFLAGS@ |
|||
|
|||
a52tofloat32_LDFLAGS = @a52tofloat32_LDFLAGS@ |
|||
aa_LDFLAGS = @aa_LDFLAGS@ |
|||
alsa_LDFLAGS = @alsa_LDFLAGS@ |
|||
arts_LDFLAGS = @arts_LDFLAGS@ |
|||
beos_LDFLAGS = @beos_LDFLAGS@ |
|||
i420_rgb_LDFLAGS = @i420_rgb_LDFLAGS@ |
|||
directx_LDFLAGS = @directx_LDFLAGS@ |
|||
dv_LDFLAGS = @dv_LDFLAGS@ |
|||
dvd_LDFLAGS = @dvd_LDFLAGS@ |
|||
dvdread_LDFLAGS = @dvdread_LDFLAGS@ |
|||
dvdplay_LDFLAGS = @dvdplay_LDFLAGS@ |
|||
esd_LDFLAGS = @esd_LDFLAGS@ |
|||
familiar_LDFLAGS = @familiar_LDFLAGS@ |
|||
distort_LDFLAGS = @distort_LDFLAGS@ |
|||
faad_LDFLAGS = @faad_LDFLAGS@ |
|||
ffmpeg_LDFLAGS = @ffmpeg_LDFLAGS@ |
|||
mp4_LDFLAGS = @mp4_LDFLAGS@ |
|||
ggi_LDFLAGS = @ggi_LDFLAGS@ |
|||
glide_LDFLAGS = @glide_LDFLAGS@ |
|||
gnome_LDFLAGS = @gnome_LDFLAGS@ |
|||
gtk_LDFLAGS = @gtk_LDFLAGS@ |
|||
gtk_main_LDFLAGS = @gtk_main_LDFLAGS@ |
|||
http_LDFLAGS = @http_LDFLAGS@ |
|||
idctaltivec_LDFLAGS = @idctaltivec_LDFLAGS@ |
|||
imdct_LDFLAGS = @imdct_LDFLAGS@ |
|||
imdct3dn_LDFLAGS = @imdct3dn_LDFLAGS@ |
|||
imdctsse_LDFLAGS = @imdctsse_LDFLAGS@ |
|||
ipv4_LDFLAGS = @ipv4_LDFLAGS@ |
|||
ipv6_LDFLAGS = @ipv6_LDFLAGS@ |
|||
kde_LDFLAGS = @kde_LDFLAGS@ |
|||
lirc_LDFLAGS = @lirc_LDFLAGS@ |
|||
macosx_LDFLAGS = @macosx_LDFLAGS@ |
|||
mad_LDFLAGS = @mad_LDFLAGS@ |
|||
memcpyaltivec_LDFLAGS = @memcpyaltivec_LDFLAGS@ |
|||
motionaltivec_LDFLAGS = @motionaltivec_LDFLAGS@ |
|||
ncurses_LDFLAGS = @ncurses_LDFLAGS@ |
|||
opie_LDFLAGS = @opie_LDFLAGS@ |
|||
oss_LDFLAGS = @oss_LDFLAGS@ |
|||
qnx_LDFLAGS = @qnx_LDFLAGS@ |
|||
qt_LDFLAGS = @qt_LDFLAGS@ |
|||
qte_LDFLAGS = @qte_LDFLAGS@ |
|||
rc_LDFLAGS = @rc_LDFLAGS@ |
|||
sdl_LDFLAGS = @sdl_LDFLAGS@ |
|||
svgalib_LDFLAGS = @svgalib_LDFLAGS@ |
|||
audio_LDFLAGS = @audio_LDFLAGS@ |
|||
ts_dvbpsi_LDFLAGS = @ts_dvbpsi_LDFLAGS@ |
|||
vcd_LDFLAGS = @vcd_LDFLAGS@ |
|||
vorbis_LDFLAGS = @vorbis_LDFLAGS@ |
|||
waveout_LDFLAGS = @waveout_LDFLAGS@ |
|||
x11_LDFLAGS = @x11_LDFLAGS@ |
|||
xosd_LDFLAGS = @xosd_LDFLAGS@ |
|||
xvideo_LDFLAGS = @xvideo_LDFLAGS@ |
|||
id3tag_LDFLAGS = @id3tag_LDFLAGS@ |
|||
|
|||
#
|
|||
# Other special cases
|
|||
#
|
|||
NEED_GETOPT = @NEED_GETOPT@ |
|||
|
|||
###############################################################################
|
|||
# Configuration pre-processing
|
|||
###############################################################################
|
|||
|
|||
# PROGRAM_OPTIONS is an identification string of the compilation options
|
|||
PROGRAM_OPTIONS = $(SYS) $(ARCH) |
|||
ifeq ($(DEBUG),1) |
|||
PROGRAM_OPTIONS += DEBUG |
|||
CFLAGS += -DDEBUG |
|||
endif |
|||
ifeq ($(CPROF),1) |
|||
PROGRAM_OPTIONS += CPROF |
|||
CFLAGS += -DCPROF |
|||
endif |
|||
ifeq ($(GPROF),1) |
|||
PROGRAM_OPTIONS += GPROF |
|||
CFLAGS += -DGPROF |
|||
endif |
|||
|
|||
# PROGRAM_BUILD is a complete identification of the build
|
|||
# (we can't use fancy options with date since OSes like Solaris
|
|||
# or FreeBSD have strange date implementations)
|
|||
ifeq ($(SYS),beos) |
|||
# XXX: beos does not support hostname (how lame...)
|
|||
PROGRAM_BUILD = `date` $(USER) |
|||
else |
|||
PROGRAM_BUILD = `date` $(USER)@`hostname` |
|||
endif |
|||
|
|||
# On Linux and Solaris, activate 64-bit off_t (by default under BSD)
|
|||
CFLAGS += -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE |
|||
|
|||
# Gettext support
|
|||
CFLAGS += -DLOCALEDIR=\"$(datadir)/locale\" |
|||
|
|||
# Data and plugin location
|
|||
CFLAGS += -DDATA_PATH=\"@prefix@/share/vlc\" |
|||
CFLAGS += -DPLUGIN_PATH=\"@prefix@/lib/vlc\" |
|||
|
|||
###############################################################################
|
|||
# Tuning and other variables - do not change anything except if you know
|
|||
# exactly what you are doing
|
|||
###############################################################################
|
|||
|
|||
#
|
|||
# C headers directories
|
|||
#
|
|||
vlc_CFLAGS += -Iinclude -Iextras -I. |
|||
|
|||
#
|
|||
# C compiler flags: mainstream compilation
|
|||
#
|
|||
CFLAGS += -D_REENTRANT -D_THREAD_SAFE |
|||
CFLAGS += -D_GNU_SOURCE |
|||
|
|||
ifeq ($(RELEASE),1) |
|||
CFLAGS += -DHAVE_RELEASE |
|||
endif |
|||
|
|||
CFLAGS += -D__VLC__ |
|||
|
|||
# Optimizations : don't compile debug versions with them
|
|||
ifeq ($(OPTIMS),1) |
|||
CFLAGS += @CFLAGS_OPTIM@ |
|||
ifneq ($(DEBUG),1) |
|||
ifneq ($(GPROF),1) |
|||
ifneq ($(CPROF),1) |
|||
CFLAGS += @CFLAGS_OPTIM_NODEBUG@ |
|||
endif |
|||
endif |
|||
endif |
|||
|
|||
ifneq (,$(findstring powerpc,$(ARCH))) |
|||
# Optimizations for PowerPC
|
|||
CFLAGS += -mmultiple -mhard-float -mstring -mcpu=powerpc |
|||
ifneq (,$(TUNING)) |
|||
CFLAGS += -mtune=$(TUNING) |
|||
endif |
|||
else |
|||
ifneq (,$(findstring sparc,$(ARCH))) |
|||
# Optimizations for Sparc
|
|||
CFLAGS += -mhard-float |
|||
ifneq (,$(TUNING)) |
|||
CFLAGS += -mcpu=$(TUNING) |
|||
endif |
|||
else |
|||
# Generic optimizations
|
|||
ifneq (,$(TUNING)) |
|||
CFLAGS += -mcpu=$(TUNING) |
|||
endif |
|||
endif |
|||
endif |
|||
|
|||
#end of optimisations
|
|||
endif |
|||
|
|||
#
|
|||
# C compiler flags: linking
|
|||
#
|
|||
LDFLAGS += @LDFLAGS@ |
|||
LDFLAGS += -Wall |
|||
ifneq ($(DEBUG),1) |
|||
ifneq ($(GPROF),1) |
|||
ifneq ($(CPROF),1) |
|||
#LDFLAGS += -s
|
|||
endif |
|||
endif |
|||
endif |
|||
|
|||
#
|
|||
# Linker flags: plugins and builtins linking
|
|||
#
|
|||
builtins_LDFLAGS += $(shell echo $(BUILTINS) | sed -e 's@[^ ]*/\([^ ]*\)@$$\1_LDFLAGS@g') |
|||
|
|||
#
|
|||
# Debugging and profiling support
|
|||
#
|
|||
ifeq ($(DEBUG),1) |
|||
CFLAGS += -g |
|||
endif |
|||
|
|||
ifeq ($(CPROF),1) |
|||
CFLAGS += -finstrument-functions |
|||
endif |
|||
|
|||
ifeq ($(GPROF),1) |
|||
CFLAGS += -pg |
|||
endif |
|||
|
|||
|
|||
File diff suppressed because it is too large
@ -1,4 +1,16 @@ |
|||
usr/bin |
|||
usr/lib/vlc |
|||
usr/lib/vlc/access |
|||
usr/lib/vlc/audio_filter |
|||
usr/lib/vlc/audio_mixer |
|||
usr/lib/vlc/audio_output |
|||
usr/lib/vlc/codec |
|||
usr/lib/vlc/control |
|||
usr/lib/vlc/demux |
|||
usr/lib/vlc/gui |
|||
usr/lib/vlc/misc |
|||
usr/lib/vlc/video_chroma |
|||
usr/lib/vlc/video_filter |
|||
usr/lib/vlc/video_output |
|||
usr/lib/vlc/visualization |
|||
usr/include/vlc |
|||
usr/share/doc |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
usr/lib/vlc/access |
|||
usr/share/doc |
|||
@ -0,0 +1,2 @@ |
|||
Makefile |
|||
Makefile.in |
|||
@ -0,0 +1,247 @@ |
|||
<chapter> <title> VLC Overview </title> |
|||
|
|||
<sect1> <title> LibVLC </title> |
|||
|
|||
<para> LibVLC is the core part of VLC. It is a library providing an |
|||
interface for programs such as VLC to a lot of functionalities such as |
|||
stream access, audio and video output, plugin handling, a thread system. |
|||
All the LibVLC source files are located in the <filename>src/</filename> |
|||
directory and its subdirectories: </para> |
|||
|
|||
<itemizedlist> |
|||
|
|||
<listitem> <para> <filename>interface/</filename>: contains code for |
|||
user interaction such as key presses and device ejection. </para> |
|||
</listitem> |
|||
|
|||
<listitem> <para> <filename>playlist/</filename>: manages playlist |
|||
interaction such as stop, play, next, or random playback. </para> |
|||
</listitem> |
|||
|
|||
<listitem> <para> <filename>input/</filename>: opens an input module, |
|||
reads packets, parses them and passes reconstituted elementary streams |
|||
to the decoder(s). </para> </listitem> |
|||
|
|||
<listitem> <para> <filename>video_output/</filename>: initializes the |
|||
video display, gets all pictures and subpictures (ie. subtitles) from |
|||
the decoder(s), optionally converts them to another format (such as YUV |
|||
to RGB), and displays them. </para></listitem> |
|||
|
|||
<listitem> <para> <filename>audio_output/</filename>: initializes the |
|||
audio mixer, ie. finds the right playing frequency, and then resamples |
|||
audio frames received from the decoder(s). </para> </listitem> |
|||
|
|||
<listitem> <para> <filename>stream_output/</filename>: TODO </para> |
|||
</listitem> |
|||
|
|||
<listitem> <para> <filename>misc/</filename>: miscellaneous utilities |
|||
used in other parts of libvlc, such as the thread system, the message |
|||
queue, CPU detection, the object lookup system, or platform-specific |
|||
code. </para> </listitem> |
|||
|
|||
</itemizedlist> |
|||
|
|||
<mediaobject> |
|||
<imageobject> |
|||
<imagedata fileref="modules.eps" format="EPS" scalefit="1" scale="80"/> |
|||
</imageobject> |
|||
<imageobject> |
|||
<imagedata fileref="modules.gif" format="GIF" /> |
|||
</imageobject> |
|||
<textobject> |
|||
<phrase> Data flow between modules </phrase> |
|||
</textobject> |
|||
</mediaobject> |
|||
|
|||
</sect1> |
|||
|
|||
<sect1> <title> VLC </title> |
|||
|
|||
<para> VLC is a simple program written around LibVLC. It is very small, |
|||
but is a fully featured multimedia player thanks to LibVLC's support for |
|||
dynamic modules. </para> |
|||
|
|||
</sect1> |
|||
|
|||
<sect1> <title> Modules </title> |
|||
|
|||
<para> Modules are located in the <filename>modules/</filename> |
|||
subdirectory and are loaded at runtime. Every module may offer different |
|||
features that will best suit a particular file or a particular |
|||
environment. Besides, most portability works result in the writing of an |
|||
audio_output/video_output/interface module to support a new platform (eg. |
|||
BeOS or MacOS X). </para> |
|||
|
|||
<para> Plugin modules are loaded and unloaded dynamically |
|||
by functions in <filename>src/misc/modules.c</filename> and |
|||
<filename>include/modules*.h</filename>. The API for writing modules will |
|||
be discussed in a following chapter. </para> |
|||
|
|||
<para> Modules can also be built directly into the application which uses |
|||
LibVLC, for instance on an operating system that does not have support for |
|||
dynamically loadable code. Modules statically built into the application |
|||
are called builtins. </para> |
|||
|
|||
</sect1> |
|||
|
|||
<sect1> <title> Threads </title> |
|||
|
|||
<sect2> <title> Thread management </title> |
|||
|
|||
<para> VLC is heavily multi-threaded. We chose against a single-thread |
|||
approach because decoder preemptibility and scheduling would be a |
|||
mastermind (for instance decoders and outputs have to be separated, |
|||
otherwise it cannot be warrantied that a frame will be played at the |
|||
exact presentation time), and we currently have no plan to support a |
|||
single-threaded client. Multi-process decoders usually imply more overhead |
|||
(problems of shared memory) and communication between processes is harder. |
|||
</para> |
|||
|
|||
<para> Our threading structure is modeled on pthreads. |
|||
However, for portability reasons, we don't call |
|||
<function>pthread_*</function> functions directly, but use a |
|||
similar wrapper, made of <function>vlc_thread_create</function>, |
|||
<function>vlc_thread_exit</function>, |
|||
<function>vlc_thread_join</function>, |
|||
<function>vlc_mutex_init</function>, <function>vlc_mutex_lock</function>, |
|||
<function>vlc_mutex_unlock</function>, |
|||
<function>vlc_mutex_destroy</function>, |
|||
<function>vlc_cond_init</function>, <function>vlc_cond_signal</function>, |
|||
<function>vlc_cond_broadcast</function>, |
|||
<function>vlc_cond_wait</function>, <function>vlc_cond_destroy</function>, |
|||
and structures <type>vlc_thread_t</type>, <type>vlc_mutex_t</type>, and |
|||
<type>vlc_cond_t</type>. </para> |
|||
|
|||
</sect2> |
|||
|
|||
<sect2> <title> Synchronization </title> |
|||
|
|||
<para> Another key feature of VLC is that decoding and playing are |
|||
asynchronous: decoding is done by a decoder thread, playing is done by |
|||
audio_output or video_output thread. The design goal is to ensure that |
|||
an audio or video frame is played exactly at the right time, without |
|||
blocking any of the decoder threads. This leads to a complex communication |
|||
structure between the interface, the input, the decoders and the outputs. |
|||
</para> |
|||
|
|||
<para> Having several input and video_output threads reading multiple |
|||
files at the same time is permitted, despite the fact that the current |
|||
interface doesn't allow any way to do it [this is subject to change in the |
|||
near future]. Anyway the client has been written from the ground up with |
|||
this in mind. This also implies that a non-reentrant library (including in |
|||
particular liba52) cannot be used without using a global lock. </para> |
|||
|
|||
<para> Presentation Time Stamps located in the system layer of the |
|||
stream are passed to the decoders, and all resulting samples are dated |
|||
accordingly. The output layers are supposed to play them at the right |
|||
time. Dates are converted to microseconds ; an absolute date is the number |
|||
of microseconds since Epoch (Jan 1st, 1970). The <type>mtime_t</type> type |
|||
is a signed 64-bit integer. </para> |
|||
|
|||
<para> The current date can be retrieved with |
|||
<function>mdate()</function>. The execution of a thread can be suspended |
|||
until a certain <parameter>date</parameter> via <function>mwait</function> |
|||
<parameter>( mtime_t date )</parameter>. You can sleep for a fixed number |
|||
of microseconds with <function>msleep</function> <parameter>( mtime_t |
|||
delay )</parameter>. </para> |
|||
|
|||
<warning> <para> Please remember to wake up slightly |
|||
<emphasis>before</emphasis> the presentation date, if some particular |
|||
treatment needs to be done (e.g. a chroma transformation). For instance |
|||
in <filename>modules/codec/mpeg_video/synchro.c</filename>, track of the |
|||
average decoding times is kept to ensure pictures are not decoded too |
|||
late. </para> </warning> |
|||
|
|||
</sect2> |
|||
|
|||
</sect1> |
|||
|
|||
<sect1> <title> Code conventions </title> |
|||
|
|||
<sect2> <title> Function naming </title> |
|||
|
|||
<para> |
|||
All functions are named accordingly : module name (in lower case) + _ + |
|||
function name (in mixed case, <emphasis> without underscores</emphasis>). |
|||
For instance : <function>intf_FooFunction</function>. Static functions |
|||
don't need usage of the module name. |
|||
</para> |
|||
|
|||
</sect2> |
|||
|
|||
<sect2> <title> Variable naming </title> |
|||
|
|||
<para> |
|||
Hungarian notations are used, that means we have the following prefixes : |
|||
</para> |
|||
|
|||
<itemizedlist> |
|||
<listitem> <para> i_ for integers (sometimes l_ for long integers) ; |
|||
</para> </listitem> |
|||
<listitem> <para> b_ for booleans ; </para> </listitem> |
|||
<listitem> <para> d_ for doubles (sometimes f_ for floats) ; |
|||
</para> </listitem> |
|||
<listitem> <para> pf_ for function pointers ; </para> </listitem> |
|||
<listitem> <para> psz_ for a Pointer to a String terminated by a |
|||
Zero (C-string) ; |
|||
</para> </listitem> |
|||
<listitem> <para> More generally, we add a p when the variable is |
|||
a pointer to a type. </para> </listitem> |
|||
</itemizedlist> |
|||
|
|||
<para> |
|||
If one variable has no basic type (for instance a complex structure), don't |
|||
put any prefix (except p_* if it's a pointer). After one prefix, put |
|||
an <emphasis> explicit </emphasis> variable name <emphasis> in lower |
|||
case</emphasis>. If several words are required, join them with an |
|||
underscore (no mixed case). Examples : |
|||
</para> |
|||
|
|||
<itemizedlist> |
|||
<listitem> <para> |
|||
<type> data_packet_t * </type> <varname> p_buffer; </varname> |
|||
</para> </listitem> <listitem> <para> |
|||
<type> char </type> <varname> psz_msg_date[42]; </varname> |
|||
</para> </listitem> <listitem> <para> |
|||
<type> int </type> <varname> pi_es_refcount[MAX_ES]; </varname> |
|||
</para> </listitem> <listitem> <para> |
|||
<type> void </type> <varname> (* pf_next_data_packet)( int * ); </varname> |
|||
</para> </listitem> |
|||
</itemizedlist> |
|||
|
|||
</sect2> |
|||
|
|||
<sect2> <title> A few words about white spaces </title> |
|||
|
|||
<para> |
|||
First, never use tabs in the source (you're entitled to use them in the |
|||
Makefile :-). Use <command> set expandtab </command> under <application> |
|||
vim </application> or the equivalent under <application> |
|||
emacs</application>. Indents are 4 spaces long. |
|||
</para> |
|||
|
|||
<para> |
|||
Second, put spaces <emphasis> before and after </emphasis> operators, and |
|||
inside brackets. For instance : |
|||
<programlisting> for( i = 0; i < 12; i++, j += 42 ); </programlisting> |
|||
</para> |
|||
|
|||
<para> |
|||
Third, leave braces alone on their lines (GNU style). For instance : |
|||
<programlisting> |
|||
if( i_es == 42 ) |
|||
{ |
|||
p_buffer[0] = 0x12; |
|||
} |
|||
</programlisting> |
|||
</para> |
|||
|
|||
<para> |
|||
We write C, so use C-style comments /* ... */. |
|||
</para> |
|||
|
|||
</sect2> |
|||
|
|||
</sect1> |
|||
|
|||
</chapter> |
|||
@ -0,0 +1 @@ |
|||
.deps |
|||
@ -1,319 +0,0 @@ |
|||
/* DO NOT EDIT THIS FILE ! It was generated by bootstrap.sh */ |
|||
|
|||
struct module_symbols_t |
|||
{ |
|||
aout_buffer_t * (* aout_DecNewBuffer_inner) ( aout_instance_t *, aout_input_t *, size_t ) ; |
|||
aout_buffer_t * (* aout_FifoPop_inner) ( aout_instance_t * p_aout, aout_fifo_t * p_fifo ) ; |
|||
aout_buffer_t * (* aout_OutputNextBuffer_inner) ( aout_instance_t *, mtime_t, vlc_bool_t ) ; |
|||
aout_input_t * (* __aout_DecNew_inner) ( vlc_object_t *, aout_instance_t **, audio_sample_format_t * ) ; |
|||
aout_instance_t * (* __aout_New_inner) ( vlc_object_t * ) ; |
|||
char * (* __config_GetPsz_inner) (vlc_object_t *, const char *) ; |
|||
char * (* config_GetHomeDir_inner) ( void ) ; |
|||
char * (* input_OffsetToTime_inner) ( input_thread_t *, char *, off_t ) ; |
|||
char * (* mstrtime_inner) ( char *psz_buffer, mtime_t date ) ; |
|||
const char * (* DecodeLanguage_inner) ( u16 ) ; |
|||
const iso639_lang_t * (* GetLang_1_inner) ( const char * ) ; |
|||
const iso639_lang_t * (* GetLang_2B_inner) ( const char * ) ; |
|||
const iso639_lang_t * (* GetLang_2T_inner) ( const char * ) ; |
|||
data_buffer_t * (* input_NewBuffer_inner) ( input_buffers_t *, size_t ) ; |
|||
data_packet_t * (* input_NewPacket_inner) ( input_buffers_t *, size_t ) ; |
|||
data_packet_t * (* input_ShareBuffer_inner) ( input_buffers_t *, data_buffer_t * ) ; |
|||
es_descriptor_t * (* input_AddES_inner) ( input_thread_t *, pgrm_descriptor_t *, u16, size_t ) ; |
|||
es_descriptor_t * (* input_FindES_inner) ( input_thread_t *, u16 ) ; |
|||
float (* __config_GetFloat_inner) (vlc_object_t *, const char *) ; |
|||
input_area_t * (* input_AddArea_inner) ( input_thread_t * ) ; |
|||
input_info_category_t * (* input_InfoCategory_inner) ( input_thread_t *, char * ) ; |
|||
int (* __config_GetInt_inner) (vlc_object_t *, const char *) ; |
|||
int (* __config_LoadCmdLine_inner) ( vlc_object_t *, int *, char *[], vlc_bool_t ) ; |
|||
int (* __config_LoadConfigFile_inner) ( vlc_object_t *, const char * ) ; |
|||
int (* __config_SaveConfigFile_inner) ( vlc_object_t *, const char * ) ; |
|||
int (* __intf_Eject_inner) ( vlc_object_t *, const char * ) ; |
|||
int (* __network_ChannelCreate_inner) ( vlc_object_t * ) ; |
|||
int (* __network_ChannelJoin_inner) ( vlc_object_t *, int ) ; |
|||
int (* __vlc_cond_destroy_inner) ( char *, int, vlc_cond_t * ) ; |
|||
int (* __vlc_cond_init_inner) ( vlc_object_t *, vlc_cond_t * ) ; |
|||
int (* __vlc_mutex_destroy_inner) ( char *, int, vlc_mutex_t * ) ; |
|||
int (* __vlc_mutex_init_inner) ( vlc_object_t *, vlc_mutex_t * ) ; |
|||
int (* __vlc_thread_create_inner) ( vlc_object_t *, char *, int, char *, void * ( * ) ( void * ), int, vlc_bool_t ) ; |
|||
int (* __vlc_threads_end_inner) ( vlc_object_t * ) ; |
|||
int (* __vlc_threads_init_inner) ( vlc_object_t * ) ; |
|||
int (* aout_DecDelete_inner) ( aout_instance_t *, aout_input_t * ) ; |
|||
int (* aout_DecPlay_inner) ( aout_instance_t *, aout_input_t *, aout_buffer_t * ) ; |
|||
int (* aout_FormatNbChannels_inner) ( audio_sample_format_t * p_format ) ; |
|||
int (* aout_Restart_inner) ( aout_instance_t * p_aout ) ; |
|||
int (* aout_VolumeDown_inner) ( aout_instance_t *, int, audio_volume_t * ) ; |
|||
int (* aout_VolumeGet_inner) ( aout_instance_t *, audio_volume_t * ) ; |
|||
int (* aout_VolumeInfos_inner) ( aout_instance_t *, audio_volume_t * ) ; |
|||
int (* aout_VolumeSet_inner) ( aout_instance_t *, audio_volume_t ) ; |
|||
int (* aout_VolumeUp_inner) ( aout_instance_t *, int, audio_volume_t * ) ; |
|||
int (* input_AccessInit_inner) ( input_thread_t * ) ; |
|||
int (* input_AddInfo_inner) ( input_info_category_t *, char *, char *, ... ) ; |
|||
int (* input_ChangeArea_inner) ( input_thread_t *, input_area_t * ) ; |
|||
int (* input_ChangeProgram_inner) ( input_thread_t *, u16 ) ; |
|||
int (* input_ClockManageControl_inner) ( input_thread_t *, pgrm_descriptor_t *, mtime_t ) ; |
|||
int (* input_InitStream_inner) ( input_thread_t *, size_t ) ; |
|||
int (* input_SelectES_inner) ( input_thread_t *, es_descriptor_t * ) ; |
|||
int (* input_SetProgram_inner) ( input_thread_t *, pgrm_descriptor_t * ) ; |
|||
int (* input_ToggleES_inner) ( input_thread_t *, es_descriptor_t *, vlc_bool_t ) ; |
|||
int (* input_UnselectES_inner) ( input_thread_t *, es_descriptor_t * ) ; |
|||
int (* playlist_Add_inner) ( playlist_t *, const char *, int, int ) ; |
|||
int (* playlist_Delete_inner) ( playlist_t *, int ) ; |
|||
int (* vout_ChromaCmp_inner) ( u32, u32 ) ; |
|||
intf_thread_t * (* __intf_Create_inner) ( vlc_object_t * ) ; |
|||
module_config_t * (* config_FindConfig_inner) ( vlc_object_t *, const char *psz_name ) ; |
|||
module_t * (* __module_Need_inner) ( vlc_object_t *, const char *, const char * ) ; |
|||
msg_subscription_t* (* __msg_Subscribe_inner) ( vlc_object_t * ) ; |
|||
mtime_t (* aout_DateGet_inner) ( const audio_date_t * ) ; |
|||
mtime_t (* aout_DateIncrement_inner) ( audio_date_t *, u32 ) ; |
|||
mtime_t (* input_ClockGetTS_inner) ( input_thread_t *, pgrm_descriptor_t *, mtime_t ) ; |
|||
mtime_t (* mdate_inner) ( void ) ; |
|||
pes_packet_t * (* input_NewPES_inner) ( input_buffers_t * ) ; |
|||
pgrm_descriptor_t * (* input_AddProgram_inner) ( input_thread_t *, u16, size_t ) ; |
|||
pgrm_descriptor_t * (* input_FindProgram_inner) ( input_thread_t *, u16 ) ; |
|||
picture_t * (* vout_CreatePicture_inner) ( vout_thread_t *, vlc_bool_t, vlc_bool_t, vlc_bool_t ) ; |
|||
sout_instance_t * (* __sout_NewInstance_inner) ( vlc_object_t *, char * ) ; |
|||
ssize_t (* input_FDNetworkRead_inner) ( input_thread_t *, byte_t *, size_t ) ; |
|||
ssize_t (* input_FDRead_inner) ( input_thread_t *, byte_t *, size_t ) ; |
|||
ssize_t (* input_FillBuffer_inner) ( input_thread_t * ) ; |
|||
ssize_t (* input_Peek_inner) ( input_thread_t *, byte_t **, size_t ) ; |
|||
ssize_t (* input_SplitBuffer_inner) ( input_thread_t *, data_packet_t **, size_t ) ; |
|||
subpicture_t * (* vout_CreateSubPicture_inner) ( vout_thread_t *, int, int ) ; |
|||
u32 (* UnalignedGetBits_inner) ( bit_stream_t *, unsigned int ) ; |
|||
u32 (* UnalignedShowBits_inner) ( bit_stream_t *, unsigned int ) ; |
|||
vlc_bool_t (* NextDataPacket_inner) ( decoder_fifo_t *, data_packet_t ** ) ; |
|||
vlc_error_t (* intf_RunThread_inner) ( intf_thread_t * ) ; |
|||
vlc_list_t * (* __vlc_list_find_inner) ( vlc_object_t *, int, int ) ; |
|||
void (* BitstreamNextDataPacket_inner) ( bit_stream_t * ) ; |
|||
void (* CurrentPTS_inner) ( bit_stream_t *, mtime_t *, mtime_t * ) ; |
|||
void (* DecoderError_inner) ( decoder_fifo_t * p_fifo ) ; |
|||
void (* InitBitstream_inner) ( bit_stream_t *, decoder_fifo_t *, void ( * )( bit_stream_t *, vlc_bool_t ), void * p_callback_arg ) ; |
|||
void (* NextPTS_inner) ( bit_stream_t *, mtime_t *, mtime_t * ) ; |
|||
void (* UnalignedRemoveBits_inner) ( bit_stream_t * ) ; |
|||
void (* __config_PutFloat_inner) (vlc_object_t *, const char *, float) ; |
|||
void (* __config_PutInt_inner) (vlc_object_t *, const char *, int) ; |
|||
void (* __config_PutPsz_inner) (vlc_object_t *, const char *, const char *) ; |
|||
void (* __input_FDClose_inner) ( vlc_object_t * ) ; |
|||
void (* __input_FDNetworkClose_inner) ( vlc_object_t * ) ; |
|||
void (* __input_Seek_inner) ( vlc_object_t *, off_t, int ) ; |
|||
void (* __input_SetStatus_inner) ( vlc_object_t *, int ) ; |
|||
void (* __input_Tell_inner) ( vlc_object_t *, stream_position_t * ) ; |
|||
void (* __module_Unneed_inner) ( vlc_object_t *, module_t * ) ; |
|||
void (* __msg_Dbg_inner) ( void *, const char *, ... ) ; |
|||
void (* __msg_Err_inner) ( void *, const char *, ... ) ; |
|||
void (* __msg_Generic_inner) ( vlc_object_t *, int, const char *, const char *, ... ) ; |
|||
void (* __msg_Info_inner) ( void *, const char *, ... ) ; |
|||
void (* __msg_Unsubscribe_inner) ( vlc_object_t *, msg_subscription_t * ) ; |
|||
void (* __msg_Warn_inner) ( void *, const char *, ... ) ; |
|||
void (* __vlc_dumpstructure_inner) ( vlc_object_t * ) ; |
|||
void (* __vlc_liststructure_inner) ( vlc_object_t * ) ; |
|||
void (* __vlc_object_attach_inner) ( vlc_object_t *, vlc_object_t * ) ; |
|||
void (* __vlc_object_destroy_inner) ( vlc_object_t * ) ; |
|||
void (* __vlc_object_detach_inner) ( vlc_object_t * ) ; |
|||
void (* __vlc_object_release_inner) ( vlc_object_t * ) ; |
|||
void (* __vlc_object_yield_inner) ( vlc_object_t * ) ; |
|||
void (* __vlc_thread_join_inner) ( vlc_object_t *, char *, int ) ; |
|||
void (* __vlc_thread_ready_inner) ( vlc_object_t * ) ; |
|||
void (* aout_DateInit_inner) ( audio_date_t *, u32 ) ; |
|||
void (* aout_DateMove_inner) ( audio_date_t *, mtime_t ) ; |
|||
void (* aout_DateSet_inner) ( audio_date_t *, mtime_t ) ; |
|||
void (* aout_DecDeleteBuffer_inner) ( aout_instance_t *, aout_input_t *, aout_buffer_t * ) ; |
|||
void (* aout_Delete_inner) ( aout_instance_t * ) ; |
|||
void (* aout_VolumeNoneInit_inner) ( aout_instance_t * ) ; |
|||
void (* aout_VolumeSoftInit_inner) ( aout_instance_t * ) ; |
|||
void (* config_Duplicate_inner) ( module_t *, module_config_t * ) ; |
|||
void (* config_SetCallbacks_inner) ( module_config_t *, module_config_t * ) ; |
|||
void (* config_UnsetCallbacks_inner) ( module_config_t * ) ; |
|||
void (* input_AccessEnd_inner) ( input_thread_t * ) ; |
|||
void (* input_AccessReinit_inner) ( input_thread_t * ) ; |
|||
void (* input_BuffersEnd_inner) ( input_thread_t *, input_buffers_t * ) ; |
|||
void (* input_ClockManageRef_inner) ( input_thread_t *, pgrm_descriptor_t *, mtime_t ) ; |
|||
void (* input_DecodePES_inner) ( decoder_fifo_t *, pes_packet_t * ) ; |
|||
void (* input_DelArea_inner) ( input_thread_t *, input_area_t * ) ; |
|||
void (* input_DelES_inner) ( input_thread_t *, es_descriptor_t * ) ; |
|||
void (* input_DelProgram_inner) ( input_thread_t *, pgrm_descriptor_t * ) ; |
|||
void (* input_DeletePES_inner) ( input_buffers_t *, pes_packet_t * ) ; |
|||
void (* input_DeletePacket_inner) ( input_buffers_t *, data_packet_t * ) ; |
|||
void (* input_DumpStream_inner) ( input_thread_t * ) ; |
|||
void (* input_EndStream_inner) ( input_thread_t * ) ; |
|||
void (* input_FDSeek_inner) ( input_thread_t *, off_t ) ; |
|||
void (* input_ReleaseBuffer_inner) ( input_buffers_t *, data_buffer_t * ) ; |
|||
void (* intf_Destroy_inner) ( intf_thread_t * ) ; |
|||
void (* intf_StopThread_inner) ( intf_thread_t * ) ; |
|||
void (* msleep_inner) ( mtime_t delay ) ; |
|||
void (* mwait_inner) ( mtime_t date ) ; |
|||
void (* playlist_Command_inner) ( playlist_t *, int, int ) ; |
|||
void (* sout_DeleteInstance_inner) ( sout_instance_t * ) ; |
|||
void (* vlc_list_release_inner) ( vlc_list_t * ) ; |
|||
void (* vout_AllocatePicture_inner) ( vout_thread_t *, picture_t *, int, int, u32 ) ; |
|||
void (* vout_DatePicture_inner) ( vout_thread_t *, picture_t *, mtime_t ) ; |
|||
void (* vout_DestroyPicture_inner) ( vout_thread_t *, picture_t * ) ; |
|||
void (* vout_DestroySubPicture_inner) ( vout_thread_t *, subpicture_t * ) ; |
|||
void (* vout_DestroyThread_inner) ( vout_thread_t * ) ; |
|||
void (* vout_DisplayPicture_inner) ( vout_thread_t *, picture_t * ) ; |
|||
void (* vout_DisplaySubPicture_inner) ( vout_thread_t *, subpicture_t * ) ; |
|||
void (* vout_LinkPicture_inner) ( vout_thread_t *, picture_t * ) ; |
|||
void (* vout_PlacePicture_inner) ( vout_thread_t *, int, int, int *, int *, int *, int * ) ; |
|||
void (* vout_UnlinkPicture_inner) ( vout_thread_t *, picture_t * ) ; |
|||
void * (* __vlc_object_create_inner) ( vlc_object_t *, int ) ; |
|||
void * (* __vlc_object_find_inner) ( vlc_object_t *, int, int ) ; |
|||
vout_thread_t * (* __vout_CreateThread_inner) ( vlc_object_t *, int, int, u32, int ) ; |
|||
}; |
|||
|
|||
#ifdef __PLUGIN__ |
|||
# define BitstreamNextDataPacket p_symbols->BitstreamNextDataPacket_inner |
|||
# define CurrentPTS p_symbols->CurrentPTS_inner |
|||
# define DecodeLanguage p_symbols->DecodeLanguage_inner |
|||
# define DecoderError p_symbols->DecoderError_inner |
|||
# define GetLang_1 p_symbols->GetLang_1_inner |
|||
# define GetLang_2B p_symbols->GetLang_2B_inner |
|||
# define GetLang_2T p_symbols->GetLang_2T_inner |
|||
# define InitBitstream p_symbols->InitBitstream_inner |
|||
# define NextDataPacket p_symbols->NextDataPacket_inner |
|||
# define NextPTS p_symbols->NextPTS_inner |
|||
# define UnalignedGetBits p_symbols->UnalignedGetBits_inner |
|||
# define UnalignedRemoveBits p_symbols->UnalignedRemoveBits_inner |
|||
# define UnalignedShowBits p_symbols->UnalignedShowBits_inner |
|||
# define __aout_DecNew p_symbols->__aout_DecNew_inner |
|||
# define __aout_New p_symbols->__aout_New_inner |
|||
# define __config_GetFloat p_symbols->__config_GetFloat_inner |
|||
# define __config_GetInt p_symbols->__config_GetInt_inner |
|||
# define __config_GetPsz p_symbols->__config_GetPsz_inner |
|||
# define __config_LoadCmdLine p_symbols->__config_LoadCmdLine_inner |
|||
# define __config_LoadConfigFile p_symbols->__config_LoadConfigFile_inner |
|||
# define __config_PutFloat p_symbols->__config_PutFloat_inner |
|||
# define __config_PutInt p_symbols->__config_PutInt_inner |
|||
# define __config_PutPsz p_symbols->__config_PutPsz_inner |
|||
# define __config_SaveConfigFile p_symbols->__config_SaveConfigFile_inner |
|||
# define __input_FDClose p_symbols->__input_FDClose_inner |
|||
# define __input_FDNetworkClose p_symbols->__input_FDNetworkClose_inner |
|||
# define __input_Seek p_symbols->__input_Seek_inner |
|||
# define __input_SetStatus p_symbols->__input_SetStatus_inner |
|||
# define __input_Tell p_symbols->__input_Tell_inner |
|||
# define __intf_Create p_symbols->__intf_Create_inner |
|||
# define __intf_Eject p_symbols->__intf_Eject_inner |
|||
# define __module_Need p_symbols->__module_Need_inner |
|||
# define __module_Unneed p_symbols->__module_Unneed_inner |
|||
# define __msg_Dbg p_symbols->__msg_Dbg_inner |
|||
# define __msg_Err p_symbols->__msg_Err_inner |
|||
# define __msg_Generic p_symbols->__msg_Generic_inner |
|||
# define __msg_Info p_symbols->__msg_Info_inner |
|||
# define __msg_Subscribe p_symbols->__msg_Subscribe_inner |
|||
# define __msg_Unsubscribe p_symbols->__msg_Unsubscribe_inner |
|||
# define __msg_Warn p_symbols->__msg_Warn_inner |
|||
# define __network_ChannelCreate p_symbols->__network_ChannelCreate_inner |
|||
# define __network_ChannelJoin p_symbols->__network_ChannelJoin_inner |
|||
# define __sout_NewInstance p_symbols->__sout_NewInstance_inner |
|||
# define __vlc_cond_destroy p_symbols->__vlc_cond_destroy_inner |
|||
# define __vlc_cond_init p_symbols->__vlc_cond_init_inner |
|||
# define __vlc_dumpstructure p_symbols->__vlc_dumpstructure_inner |
|||
# define __vlc_list_find p_symbols->__vlc_list_find_inner |
|||
# define __vlc_liststructure p_symbols->__vlc_liststructure_inner |
|||
# define __vlc_mutex_destroy p_symbols->__vlc_mutex_destroy_inner |
|||
# define __vlc_mutex_init p_symbols->__vlc_mutex_init_inner |
|||
# define __vlc_object_attach p_symbols->__vlc_object_attach_inner |
|||
# define __vlc_object_create p_symbols->__vlc_object_create_inner |
|||
# define __vlc_object_destroy p_symbols->__vlc_object_destroy_inner |
|||
# define __vlc_object_detach p_symbols->__vlc_object_detach_inner |
|||
# define __vlc_object_find p_symbols->__vlc_object_find_inner |
|||
# define __vlc_object_release p_symbols->__vlc_object_release_inner |
|||
# define __vlc_object_yield p_symbols->__vlc_object_yield_inner |
|||
# define __vlc_thread_create p_symbols->__vlc_thread_create_inner |
|||
# define __vlc_thread_join p_symbols->__vlc_thread_join_inner |
|||
# define __vlc_thread_ready p_symbols->__vlc_thread_ready_inner |
|||
# define __vlc_threads_end p_symbols->__vlc_threads_end_inner |
|||
# define __vlc_threads_init p_symbols->__vlc_threads_init_inner |
|||
# define __vout_CreateThread p_symbols->__vout_CreateThread_inner |
|||
# define aout_DateGet p_symbols->aout_DateGet_inner |
|||
# define aout_DateIncrement p_symbols->aout_DateIncrement_inner |
|||
# define aout_DateInit p_symbols->aout_DateInit_inner |
|||
# define aout_DateMove p_symbols->aout_DateMove_inner |
|||
# define aout_DateSet p_symbols->aout_DateSet_inner |
|||
# define aout_DecDelete p_symbols->aout_DecDelete_inner |
|||
# define aout_DecDeleteBuffer p_symbols->aout_DecDeleteBuffer_inner |
|||
# define aout_DecNewBuffer p_symbols->aout_DecNewBuffer_inner |
|||
# define aout_DecPlay p_symbols->aout_DecPlay_inner |
|||
# define aout_Delete p_symbols->aout_Delete_inner |
|||
# define aout_FifoPop p_symbols->aout_FifoPop_inner |
|||
# define aout_FormatNbChannels p_symbols->aout_FormatNbChannels_inner |
|||
# define aout_OutputNextBuffer p_symbols->aout_OutputNextBuffer_inner |
|||
# define aout_Restart p_symbols->aout_Restart_inner |
|||
# define aout_VolumeDown p_symbols->aout_VolumeDown_inner |
|||
# define aout_VolumeGet p_symbols->aout_VolumeGet_inner |
|||
# define aout_VolumeInfos p_symbols->aout_VolumeInfos_inner |
|||
# define aout_VolumeNoneInit p_symbols->aout_VolumeNoneInit_inner |
|||
# define aout_VolumeSet p_symbols->aout_VolumeSet_inner |
|||
# define aout_VolumeSoftInit p_symbols->aout_VolumeSoftInit_inner |
|||
# define aout_VolumeUp p_symbols->aout_VolumeUp_inner |
|||
# define config_Duplicate p_symbols->config_Duplicate_inner |
|||
# define config_FindConfig p_symbols->config_FindConfig_inner |
|||
# define config_GetHomeDir p_symbols->config_GetHomeDir_inner |
|||
# define config_SetCallbacks p_symbols->config_SetCallbacks_inner |
|||
# define config_UnsetCallbacks p_symbols->config_UnsetCallbacks_inner |
|||
# define input_AccessEnd p_symbols->input_AccessEnd_inner |
|||
# define input_AccessInit p_symbols->input_AccessInit_inner |
|||
# define input_AccessReinit p_symbols->input_AccessReinit_inner |
|||
# define input_AddArea p_symbols->input_AddArea_inner |
|||
# define input_AddES p_symbols->input_AddES_inner |
|||
# define input_AddInfo p_symbols->input_AddInfo_inner |
|||
# define input_AddProgram p_symbols->input_AddProgram_inner |
|||
# define input_BuffersEnd p_symbols->input_BuffersEnd_inner |
|||
# define input_ChangeArea p_symbols->input_ChangeArea_inner |
|||
# define input_ChangeProgram p_symbols->input_ChangeProgram_inner |
|||
# define input_ClockGetTS p_symbols->input_ClockGetTS_inner |
|||
# define input_ClockManageControl p_symbols->input_ClockManageControl_inner |
|||
# define input_ClockManageRef p_symbols->input_ClockManageRef_inner |
|||
# define input_DecodePES p_symbols->input_DecodePES_inner |
|||
# define input_DelArea p_symbols->input_DelArea_inner |
|||
# define input_DelES p_symbols->input_DelES_inner |
|||
# define input_DelProgram p_symbols->input_DelProgram_inner |
|||
# define input_DeletePES p_symbols->input_DeletePES_inner |
|||
# define input_DeletePacket p_symbols->input_DeletePacket_inner |
|||
# define input_DumpStream p_symbols->input_DumpStream_inner |
|||
# define input_EndStream p_symbols->input_EndStream_inner |
|||
# define input_FDNetworkRead p_symbols->input_FDNetworkRead_inner |
|||
# define input_FDRead p_symbols->input_FDRead_inner |
|||
# define input_FDSeek p_symbols->input_FDSeek_inner |
|||
# define input_FillBuffer p_symbols->input_FillBuffer_inner |
|||
# define input_FindES p_symbols->input_FindES_inner |
|||
# define input_FindProgram p_symbols->input_FindProgram_inner |
|||
# define input_InfoCategory p_symbols->input_InfoCategory_inner |
|||
# define input_InitStream p_symbols->input_InitStream_inner |
|||
# define input_NewBuffer p_symbols->input_NewBuffer_inner |
|||
# define input_NewPES p_symbols->input_NewPES_inner |
|||
# define input_NewPacket p_symbols->input_NewPacket_inner |
|||
# define input_OffsetToTime p_symbols->input_OffsetToTime_inner |
|||
# define input_Peek p_symbols->input_Peek_inner |
|||
# define input_ReleaseBuffer p_symbols->input_ReleaseBuffer_inner |
|||
# define input_SelectES p_symbols->input_SelectES_inner |
|||
# define input_SetProgram p_symbols->input_SetProgram_inner |
|||
# define input_ShareBuffer p_symbols->input_ShareBuffer_inner |
|||
# define input_SplitBuffer p_symbols->input_SplitBuffer_inner |
|||
# define input_ToggleES p_symbols->input_ToggleES_inner |
|||
# define input_UnselectES p_symbols->input_UnselectES_inner |
|||
# define intf_Destroy p_symbols->intf_Destroy_inner |
|||
# define intf_RunThread p_symbols->intf_RunThread_inner |
|||
# define intf_StopThread p_symbols->intf_StopThread_inner |
|||
# define mdate p_symbols->mdate_inner |
|||
# define msleep p_symbols->msleep_inner |
|||
# define mstrtime p_symbols->mstrtime_inner |
|||
# define mwait p_symbols->mwait_inner |
|||
# define playlist_Add p_symbols->playlist_Add_inner |
|||
# define playlist_Command p_symbols->playlist_Command_inner |
|||
# define playlist_Delete p_symbols->playlist_Delete_inner |
|||
# define sout_DeleteInstance p_symbols->sout_DeleteInstance_inner |
|||
# define vlc_list_release p_symbols->vlc_list_release_inner |
|||
# define vout_AllocatePicture p_symbols->vout_AllocatePicture_inner |
|||
# define vout_ChromaCmp p_symbols->vout_ChromaCmp_inner |
|||
# define vout_CreatePicture p_symbols->vout_CreatePicture_inner |
|||
# define vout_CreateSubPicture p_symbols->vout_CreateSubPicture_inner |
|||
# define vout_DatePicture p_symbols->vout_DatePicture_inner |
|||
# define vout_DestroyPicture p_symbols->vout_DestroyPicture_inner |
|||
# define vout_DestroySubPicture p_symbols->vout_DestroySubPicture_inner |
|||
# define vout_DestroyThread p_symbols->vout_DestroyThread_inner |
|||
# define vout_DisplayPicture p_symbols->vout_DisplayPicture_inner |
|||
# define vout_DisplaySubPicture p_symbols->vout_DisplaySubPicture_inner |
|||
# define vout_LinkPicture p_symbols->vout_LinkPicture_inner |
|||
# define vout_PlacePicture p_symbols->vout_PlacePicture_inner |
|||
# define vout_UnlinkPicture p_symbols->vout_UnlinkPicture_inner |
|||
#endif /* __PLUGIN__ */ |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
Makefile |
|||
Makefile.in |
|||
@ -1,3 +1,6 @@ |
|||
Makefile |
|||
Makefile.in |
|||
.dirstamp |
|||
*.a |
|||
*.so |
|||
*.so.* |
|||
|
|||
@ -0,0 +1,2 @@ |
|||
Makefile |
|||
Makefile.in |
|||
@ -0,0 +1,2 @@ |
|||
Makefile |
|||
Makefile.in |
|||
@ -1,4 +1,7 @@ |
|||
.dep |
|||
Makefile |
|||
Makefile.in |
|||
.deps |
|||
.dirstamp |
|||
*.lo |
|||
*.o.* |
|||
*.lo.* |
|||
|
|||
@ -1,4 +0,0 @@ |
|||
file_SOURCES = file.c |
|||
udp_SOURCES = udp.c |
|||
http_SOURCES = http.c |
|||
rtp_SOURCES = rtp.c |
|||
@ -1 +0,0 @@ |
|||
dvd_SOURCES = dvd.c access.c demux.c seek.c es.c ifo.c udf.c summary.c |
|||
@ -1 +0,0 @@ |
|||
dvdplay_SOURCES = dvd.c access.c demux.c intf.c es.c tools.c |
|||
@ -1 +0,0 @@ |
|||
dvdread_SOURCES = dvdread.c input.c |
|||
@ -1 +0,0 @@ |
|||
satellite_SOURCES = satellite.c access.c dvb.c |
|||
@ -1 +0,0 @@ |
|||
v4l_SOURCES = v4l.c |
|||
@ -1 +0,0 @@ |
|||
vcd_SOURCES = vcd.c cdrom.c |
|||
@ -1 +0,0 @@ |
|||
trivial_SOURCES = trivial.c |
|||
@ -1,10 +0,0 @@ |
|||
float32tos16_SOURCES = float32tos16.c |
|||
float32tos8_SOURCES = float32tos8.c |
|||
float32tou16_SOURCES = float32tou16.c |
|||
float32tou8_SOURCES = float32tou8.c |
|||
a52tospdif_SOURCES = a52tospdif.c |
|||
a52tofloat32_SOURCES = a52tofloat32.c |
|||
fixed32tos16_SOURCES = fixed32tos16.c |
|||
fixed32tofloat32_SOURCES = fixed32tofloat32.c |
|||
s16tofloat32_SOURCES = s16tofloat32.c |
|||
s16tofloat32swab_SOURCES = s16tofloat32swab.c |
|||
@ -1,3 +0,0 @@ |
|||
trivial_SOURCES = trivial.c |
|||
ugly_SOURCES = ugly.c |
|||
fast_SOURCES = fast.c |
|||
@ -1,3 +0,0 @@ |
|||
trivial_SOURCES = trivial.c |
|||
float32_SOURCES = float32.c |
|||
spdif_SOURCES = spdif.c |
|||
@ -1,7 +0,0 @@ |
|||
alsa_SOURCES = alsa.c |
|||
arts_SOURCES = arts.c |
|||
esd_SOURCES = esd.c |
|||
file_SOURCES = file.c |
|||
oss_SOURCES = oss.c |
|||
sdl_SOURCES = sdl.c |
|||
waveout_SOURCES = waveout.c |
|||
@ -1,2 +0,0 @@ |
|||
a52_SOURCES = a52.c |
|||
lpcm_SOURCES = lpcm.c |
|||
@ -1 +0,0 @@ |
|||
a52old_SOURCES = a52old.c decoder.c parse.c exponent.c bit_allocate.c mantissa.c rematrix.c imdct.c |
|||
@ -1,3 +0,0 @@ |
|||
downmix_SOURCES = downmix.c downmix_c.c |
|||
downmixsse_SOURCES = downmix.c downmix_sse.c |
|||
downmix3dn_SOURCES = downmix.c downmix_3dn.c |
|||
@ -1,5 +0,0 @@ |
|||
COMMON_SOURCES = imdct_common.c |
|||
|
|||
imdct_SOURCES = imdct.c imdct_c.c srfft_c.c $(COMMON_SOURCES) |
|||
imdctsse_SOURCES = imdct.c imdct_sse.c srfft_sse.c $(COMMON_SOURCES) |
|||
imdct3dn_SOURCES = imdct.c imdct_3dn.c srfft_3dn.c $(COMMON_SOURCES) |
|||
@ -1 +0,0 @@ |
|||
cinepak_SOURCES = cinepak.c |
|||
@ -1 +0,0 @@ |
|||
dv_SOURCES = dv.c |
|||
@ -1 +0,0 @@ |
|||
faad_SOURCES = decoder.c |
|||
@ -1,4 +0,0 @@ |
|||
ffmpeg_SOURCES = ffmpeg.c |
|||
|
|||
|
|||
|
|||
@ -1,6 +0,0 @@ |
|||
postprocessing_c_SOURCES = postprocessing.c postprocessing_c.c |
|||
postprocessing_mmx_SOURCES = postprocessing.c postprocessing_mmx.c |
|||
postprocessing_mmxext_SOURCES = postprocessing.c postprocessing_mmxext.c |
|||
|
|||
|
|||
|
|||
@ -1 +0,0 @@ |
|||
mad_SOURCES = decoder.c libmad.c |
|||
@ -1 +0,0 @@ |
|||
mpeg_audio_SOURCES = decoder.c layer1.c layer2.c math.c generic.c |
|||
@ -1,5 +0,0 @@ |
|||
ifeq ($(ARCH),hppa64) |
|||
CFLAGS += -ffunction-sections |
|||
endif |
|||
|
|||
mpeg_video_SOURCES = parser.c headers.c blocks.c synchro.c pool.c decoder.c |
|||
@ -1,5 +0,0 @@ |
|||
idct_SOURCES = idct.c |
|||
idctclassic_SOURCES = idctclassic.c |
|||
idctmmx_SOURCES = idctmmx.c |
|||
idctmmxext_SOURCES = idctmmxext.c |
|||
idctaltivec_SOURCES = idctaltivec.c |
|||
@ -1,5 +0,0 @@ |
|||
motion_SOURCES = motion.c |
|||
motionmmx_SOURCES = motionmmx.c |
|||
motionmmxext_SOURCES = motionmmxext.c |
|||
motion3dnow_SOURCES = motion3dnow.c |
|||
motionaltivec_SOURCES = motionaltivec.c |
|||
@ -1 +0,0 @@ |
|||
spudec_SOURCES = spudec.c parse.c render.c |
|||
@ -1 +0,0 @@ |
|||
lirc_SOURCES = lirc.c |
|||
@ -1 +0,0 @@ |
|||
rc_SOURCES = rc.c |
|||
@ -1 +0,0 @@ |
|||
a52sys_SOURCES = a52sys.c |
|||
@ -1 +0,0 @@ |
|||
aac_SOURCES = demux.c |
|||
@ -1 +0,0 @@ |
|||
avi_SOURCES = avi.c libioRIFF.c |
|||
@ -1 +0,0 @@ |
|||
mp4_SOURCES = mp4.c libmp4.c |
|||
@ -1,6 +0,0 @@ |
|||
mpeg_system_SOURCES = system.c |
|||
es_SOURCES = es.c |
|||
ps_SOURCES = ps.c |
|||
ts_SOURCES = ts.c |
|||
ts_dvbpsi_SOURCES = ts.c |
|||
audio_SOURCES = audio.c |
|||
@ -1,2 +0,0 @@ |
|||
id3_SOURCES = id3.c |
|||
id3tag_SOURCES = id3tag.c |
|||
@ -1 +0,0 @@ |
|||
beos_SOURCES = BeOS.cpp AudioOutput.cpp VideoOutput.cpp Interface.cpp InterfaceWindow.cpp DrawingTidbits.cpp TransportButton.cpp PlayListWindow.cpp MediaControlView.cpp VlcWrapper.cpp |
|||
@ -1 +0,0 @@ |
|||
familiar_SOURCES = familiar.c interface.c support.c callbacks.c |
|||
@ -1,4 +0,0 @@ |
|||
COMMON_SOURCES = display.c open.c control.c menu.c playlist.c modules.c preferences.c gtk_callbacks.c |
|||
|
|||
gtk_SOURCES = gtk.c gtk_interface.c gtk_support.c $(COMMON_SOURCES) |
|||
gnome_SOURCES = gnome.c gnome_interface.c gnome_support.c $(COMMON_SOURCES) |
|||
@ -1,6 +0,0 @@ |
|||
MOC_SOURCES = interface.moc.cpp slider.moc.cpp disc.moc.cpp net.moc.cpp menu.moc.cpp preferences.moc.cpp pluginsbox.moc.cpp QConfigItem.moc.cpp |
|||
|
|||
kde_SOURCES = kde.cpp interface.cpp slider.cpp disc.cpp net.cpp menu.cpp preferences.cpp pluginsbox.cpp QConfigItem.cpp $(MOC_SOURCES) |
|||
|
|||
$(MOC_SOURCES): %.moc.cpp: %.h |
|||
$(MOC) $< -o $@ |
|||
@ -1 +0,0 @@ |
|||
macosx_SOURCES = macosx.m aout.m vout.m intf.m open.m playlist.m controls.m |
|||
@ -1 +0,0 @@ |
|||
ncurses_SOURCES = ncurses.c |
|||
@ -1 +0,0 @@ |
|||
qnx_SOURCES = qnx.c aout.c vout.c |
|||
@ -1,8 +0,0 @@ |
|||
qt_SOURCES = qt.cpp intf.cpp |
|||
MOC_QT = intf.moc |
|||
|
|||
EXTRA_DEP = $(MOC_QT) |
|||
|
|||
$(MOC_QT): %.moc: %.cpp |
|||
$(MOC) -i $< -o $@ |
|||
|
|||
@ -0,0 +1,113 @@ |
|||
/*****************************************************************************
|
|||
* intf.h: Qt interface |
|||
***************************************************************************** |
|||
* Copyright (C) 1999, 2000 VideoLAN |
|||
* $Id: intf.h,v 1.1 2002/09/30 11:05:39 sam Exp $ |
|||
* |
|||
* 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 |
|||
* the Free Software Foundation; either version 2 of the License, or |
|||
* (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, write to the Free Software |
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. |
|||
*****************************************************************************/ |
|||
|
|||
/*****************************************************************************
|
|||
* Preamble |
|||
*****************************************************************************/ |
|||
#include <vlc/vlc.h> |
|||
#include <vlc/intf.h> |
|||
|
|||
#include <qapplication.h> |
|||
#include <qmainwindow.h> |
|||
#include <qtoolbar.h> |
|||
#include <qtoolbutton.h> |
|||
#include <qwhatsthis.h> |
|||
#include <qpushbutton.h> |
|||
#include <qfiledialog.h> |
|||
#include <qslider.h> |
|||
#include <qlcdnumber.h> |
|||
#include <qmenubar.h> |
|||
#include <qstatusbar.h> |
|||
#include <qmessagebox.h> |
|||
#include <qlabel.h> |
|||
#include <qtimer.h> |
|||
#include <qiconset.h> |
|||
|
|||
#include <qvbox.h> |
|||
#include <qhbox.h> |
|||
|
|||
/*****************************************************************************
|
|||
* Local Qt slider class |
|||
*****************************************************************************/ |
|||
class IntfSlider : public QSlider |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
public: |
|||
IntfSlider( intf_thread_t *, QWidget * ); /* Constructor and destructor */ |
|||
~IntfSlider(); |
|||
|
|||
bool b_free; /* Is the slider free ? */ |
|||
|
|||
int oldvalue ( void ) { return i_oldvalue; }; |
|||
void setOldValue( int i_value ) { i_oldvalue = i_value; }; |
|||
|
|||
private slots: |
|||
void SlideStart ( void ) { b_free = FALSE; }; |
|||
void SlideStop ( void ) { b_free = TRUE; }; |
|||
|
|||
private: |
|||
intf_thread_t *p_intf; |
|||
int i_oldvalue; |
|||
}; |
|||
|
|||
/*****************************************************************************
|
|||
* Local Qt interface window class |
|||
*****************************************************************************/ |
|||
class IntfWindow : public QMainWindow |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
public: |
|||
IntfWindow( intf_thread_t * ); |
|||
~IntfWindow(); |
|||
|
|||
private slots: |
|||
void Manage ( void ); |
|||
|
|||
void FileOpen ( void ); |
|||
void FileQuit ( void ); |
|||
|
|||
void PlaybackPlay ( void ); |
|||
void PlaybackPause ( void ); |
|||
void PlaybackSlow ( void ); |
|||
void PlaybackFast ( void ); |
|||
|
|||
void PlaylistPrev ( void ); |
|||
void PlaylistNext ( void ); |
|||
|
|||
void DateDisplay ( int ); |
|||
void About ( void ); |
|||
|
|||
void Unimplemented( void ) { msg_Warn( p_intf, "unimplemented" ); }; |
|||
|
|||
private: |
|||
intf_thread_t *p_intf; |
|||
|
|||
IntfSlider *p_slider; |
|||
|
|||
QToolBar *p_toolbar; |
|||
QPopupMenu *p_popup; |
|||
QLabel *p_date; |
|||
}; |
|||
|
|||
@ -1,12 +0,0 @@ |
|||
#
|
|||
# Borland C++ project
|
|||
# we override everything by setting win32_CUSTOM
|
|||
#
|
|||
win32_CUSTOM = yes |
|||
|
|||
win32.so: Makefile |
|||
rm -f win32.mak |
|||
$(BCBUILDER)/Bin/bpr2mak win32.bpr -s | sed 's#^LIBPATH = .*#&;$$(RELEASELIBPATH)# ; s#^USERDEFINES = .*#& -DMODULE_NAME=win32 -DMODULE_PATH=modules_gui_win32_win32#' > win32.mak |
|||
$(BCBUILDER)/Bin/make -f win32.mak -b |
|||
|
|||
|
|||
@ -1,2 +0,0 @@ |
|||
null_SOURCES = null.c |
|||
gtk_main_SOURCES = gtk_main.c |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue