-MLT framework was developed by:
Charles Yates <charles.yates@pandora.be>
-
-MLT framework is maintained by:
Dan Dennedy <dan@dennedy.org>
-
-MLT module authors and maintainers:
-
-Charles Yates <charles.yates@pandora.be>
-Dan Dennedy <dan@dennedy.org>
-Stephane Fillod (effectv)
-Marco Gittler <g.marco@freenet.de> (frei0r, oldfilm)
-Jean-Baptiste Mardelle <jb@ader.ch> (kdenlive, qimage)
-Zachary Drew (motion_est)
#!/bin/sh
export version=0.3.9
-export soversion=1
+export soversion=2
show_help()
{
cat << EOF
-Non-autotool config script for MLT.
+Non-autotool config script for Melted.
Help options:
--disable-debug - Compile without debug support (default: on)
--disable-mmx - Compile without MMX support (default: on)
--disable-sse - Compile without SSE support (default: on)
- --arch='arch' - Compile for a specific architecture (default: none)
+ --arch='arch' - Compile for a specific architecture (default: none)
--cpu='cpu' - Compile for a specific CPU (default: none)
Module disables options:
;;
esac
echo "LIBSUF=$LIBSUF"
- ) > config.mak
-
- echo "#!/bin/sh" > mlt-config
- (
- echo export version=$version
- echo export prefix=$prefix
- echo export libdir=$libdir
- echo export bindir=$prefix/bin
- ) >> mlt-config
+
+ echo "CFLAGS += `pkg-config --cflags mlt-framework`"
+ echo "LDFLAGS += `pkg-config --libs mlt-framework`"
- cat < mlt-config-template >> mlt-config
+ ) > config.mak
echo -n > packages.dat
}
build_pkgconfig()
{
- for i in framework valerie miracle
+ for i in mvcp melted melted++
do
echo prefix="$prefix" > mlt-$i.pc
(
fi
# Iterate through each of the components
-for i in framework modules inigo valerie miracle humperdink
+for i in mvcp melted melted++ mvcp-client modules
do
- if [ -x src/$i/configure ]
+ if [ "$gpl" = "true" -o ! -f src/$i/gpl ]
then
- [ $help = 0 ] && echo "Configuring `basename $i`:"
- olddir=`pwd`
- cd src/$i
- ./configure "$@"
- [ $? != 0 ] && exit 1
- cd $olddir
+ if [ -x src/$i/configure ]
+ then
+ [ $help = 0 ] && echo "Configuring `basename $i`:"
+ olddir=`pwd`
+ cd src/$i
+ ./configure "$@"
+ [ $? != 0 ] && exit 1
+ cd $olddir
+ fi
fi
done
+++ /dev/null
-/**
- * MltParser.cpp - MLT Wrapper
- * Copyright (C) 2004-2005 Charles Yates
- * Author: Charles Yates <charles.yates@pandora.be>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser 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-1307, USA.
- */
-
-#include "Mlt.h"
-using namespace Mlt;
-
-static int on_invalid_cb( mlt_parser self, mlt_service object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Service service( object );
- return parser->on_invalid( &service );
-}
-
-static int on_unknown_cb( mlt_parser self, mlt_service object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Service service( object );
- return parser->on_unknown( &service );
-}
-
-static int on_start_producer_cb( mlt_parser self, mlt_producer object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Producer producer( object );
- return parser->on_start_producer( &producer );
-}
-
-static int on_end_producer_cb( mlt_parser self, mlt_producer object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Producer producer( object );
- return parser->on_end_producer( &producer );
-}
-
-static int on_start_playlist_cb( mlt_parser self, mlt_playlist object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Playlist playlist( object );
- return parser->on_start_playlist( &playlist );
-}
-
-static int on_end_playlist_cb( mlt_parser self, mlt_playlist object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Playlist playlist( object );
- return parser->on_end_playlist( &playlist );
-}
-
-static int on_start_tractor_cb( mlt_parser self, mlt_tractor object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Tractor tractor( object );
- return parser->on_start_tractor( &tractor );
-}
-
-static int on_end_tractor_cb( mlt_parser self, mlt_tractor object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Tractor tractor( object );
- return parser->on_end_tractor( &tractor );
-}
-
-static int on_start_multitrack_cb( mlt_parser self, mlt_multitrack object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Multitrack multitrack( object );
- return parser->on_start_multitrack( &multitrack );
-}
-
-static int on_end_multitrack_cb( mlt_parser self, mlt_multitrack object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Multitrack multitrack( object );
- return parser->on_end_multitrack( &multitrack );
-}
-
-static int on_start_track_cb( mlt_parser self )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- return parser->on_start_track( );
-}
-
-static int on_end_track_cb( mlt_parser self )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- return parser->on_end_track( );
-}
-
-static int on_start_filter_cb( mlt_parser self, mlt_filter object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Filter filter( object );
- return parser->on_start_filter( &filter );
-}
-
-static int on_end_filter_cb( mlt_parser self, mlt_filter object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Filter filter( object );
- return parser->on_end_filter( &filter );
-}
-
-static int on_start_transition_cb( mlt_parser self, mlt_transition object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Transition transition( object );
- return parser->on_start_transition( &transition );
-}
-
-static int on_end_transition_cb( mlt_parser self, mlt_transition object )
-{
- mlt_properties properties = mlt_parser_properties( self );
- Parser *parser = ( Parser * )mlt_properties_get_data( properties, "_parser_object", NULL );
- Transition transition( object );
- return parser->on_end_transition( &transition );
-}
-
-Parser::Parser( ) :
- Properties( false )
-{
- parser = mlt_parser_new( );
- set( "_parser_object", this, 0 );
- parser->on_invalid = on_invalid_cb;
- parser->on_unknown = on_unknown_cb;
- parser->on_start_producer = on_start_producer_cb;
- parser->on_end_producer = on_end_producer_cb;
- parser->on_start_playlist = on_start_playlist_cb;
- parser->on_end_playlist = on_end_playlist_cb;
- parser->on_start_tractor = on_start_tractor_cb;
- parser->on_end_tractor = on_end_tractor_cb;
- parser->on_start_multitrack = on_start_multitrack_cb;
- parser->on_end_multitrack = on_end_multitrack_cb;
- parser->on_start_track = on_start_track_cb;
- parser->on_end_track = on_end_track_cb;
- parser->on_start_filter = on_start_filter_cb;
- parser->on_end_filter = on_end_filter_cb;
- parser->on_start_transition = on_start_transition_cb;
- parser->on_end_transition = on_end_transition_cb;
-}
-
-Parser::~Parser( )
-{
- mlt_parser_close( parser );
-}
-
-mlt_properties Parser::get_properties( )
-{
- return mlt_parser_properties( parser );
-}
-
-int Parser::start( Service &service )
-{
- return mlt_parser_start( parser, service.get_service( ) );
-}
-
-int Parser::on_invalid( Service *object )
-{
- object->debug( "Invalid" );
- return 0;
-}
-
-int Parser::on_unknown( Service *object )
-{
- object->debug( "Unknown" );
- return 0;
-}
-
-int Parser::on_start_producer( Producer *object )
-{
- object->debug( "on_start_producer" );
- return 0;
-}
-
-int Parser::on_end_producer( Producer *object )
-{
- object->debug( "on_end_producer" );
- return 0;
-}
-
-int Parser::on_start_playlist( Playlist *object )
-{
- object->debug( "on_start_playlist" );
- return 0;
-}
-
-int Parser::on_end_playlist( Playlist *object )
-{
- object->debug( "on_end_playlist" );
- return 0;
-}
-
-int Parser::on_start_tractor( Tractor *object )
-{
- object->debug( "on_start_tractor" );
- return 0;
-}
-
-int Parser::on_end_tractor( Tractor *object )
-{
- object->debug( "on_end_tractor" );
- return 0;
-}
-
-int Parser::on_start_multitrack( Multitrack *object )
-{
- object->debug( "on_start_multitrack" );
- return 0;
-}
-
-int Parser::on_end_multitrack( Multitrack *object )
-{
- object->debug( "on_end_multitrack" );
- return 0;
-}
-
-int Parser::on_start_track( )
-{
- fprintf( stderr, "on_start_track\n" );
- return 0;
-}
-
-int Parser::on_end_track( )
-{
- fprintf( stderr, "on_end_track\n" );
- return 0;
-}
-
-int Parser::on_start_filter( Filter *object )
-{
- object->debug( "on_start_filter" );
- return 0;
-}
-
-int Parser::on_end_filter( Filter *object )
-{
- object->debug( "on_end_filter" );
- return 0;
-}
-
-int Parser::on_start_transition( Transition *object )
-{
- object->debug( "on_start_transition" );
- return 0;
-}
-
-int Parser::on_end_transition( Transition *object )
-{
- object->debug( "on_end_transition" );
- return 0;
-}
-
-
+++ /dev/null
-/**
- * MltParser.h - MLT Wrapper
- * Copyright (C) 2004-2005 Charles Yates
- * Author: Charles Yates <charles.yates@pandora.be>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser 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-1307, USA.
- */
-
-#ifndef _MLTPP_PARSER_H_
-#define _MLTPP_PARSER_H_
-
-#include "config.h"
-
-#include <framework/mlt.h>
-#include "MltProperties.h"
-
-namespace Mlt
-{
- class Properties;
- class Service;
- class Producer;
- class Playlist;
- class Tractor;
- class Multitrack;
- class Filter;
- class Transition;
-
- class MLTPP_DECLSPEC Parser : public Properties
- {
- private:
- mlt_parser parser;
- public:
- Parser( );
- ~Parser( );
- int start( Service &service );
- virtual mlt_properties get_properties( );
- virtual int on_invalid( Service *object );
- virtual int on_unknown( Service *object );
- virtual int on_start_producer( Producer *object );
- virtual int on_end_producer( Producer *object );
- virtual int on_start_playlist( Playlist *object );
- virtual int on_end_playlist( Playlist *object );
- virtual int on_start_tractor( Tractor *object );
- virtual int on_end_tractor( Tractor *object );
- virtual int on_start_multitrack( Multitrack *object );
- virtual int on_end_multitrack( Multitrack *object );
- virtual int on_start_track( );
- virtual int on_end_track( );
- virtual int on_start_filter( Filter *object );
- virtual int on_end_filter( Filter *object );
- virtual int on_start_transition( Transition *object );
- virtual int on_end_transition( Transition *object );
- };
-}
-
-#endif
+++ /dev/null
-#!/bin/sh
-java -Djava.library.path=. -cp .:src_swig Play "$@"
+++ /dev/null
-/**
- * mltpp.i - Swig Bindings for mlt++
- * Copyright (C) 2004-2005 Charles Yates
- * Author: Charles Yates <charles.yates@pandora.be>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser 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-1307, USA.
- */
-
-%module mltpp
-%include "carrays.i"
-%array_class(unsigned char, unsignedCharArray);
-
-%{
-#include <mlt++/Mlt.h>
-%}
-
-/** These methods return objects which should be gc'd.
- */
-
-namespace Mlt {
-%newobject Factory::init( const char * );
-%newobject Factory::producer( Profile &, char *, char * );
-%newobject Factory::filter( Profile &, char *, char * );
-%newobject Factory::transition( Profile &, char *, char * );
-%newobject Factory::consumer( Profile &, char *, char * );
-%newobject Properties::listen( char *, void *, mlt_listener );
-%newobject Service::producer( );
-%newobject Service::consumer( );
-%newobject Service::get_frame( int );
-%newobject Service::filter( int );
-%newobject Producer::filter( int );
-%newobject Producer::cut( int, int );
-%newobject Playlist::current( );
-%newobject Playlist::clip_info( int );
-%newobject Playlist::get_clip( int );
-%newobject Multitrack::track( int );
-%newobject Tractor::multitrack( );
-%newobject Tractor::field( );
-%newobject Tractor::track( int );
-%newobject Frame::get_original_producer( );
-%newobject Miracle::execute( char * );
-%newobject Miracle::push( char *, Service & );
-%newobject Miracle::unit( int );
-%newobject Repository::consumers( );
-%newobject Repository::filters( );
-%newobject Repository::producers( );
-%newobject Repository::transitions( );
-%newobject Repository::metadata( mlt_service_type, const char * );
-}
-
-/** Classes to wrap.
- */
-
-%include <framework/mlt_types.h>
-%include <framework/mlt_factory.h>
-%include <MltFactory.h>
-%include <MltRepository.h>
-%include <MltEvent.h>
-%include <MltProperties.h>
-%include <MltFrame.h>
-%include <MltGeometry.h>
-%include <MltService.h>
-%include <MltProducer.h>
-%include <MltProfile.h>
-%include <MltPlaylist.h>
-%include <MltConsumer.h>
-%include <MltFilter.h>
-%include <MltTransition.h>
-%include <MltMultitrack.h>
-%include <MltField.h>
-%include <MltTractor.h>
-%include <MltParser.h>
-%include <MltFilteredConsumer.h>
-%include <MltMiracle.h>
-%include <MltResponse.h>
-
-#if defined(SWIGRUBY)
-
-%{
-
-static void ruby_listener( mlt_properties owner, void *object );
-
-class RubyListener
-{
- private:
- VALUE callback;
- Mlt::Event *event;
-
- public:
- RubyListener( Mlt::Properties &properties, char *id, VALUE callback ) :
- callback( callback )
- {
- event = properties.listen( id, this, ( mlt_listener )ruby_listener );
- }
-
- ~RubyListener( )
- {
- delete event;
- }
-
- void mark( )
- {
- ((void (*)(VALUE))(rb_gc_mark))( callback );
- }
-
- void doit( )
- {
- ID method = rb_intern( "call" );
- rb_funcall( callback, method, 0 );
- }
-};
-
-static void ruby_listener( mlt_properties owner, void *object )
-{
- RubyListener *o = static_cast< RubyListener * >( object );
- o->doit( );
-}
-
-void markRubyListener( void* p )
-{
- RubyListener *o = static_cast<RubyListener*>( p );
- o->mark( );
-}
-
-%}
-
-// Ruby wrapper
-%rename( Listener ) RubyListener;
-%markfunc RubyListener "markRubyListener";
-
-class RubyListener
-{
- public:
- RubyListener( Mlt::Properties &properties, char *id, VALUE callback );
-};
-
-#endif
-
+++ /dev/null
-export package=framework
-export field=0
-
-while [ "$1" != "" ]
-do
- case $1 in
- --help ) field=0 ;;
- --version ) field=-1 ;;
- --prefix ) field=-2 ;;
- --prefix=* ) prefix="${i#--prefix=}" ;;
- --cflags ) field=2 ;;
- --libs ) field=3 ;;
- --list ) field=1; package="" ;;
- * ) package=$1 ;;
- esac
- shift
-done
-
-if [ "$field" = "0" ]
-then echo "Usage: mlt-config [ --version ] | [ --prefix=dir ] [ [ package ] [ --cflags ] [ --libs ] ]"
-elif [ "$field" = "-1" ]
-then echo $version
-elif [ "$field" = "-2" ]
-then config=`which mlt-config`
- dir=`dirname $config`
- dir=`dirname $dir`
- echo $dir
-elif [ -f "$prefix/share/mlt/packages.dat" ]
-then grep "^$package" $prefix/share/mlt/packages.dat | cut -f $field
-else echo mlt-config cannot find package $package.
-fi
-echo >&2 "mlt-config is deprecated. Please use pkg-config instead."
--- /dev/null
+
+Name: mlt-melted
+Description: C++ API for MLT Miracle
+Version: ${version}
+Requires:
+Libs: -L${libdir} ${libs}
+Cflags: ${cflags}
--- /dev/null
+#!/bin/sh
+echo "soversion=0" > config.mak
+echo "melted++ -I$prefix/include -I$prefix/include/melted++ -D_REENTRANT -L$libdir -lmelted++" >> ../../packages.dat
+
+WARNINGS="-W -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Wredundant-decls"
+
+targetos=$(uname -s)
+case $targetos in
+ Darwin)
+ echo LIBSUF=.dylib
+ echo "CXXFLAGS+=-D__DARWIN__ -Wall -fPIC"
+ echo "LIBFLAGS=-dynamiclib -single_module"
+ ;;
+ Linux|FreeBSD)
+ echo LIBSUF=.so
+ echo "CXXFLAGS+=-Wall $WARNINGS -fPIC -dPIC"
+ echo "LIBFLAGS=-shared"
+ ;;
+esac >> config.mak
+
+echo "CXXFLAGS += `pkg-config --cflags mlt++`" >> config.mak
+echo "LDFLAGS += `pkg-config --libs mlt++`" >> config.mak
include ../../config.mak
-TARGET = miracle
+TARGET = melted
ifneq ($(targetos), Darwin)
-LIBNAME = libmiracle$(LIBSUF)
+LIBNAME = libmelted$(LIBSUF)
LIBTARGET = $(LIBNAME).$(version)
LIBSONAME = $(LIBNAME).$(soversion)
SHFLAGS += -Wl,-soname,$(LIBSONAME)
else
-LIBNAME = libmiracle$(LIBSUF)
-LIBTARGET = libmiracle.$(version)$(LIBSUF)
-LIBSONAME = libmiracle.$(soversion)$(LIBSUF)
+LIBNAME = libmelted$(LIBSUF)
+LIBTARGET = libmelted.$(version)$(LIBSUF)
+LIBSONAME = libmelted.$(soversion)$(LIBSUF)
SHFLAGS += -install_name $(libdir)/$(LIBSONAME) -current_version $(version) -compatibility_version $(soversion)
endif
-APP_OBJS = miracle.o
+APP_OBJS = melted.o
-LIB_OBJS = miracle_log.o \
- miracle_server.o \
- miracle_connection.o \
- miracle_local.o \
- miracle_unit.o \
- miracle_commands.o \
- miracle_unit_commands.o
+LIB_OBJS = melted_log.o \
+ melted_server.o \
+ melted_connection.o \
+ melted_local.o \
+ melted_unit.o \
+ melted_commands.o \
+ melted_unit_commands.o
-INCS = miracle_server.h \
- miracle_local.h \
- miracle_log.h
+INCS = melted_server.h \
+ melted_local.h \
+ melted_log.h
OBJS = $(APP_OBJS) $(LIB_OBJS)
CFLAGS += -I.. $(RDYNAMIC)
-LDFLAGS += -L../valerie -lvalerie
-LDFLAGS += -L../framework -lmlt -lpthread
+LDFLAGS += -L../mvcp -lmvcp
+LDFLAGS += -lpthread
SRCS := $(OBJS:.o=.c)
all: $(TARGET)
$(TARGET): $(APP_OBJS) $(LIBTARGET)
- $(CC) -o $@ $(APP_OBJS) -L. -lmiracle $(LDFLAGS)
+ $(CC) -o $@ $(APP_OBJS) -L. -lmelted $(LDFLAGS)
$(LIBTARGET): $(LIB_OBJS)
$(CC) $(SHFLAGS) -o $@ $(LIB_OBJS) $(LDFLAGS)
install -m 755 $(LIBTARGET) $(DESTDIR)$(libdir)
ln -sf $(LIBTARGET) $(DESTDIR)$(libdir)/$(LIBSONAME)
ln -sf $(LIBTARGET) $(DESTDIR)$(libdir)/$(LIBNAME)
- mkdir -p "$(DESTDIR)$(prefix)/include/mlt/miracle"
- install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/miracle"
+ mkdir -p "$(DESTDIR)$(prefix)/include/mlt/melted"
+ install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/melted"
uninstall:
rm -f "$(DESTDIR)$(bindir)/$(TARGET)"
rm -f "$(DESTDIR)$(libdir)/$(LIBTARGET)"
rm -f "$(DESTDIR)$(libdir)/$(LIBSONAME)"
rm -f "$(DESTDIR)$(libdir)/$(LIBNAME)"
- rm -rf "$(DESTDIR)$(prefix)/include/mlt/miracle"
+ rm -rf "$(DESTDIR)$(prefix)/include/mlt/melted"
ifneq ($(wildcard .depend),)
include .depend
--- /dev/null
+#!/bin/sh
+echo "melted -I$prefix/include/mlt -D_REENTRANT -L$libdir -lmelted" >> ../../packages.dat
+++ /dev/null
-#!/bin/sh
-echo "miracle -I$prefix/include/mlt -D_REENTRANT -L$libdir -lmiracle" >> ../../packages.dat
--- /dev/null
+include ../../config.mak
+include make.inc
+
+all clean depend:
+ list='$(SUBDIRS)'; \
+ for subdir in $$list; do \
+ if [ -f $$subdir/Makefile -a ! -f disable-$$subdir ] ; \
+ then $(MAKE) -C $$subdir $@ || exit 1; \
+ fi \
+ done
+
+distclean:
+ rm -f consumers.dat filters.dat producers.dat transitions.dat make.inc; \
+ list='$(SUBDIRS)'; \
+ for subdir in $$list; do \
+ if [ -f $$subdir/Makefile -a ! -f disable-$$subdir ] ; \
+ then $(MAKE) -C $$subdir $@ || exit 1; \
+ fi \
+ done
+
+install:
+ list='$(SUBDIRS)'; \
+ for subdir in $$list; do \
+ if [ -f $$subdir/Makefile -a ! -f disable-$$subdir ] ; \
+ then $(MAKE) DESTDIR=$(DESTDIR) -C $$subdir $@ || exit 1; \
+ fi \
+ done
+
+uninstall:
+ rm -rf "$(DESTDIR)$(libdir)/mlt"
+
--- /dev/null
+#!/bin/sh
+
+# Clean up disables if not in help mode
+[ "$help" != "1" ] && rm -f disable-* producers.dat filters.dat transitions.dat consumers.dat
+
+# Create the make.inc file
+echo SUBDIRS = `find . -maxdepth 1 -type d | grep -v .svn | grep -v "^.$" | sed 's/\.\///'` > make.inc
+
+# Iterate through arguments
+for i in "$@"
+do
+ case $i in
+ --disable-* ) touch disable-${i#--disable-} ;;
+ esac
+done
+
+# Iterate through each of the components
+for i in *
+do
+ if [ -d $i -a \( "$help" = "1" -o ! -f disable-$i \) ]
+ then
+ if [ "$gpl" = "true" -o ! -f $i/gpl ]
+ then
+ [ -f $i/Makefile -a "$help" = "0" ] && echo "Configuring modules/$i:"
+ if [ -x $i/configure ]
+ then
+ olddir2=`pwd`
+ cd $i
+ ./configure "$@"
+ [ $? != 0 ] && exit 1
+ cd $olddir2
+ elif [ -f $i/configure ]
+ then
+ echo " configure script is not set executable!"
+ fi
+ elif [ "$help" = "0" ]
+ then
+ touch disable-$i
+ fi
+ fi
+done
+
include ../../config.mak
-TARGET = humperdink
+TARGET = mvcp-client
OBJS = client.o \
io.o \
CFLAGS += -I.. $(RDYNAMIC)
-LDFLAGS += -L../valerie -lvalerie
-LDFLAGS += -L../framework -lmlt -lpthread
+LDFLAGS += -L../mvcp -lmvcp
+LDFLAGS += -lpthread
SRCS := $(OBJS:.o=.c)
include ../../config.mak
-TARGET = albino
+TARGET = mvcp-console
-OBJS = albino.o
+OBJS = mvcp-console.o
CFLAGS += -I.. $(RDYNAMIC)
-LDFLAGS += -L../miracle -lmiracle
-LDFLAGS += -L../valerie -lvalerie
-LDFLAGS += -L../framework -lmlt -lpthread
+LDFLAGS += -L../melted -lmelted
+LDFLAGS += -L../mvcp -lmvcp
+LDFLAGS += -lpthread
SRCS := $(OBJS:.o=.c)
include ../../config.mak
ifneq ($(targetos), Darwin)
-NAME = libvalerie$(LIBSUF)
+NAME = libmvcp$(LIBSUF)
TARGET = $(NAME).$(version)
SONAME = $(NAME).$(soversion)
SHFLAGS += -Wl,-soname,$(SONAME)
else
-NAME = libvalerie$(LIBSUF)
-TARGET = libvalerie.$(version)$(LIBSUF)
-SONAME = libvalerie.$(soversion)$(LIBSUF)
+NAME = libmvcp$(LIBSUF)
+TARGET = libmvcp.$(version)$(LIBSUF)
+SONAME = libmvcp.$(soversion)$(LIBSUF)
SHFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion)
endif
-OBJS = valerie.o \
- valerie_notifier.o \
- valerie_parser.o \
- valerie_response.o \
- valerie_status.o \
- valerie_tokeniser.o \
- valerie_util.o \
- valerie_remote.o \
- valerie_socket.o
+OBJS = mvcp.o \
+ mvcp_notifier.o \
+ mvcp_parser.o \
+ mvcp_response.o \
+ mvcp_status.o \
+ mvcp_tokeniser.o \
+ mvcp_util.o \
+ mvcp_remote.o \
+ mvcp_socket.o
-INCS = valerie.h \
- valerie_notifier.h \
- valerie_parser.h \
- valerie_remote.h \
- valerie_response.h \
- valerie_socket.h \
- valerie_status.h \
- valerie_tokeniser.h \
- valerie_util.h
+INCS = mvcp.h \
+ mvcp_notifier.h \
+ mvcp_parser.h \
+ mvcp_remote.h \
+ mvcp_response.h \
+ mvcp_socket.h \
+ mvcp_status.h \
+ mvcp_tokeniser.h \
+ mvcp_util.h
SRCS := $(OBJS:.o=.c)
install -m 755 $(TARGET) $(DESTDIR)$(libdir)
ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME)
ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME)
- mkdir -p "$(DESTDIR)$(prefix)/include/mlt/valerie"
- install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/valerie"
+ mkdir -p "$(DESTDIR)$(prefix)/include/mlt/mvcp"
+ install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/mvcp"
uninstall:
rm -f "$(DESTDIR)$(libdir)/$(TARGET)"
rm -f "$(DESTDIR)$(libdir)/$(SONAME)"
rm -f "$(DESTDIR)$(libdir)/$(NAME)"
- rm -rf "$(DESTDIR)$(prefix)/include/mlt/valerie"
+ rm -rf "$(DESTDIR)$(prefix)/include/mlt/mvcp"
ifneq ($(wildcard .depend),)
include .depend
--- /dev/null
+#!/bin/sh
+echo "mvcp -I$prefix/include/mlt -D_REENTRANT -L$libdir -lmvcp" >> ../../packages.dat
[ $? != 0 ] && echo "Please install mlt" && exit 1
if [ "$1" = "all" ]
-then languages="perl php python ruby tcl"
+then languages="java perl php python ruby tcl"
elif [ "$1" != "" ]
then languages=$*
else echo "Usage: ./configure [ all | language * ]"
exit 0
fi
-for i in perl php python ruby tcl
+for i in java perl php python ruby tcl
do
rm -f .$i
done
--- /dev/null
+/**
+ * melted.i - Swig Bindings for melted++
+ * Copyright (C) 2004-2005 Charles Yates
+ * Author: Charles Yates <charles.yates@pandora.be>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser 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-1307, USA.
+ */
+
+%module melted
+%include "carrays.i"
+%array_class(unsigned char, unsignedCharArray);
+
+%{
+#include <melted++/MltMelted.h>
+%}
+
+/** These methods return objects which should be gc'd.
+ */
+
+namespace Mlt {
+%newobject Melted::execute( char * );
+%newobject Melted::push( char *, Service & );
+%newobject Melted::unit( int );
+}
+
+/** Classes to wrap.
+ */
+
+%include <MltMiracle.h>
+%include <MltResponse.h>
+++ /dev/null
-#!/bin/sh
-echo "valerie -I$prefix/include/mlt -D_REENTRANT -L$libdir -lvalerie" >> ../../packages.dat