SWIG options:
--enable-swig - Build the high level language bindings.
- --swig-languages=[all | [java | perl | php | python | ruby | tcl]*]
+ --swig-languages=[all | [java | lua | perl | php | python | ruby | tcl]*]
- Languages to build (default: all)
EOF
which swig > /dev/null 2>&1
[ $? != 0 ] && echo "Please install swig" && exit 1
- languages="java perl php python ruby tcl"
+ languages="java lua perl php python ruby tcl"
touch config.mak
# Iterate through arguments
--- /dev/null
+#!/bin/sh
+
+if [ "$1" = "clean" ]
+then
+ ( cd `dirname $0`; rm -f *.cxx *.so mlt.i ../.lua )
+ exit 0
+fi
+
+path=`which lua 2> /dev/null`
+
+if [ $? = 0 ]
+then
+ ln -sf ../mlt.i
+
+ # Invoke swig
+ swig -c++ -I../../mlt++ -I../.. -lua mlt.i || exit $?
+
+ # Compile the wrapper
+ g++ -fPIC -DPIC -D_GNU_SOURCE -c -rdynamic -pthread -I../.. mlt_wrap.cxx || exit $?
+
+ # Create the module
+ gcc -shared mlt_wrap.o -L../../mlt++ -lmlt++ -o mlt.so || exit $?
+else
+ echo Lua not installed.
+ exit 1
+fi
--- /dev/null
+#!/usr/bin/env lua
+
+require("mlt")
+
+mlt.Factory_init()
+profile = mlt.Profile()
+producer = mlt.Producer( profile, arg[1] )
+if producer:is_valid() then
+ consumer = mlt.Consumer( profile, "sdl" )
+ consumer:set( "rescale", "none" )
+ consumer:set( "terminate_on_pause", 1 )
+ consumer:connect( producer )
+ event = consumer:setup_wait_for( "consumer-stopped" )
+ consumer:start()
+ consumer:wait_for( event )
+else
+ print( "Unable to open "..arg[1] )
+end
+mlt.Factory_close()