From: Dan Dennedy Date: Sat, 16 May 2009 04:58:29 +0000 (-0700) Subject: Make swig bindings a superset of mlt. X-Git-Url: http://research.m1stereo.tv/gitweb?a=commitdiff_plain;h=55cd8acadecb4e2dbfd87b248c55834c2b1cb422;p=melted Make swig bindings a superset of mlt. Signed-off-by: Dan Dennedy --- diff --git a/src/swig/Makefile b/src/swig/Makefile index 26ae9dd..510cce8 100644 --- a/src/swig/Makefile +++ b/src/swig/Makefile @@ -1,4 +1,4 @@ -SUBDIRS = perl python ruby tcl +SUBDIRS = java perl php python ruby tcl all clean install: list='$(SUBDIRS)'; \ diff --git a/src/swig/java/build b/src/swig/java/build index f9045b9..558ef11 100755 --- a/src/swig/java/build +++ b/src/swig/java/build @@ -11,17 +11,17 @@ then # Change this as needed # export JAVA_INCLUDE="-I$path/include -I$path/include/linux" - ln -sf ../melted.i + ln -sf ../mlt.i # Invoke swig mkdir -p src_swig/org/mltframework - swig -c++ -I../../melted++ `pkg-config mlt++ --cflags` -java -outdir src_swig/org/mltframework -package org.mltframework melted.i || exit $? + swig -c++ -I../../melted++ `pkg-config mlt++ --cflags` -java -outdir src_swig/org/mltframework -package org.mltframework mlt.i || exit $? # Compile the wrapper - g++ -D_GNU_SOURCE -c -rdynamic -pthread -I../../melted++ `pkg-config mlt++ --cflags` melted_wrap.cxx $JAVA_INCLUDE || exit $? + g++ -D_GNU_SOURCE -c -rdynamic -pthread -I../../melted++ `pkg-config mlt++ --cflags` mlt_wrap.cxx $JAVA_INCLUDE || exit $? # Create the module - gcc -shared melted_wrap.o -L../../melted++ -lmelted++ -o libmelted_java.so || exit $? + gcc -shared mlt_wrap.o -L../../melted++ -lmelted++ -o libmlt_java.so || exit $? # Compile the test javac `find src_swig -name '*.java'` || exit $? diff --git a/src/swig/melted.i b/src/swig/mlt.i similarity index 60% rename from src/swig/melted.i rename to src/swig/mlt.i index 9f874c8..5712c64 100644 --- a/src/swig/melted.i +++ b/src/swig/mlt.i @@ -18,7 +18,7 @@ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -%module melted +%module mlt %include "carrays.i" %array_class(unsigned char, unsignedCharArray); @@ -32,6 +32,31 @@ */ 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 Repository::consumers( ); +%newobject Repository::filters( ); +%newobject Repository::producers( ); +%newobject Repository::transitions( ); +%newobject Repository::metadata( mlt_service_type, const char * ); %newobject Melted::execute( char * ); %newobject Melted::received( char *, char * ); %newobject Melted::push( char *, Service & ); @@ -41,6 +66,26 @@ namespace Mlt { /** Classes to wrap. */ +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include %include %include diff --git a/src/swig/perl/Makefile.PL b/src/swig/perl/Makefile.PL index 7b3c0ee..f9c04ad 100644 --- a/src/swig/perl/Makefile.PL +++ b/src/swig/perl/Makefile.PL @@ -3,14 +3,14 @@ use ExtUtils::MakeMaker; my $CXX = $ENV{'CXX'} || 'g++'; -system( "ln -sf ../melted.i" ); -system( "swig -c++ -I../../melted++ `pkg-config mlt++ --cflags` -perl5 melted.i" ); +system( "ln -sf ../mlt.i" ); +system( "swig -c++ -I../../melted++ `pkg-config mlt++ --cflags` -perl5 mlt.i" ); WriteMakefile( - 'NAME' => 'melted', + 'NAME' => 'mlt', 'CC' => '${CXX} `pkg-config mlt++ --cflags` -I../../melted++', 'OPTIMIZE' => '-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386', 'LIBS' => ['-L../../melted++ -lmelted++'], - 'OBJECT' => 'melted_wrap.o', + 'OBJECT' => 'mlt_wrap.o', 'DESTDIR' => $ENV{'DESTDIR'}, ); diff --git a/src/swig/php/build b/src/swig/php/build index 4c7e494..95989aa 100755 --- a/src/swig/php/build +++ b/src/swig/php/build @@ -1,6 +1,6 @@ #!/bin/sh -ln -s ../melted.i -swig -c++ -I../../melted++ `pkg-config --cflags mlt++` -php5 -noproxy melted.i -g++ -fPIC -DPIC -D_GNU_SOURCE -c -rdynamic -pthread -I../../melted++ `pkg-config --cflags mlt++` `php-config --includes` melted_wrap.cpp -gcc -shared melted_wrap.o -L../../melted++ -lmelted++ -o melted.so || exit $? +ln -s ../mlt.i +swig -c++ -I../../melted++ `pkg-config --cflags mlt++` -php5 -noproxy mlt.i +g++ -fPIC -DPIC -D_GNU_SOURCE -c -rdynamic -pthread -I../../melted++ `pkg-config --cflags mlt++` `php-config --includes` mlt_wrap.cpp +gcc -shared mlt_wrap.o -L../../melted++ -lmelted++ -o mlt.so || exit $? diff --git a/src/swig/python/build b/src/swig/python/build index 63423ad..b7cf43e 100755 --- a/src/swig/python/build +++ b/src/swig/python/build @@ -9,16 +9,16 @@ then [ ! -d "$PYTHON_INCLUDE" ] && echo python development missing && exit 1 - ln -sf ../melted.i + ln -sf ../mlt.i # Invoke swig - swig -c++ -I../../melted++ `pkg-config mlt++ --cflags` -python melted.i || exit $? + swig -c++ -I../../melted++ `pkg-config mlt++ --cflags` -python mlt.i || exit $? # Compile the wrapper - g++ -fPIC -D_GNU_SOURCE -c -rdynamic -pthread -I../../melted++ `pkg-config mlt++ --cflags` -I$PYTHON_INCLUDE melted_wrap.cxx || exit $? + g++ -fPIC -D_GNU_SOURCE -c -rdynamic -pthread -I../../melted++ `pkg-config mlt++ --cflags` -I$PYTHON_INCLUDE mlt_wrap.cxx || exit $? # Create the module - gcc -shared melted_wrap.o -L../../melted++ -lmelted++ -o _melted.so || exit $? + gcc -shared mlt_wrap.o -L../../melted++ -lmelted++ -o _mlt.so || exit $? else echo Python not installed. exit 1 diff --git a/src/swig/ruby/build b/src/swig/ruby/build index 33c3b1d..ccb7b54 100755 --- a/src/swig/ruby/build +++ b/src/swig/ruby/build @@ -1,8 +1,8 @@ #!/usr/bin/env ruby require 'mkmf' -system( "ln -sf ../melted.i" ) -system( "swig -c++ -ruby -I../../melted++ `pkg-config mlt++ --cflags` melted.i" ) +system( "ln -sf ../mlt.i" ) +system( "swig -c++ -ruby -I../../melted++ `pkg-config mlt++ --cflags` mlt.i" ) $CFLAGS += " -I../../melted++ `pkg-config mlt++ --cflags`" $LDFLAGS += " -L../../melted++ -lmelted++" -create_makefile('melted') +create_makefile('mlt') system( 'make' ) diff --git a/src/swig/ruby/server.rb b/src/swig/ruby/server.rb index f432660..11fb306 100755 --- a/src/swig/ruby/server.rb +++ b/src/swig/ruby/server.rb @@ -1,7 +1,6 @@ #!/usr/bin/env ruby require 'mlt' -require 'melted' def command puts "command" @@ -11,9 +10,9 @@ def push puts "push" end -melted = Melted::Melted.new( "melted-ruby", 5260 ) +melted = Mlt::Melted.new( "melted-ruby", 5260 ) melted.start melted.execute( "uadd sdl" ) -listener = Melted::Listener.new( melted, "command-received", method( :command ) ) -listener = Melted::Listener.new( melted, "push-received", method( :push ) ) +listener = Mlt::Listener.new( melted, "command-received", method( :command ) ) +listener = Mlt::Listener.new( melted, "push-received", method( :push ) ) melted.wait_for_shutdown diff --git a/src/swig/tcl/build b/src/swig/tcl/build index 8ab09d6..52e9ca0 100755 --- a/src/swig/tcl/build +++ b/src/swig/tcl/build @@ -4,16 +4,16 @@ path=`which tclsh 2>/dev/null` if [ "$path" != "" ] then - ln -sf ../melted.i + ln -sf ../mlt.i # Invoke swig - swig -c++ -I../../melted++ `pkg-config mlt++ --cflags` -tcl melted.i || exit 1 + swig -c++ -I../../melted++ `pkg-config mlt++ --cflags` -tcl mlt.i || exit 1 # Compile the wrapper - g++ -D_GNU_SOURCE -c -rdynamic -pthread -I../../melted++ `pkg-config mlt++ --cflags` melted_wrap.cxx || exit 1 + g++ -D_GNU_SOURCE -c -rdynamic -pthread -I../../melted++ `pkg-config mlt++ --cflags` mlt_wrap.cxx || exit 1 # Create the module - gcc -shared melted_wrap.o -L../../melted++ -lmelted++ -o melted.so || exit 1 + gcc -shared mlt_wrap.o -L../../melted++ -lmelted++ -o mlt.so || exit 1 else echo "Unable to locate tclsh." exit 1