*.bmp=pixbuf,qimage,sdl_image
*.dv=mcdv,avformat,libdv
*.dif=mcdv,avformat,libdv
+*.exr=qimage
*.gif=pixbuf,qimage,sdl_image
*.graphics=westley
*.jfx=westley
*.mpeg=mcmpeg,avformat
*.mpl=pango
*.ogg=vorbis
+*.pcx=pixbuf,qimage,sdl_image
*.pgm=pgm,pixbuf,qimage,sdl_image
*.png=pixbuf,qimage,sdl_image
+*.psd=qimage
*.story=westley
*.svg=pixbuf
*.tga=pixbuf,qimage,sdl_image
+*.tiff=pixbuf,qimage,sdl_image
*.txt=pango
*.vob=mcmpeg,avformat
*.wav=avformat
*.wmv=avformat
+*.xcf=qimage,sdl_image
*=avformat
LDFLAGS=-L../../framework $(QTLIBS) -lmlt -lstdc++
CXXFLAGS+=$(CFLAGS) $(QTCXXFLAGS) -Wno-deprecated
+ifdef USE_KDE
+LDFLAGS+= -lkio
+endif
+
SRCS := $(OBJS:.o=.c) $(CPPOBJS:.o=.cpp)
all: $(TARGET)
qimage_includedir=/usr/include/qt3
qimage_libdir=/usr/lib/qt3
+ kde_includedir=/usr/include/kde
+
if [ "$QTDIR" != "" ]
then
qimage_includedir="$QTDIR/include"
qimage_libdir="$QTDIR"
fi
+ if [ "$KDEDIR" != "" ]
+ then
+ kde_includedir="$KDEDIR/include"
+ fi
+
for i in "$@"
do
case $i in
if [ -d "$qimage_libdir" -a -d "$qimage_includedir" ]
then
- echo QTCXXFLAGS=-I$qimage_includedir > config.mak
+ echo > config.h
+ echo > config.mak
+ if [ -d "$kde_includedir" ]
+ then
+ echo "#define USE_KDE" >> config.h
+ echo "USE_KDE=1" >> config.mak
+ echo QTCXXFLAGS=-I$qimage_includedir -I$kde_includedir >> config.mak
+ else
+ echo "qimage: KDE environment not found - disabling extra image formats"
+ echo QTCXXFLAGS=-I$qimage_includedir >> config.mak
+ fi
echo QTLIBS=-L$qimage_libdir/lib -lqt-mt >> config.mak
echo qimage libmltqimage$LIBSUF >> ../producers.dat
else
mlt_properties properties = MLT_PRODUCER_PROPERTIES( &this->parent );
// Callback registration
+ init_qimage();
producer->get_frame = producer_get_frame;
producer->close = ( mlt_destructor )producer_close;
#include "qimage_wrapper.h"
#include <qimage.h>
+
+
+#include "config.h"
+
+#ifdef USE_KDE
+#include <kinstance.h>
+#include <kimageio.h>
+#endif
+
#include <cmath>
extern "C" {
#include <framework/mlt_pool.h>
+#ifdef USE_KDE
+static KInstance *instance = 0L;
+#endif
+
static void qimage_delete( void *data )
{
QImage *image = ( QImage * )data;
delete image;
+#ifdef USE_KDE
+ if (instance) delete instance;
+ instance = 0L;
+#endif
}
static void clear_buffered_image( mlt_properties producer_props, uint8_t **current_image, uint8_t **current_alpha )
mlt_events_unblock( producer_props, NULL );
}
+void init_qimage()
+{
+#ifdef USE_KDE
+ if (!instance) {
+ instance = new KInstance("qimage_prod");
+ KImageIO::registerFormats();
+ }
+#endif
+}
+
void refresh_qimage( mlt_frame frame, int width, int height )
{
// Obtain a previous assigned qimage (if it exists)
typedef struct producer_qimage_s *producer_qimage;
extern void refresh_qimage( mlt_frame, int width, int height );
+extern void init_qimage();
#ifdef __cplusplus
}