Make swig bindings a superset of mlt.
authorDan Dennedy <dan@dennedy.org>
Sat, 16 May 2009 04:58:29 +0000 (21:58 -0700)
committerDan Dennedy <dan@dennedy.org>
Sat, 16 May 2009 04:58:29 +0000 (21:58 -0700)
Signed-off-by: Dan Dennedy <dan@dennedy.org>

src/swig/Makefile
src/swig/java/build
src/swig/mlt.i [moved from src/swig/melted.i with 60% similarity]
src/swig/perl/Makefile.PL
src/swig/php/build
src/swig/python/build
src/swig/ruby/build
src/swig/ruby/server.rb
src/swig/tcl/build

index 26ae9dd..510cce8 100644 (file)
@@ -1,4 +1,4 @@
-SUBDIRS = perl python ruby tcl
+SUBDIRS = java perl php python ruby tcl
 
 all clean install:
        list='$(SUBDIRS)'; \
index f9045b9..558ef11 100755 (executable)
@@ -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 $?
similarity index 60%
rename from src/swig/melted.i
rename to src/swig/mlt.i
index 9f874c8..5712c64 100644 (file)
@@ -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);
 
  */
 
 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 <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 <MltMelted.h>
 %include <MltResponse.h>
 
index 7b3c0ee..f9c04ad 100644 (file)
@@ -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'},
 );
 
index 4c7e494..95989aa 100755 (executable)
@@ -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 $?
index 63423ad..b7cf43e 100755 (executable)
@@ -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
index 33c3b1d..ccb7b54 100755 (executable)
@@ -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' )
index f432660..11fb306 100755 (executable)
@@ -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
index 8ab09d6..52e9ca0 100755 (executable)
@@ -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