aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Misc/PlaylistFormats
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Misc/PlaylistFormats')
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/CSVPlaylistFormat.pro20
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/Makefile213
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.cpp72
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.h33
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/moc_csvplaylistformat.cpp64
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/readme12
-rw-r--r--src/plugins/Misc/PlaylistFormats/Makefile112
-rw-r--r--src/plugins/Misc/PlaylistFormats/PlaylistFormats.pro2
-rwxr-xr-xsrc/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.sobin0 -> 38452 bytes
9 files changed, 528 insertions, 0 deletions
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/CSVPlaylistFormat.pro b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/CSVPlaylistFormat.pro
new file mode 100644
index 000000000..11c27c3d3
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/CSVPlaylistFormat.pro
@@ -0,0 +1,20 @@
+QMMPROOT = ../../../qmmp
+
+HEADERS += csvplaylistformat.h
+
+SOURCES += csvplaylistformat.cpp \
+ $$QMMPROOT/src/mediafile.cpp
+
+DESTDIR = ../
+QMAKE_CLEAN = ../libcsvplaylistformat.so
+
+INCLUDEPATH += $$QMMPROOT/src \
+ $$QMMPROOT/lib
+
+CONFIG += release warn_on plugin
+
+TEMPLATE = lib
+
+#QMAKE_LIBDIR += ../../../
+#LIBS += -lqmmp -L/usr/lib -I/usr/include
+
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/Makefile b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/Makefile
new file mode 100644
index 000000000..5afa50b01
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/Makefile
@@ -0,0 +1,213 @@
+#############################################################################
+# Makefile for building: libCSVPlaylistFormat.so
+# Generated by qmake (2.01a) (Qt 4.3.0) on: Mon Dec 24 01:59:02 2007
+# Project: CSVPlaylistFormat.pro
+# Template: lib
+# Command: /usr/local/Trolltech/Qt-4.3.0/bin/qmake -unix -o Makefile CSVPlaylistFormat.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
+CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
+CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
+INCPATH = -I/usr/local/Trolltech/Qt-4.3.0/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.3.0/include/QtCore -I/usr/local/Trolltech/Qt-4.3.0/include/QtCore -I/usr/local/Trolltech/Qt-4.3.0/include/QtGui -I/usr/local/Trolltech/Qt-4.3.0/include/QtGui -I/usr/local/Trolltech/Qt-4.3.0/include -I../../../qmmp/src -I../../../qmmp/lib -I. -I.
+LINK = g++
+LFLAGS = -Wl,-rpath,/usr/local/Trolltech/Qt-4.3.0/lib -shared
+LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.3.0/lib -lQtGui -L/usr/local/Trolltech/Qt-4.3.0/lib -L/usr/X11R6/lib -lpng -lSM -lICE -pthread -pthread -lXi -lXrender -lXrandr -lXfixes -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
+AR = ar cqs
+RANLIB =
+QMAKE = /usr/local/Trolltech/Qt-4.3.0/bin/qmake
+TAR = tar -cf
+COMPRESS = gzip -9f
+COPY = cp -f
+SED = sed
+COPY_FILE = $(COPY)
+COPY_DIR = $(COPY) -r
+INSTALL_FILE = install -m 644 -p
+INSTALL_DIR = $(COPY_DIR)
+INSTALL_PROGRAM = install -m 755 -p
+DEL_FILE = rm -f
+SYMLINK = ln -sf
+DEL_DIR = rmdir
+MOVE = mv -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = csvplaylistformat.cpp \
+ ../../../qmmp/src/mediafile.cpp moc_csvplaylistformat.cpp
+OBJECTS = csvplaylistformat.o \
+ mediafile.o \
+ moc_csvplaylistformat.o
+DIST = /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf \
+ CSVPlaylistFormat.pro
+QMAKE_TARGET = CSVPlaylistFormat
+DESTDIR = ../
+TARGET = libCSVPlaylistFormat.so
+TARGETD = libCSVPlaylistFormat.so
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .o .c .cpp .cc .cxx .C
+
+.cpp.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cc.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cxx.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.C.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.c.o:
+ $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
+
+####### Build rules
+
+all: Makefile ../$(TARGET)
+
+../$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
+ @$(CHK_DIR_EXISTS) ../ || $(MKDIR) ../
+ -$(DEL_FILE) $(TARGET)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
+ -$(MOVE) $(TARGET) ../
+
+
+
+Makefile: CSVPlaylistFormat.pro /usr/local/Trolltech/Qt-4.3.0/mkspecs/linux-g++/qmake.conf /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf \
+ /usr/local/Trolltech/Qt-4.3.0/lib/libQtGui.prl \
+ /usr/local/Trolltech/Qt-4.3.0/lib/libQtCore.prl
+ $(QMAKE) -unix -o Makefile CSVPlaylistFormat.pro
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf:
+/usr/local/Trolltech/Qt-4.3.0/lib/libQtGui.prl:
+/usr/local/Trolltech/Qt-4.3.0/lib/libQtCore.prl:
+qmake: FORCE
+ @$(QMAKE) -unix -o Makefile CSVPlaylistFormat.pro
+
+dist:
+ @$(CHK_DIR_EXISTS) .tmp/CSVPlaylistFormat1.0.0 || $(MKDIR) .tmp/CSVPlaylistFormat1.0.0
+ $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/CSVPlaylistFormat1.0.0/ && $(COPY_FILE) --parents csvplaylistformat.h .tmp/CSVPlaylistFormat1.0.0/ && $(COPY_FILE) --parents csvplaylistformat.cpp ../../../qmmp/src/mediafile.cpp .tmp/CSVPlaylistFormat1.0.0/ && (cd `dirname .tmp/CSVPlaylistFormat1.0.0` && $(TAR) CSVPlaylistFormat1.0.0.tar CSVPlaylistFormat1.0.0 && $(COMPRESS) CSVPlaylistFormat1.0.0.tar) && $(MOVE) `dirname .tmp/CSVPlaylistFormat1.0.0`/CSVPlaylistFormat1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/CSVPlaylistFormat1.0.0
+
+
+clean:compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) ../libcsvplaylistformat.so
+ -$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+mocclean: compiler_moc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all
+
+compiler_moc_header_make_all: moc_csvplaylistformat.cpp
+compiler_moc_header_clean:
+ -$(DEL_FILE) moc_csvplaylistformat.cpp
+moc_csvplaylistformat.cpp: csvplaylistformat.h
+ /usr/local/Trolltech/Qt-4.3.0/bin/moc $(DEFINES) $(INCPATH) csvplaylistformat.h -o moc_csvplaylistformat.cpp
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_image_collection_make_all: qmake_image_collection.cpp
+compiler_image_collection_clean:
+ -$(DEL_FILE) qmake_image_collection.cpp
+compiler_moc_source_make_all:
+compiler_moc_source_clean:
+compiler_uic_make_all:
+compiler_uic_clean:
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_header_clean
+
+####### Compile
+
+csvplaylistformat.o: csvplaylistformat.cpp csvplaylistformat.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o csvplaylistformat.o csvplaylistformat.cpp
+
+mediafile.o: ../../../qmmp/src/mediafile.cpp ../../../qmmp/src/mediafile.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mediafile.o ../../../qmmp/src/mediafile.cpp
+
+moc_csvplaylistformat.o: moc_csvplaylistformat.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_csvplaylistformat.o moc_csvplaylistformat.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.cpp b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.cpp
new file mode 100644
index 000000000..bff8a20b5
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.cpp
@@ -0,0 +1,72 @@
+#include <QtPlugin>
+#include <QFileInfo>
+
+#include "csvplaylistformat.h"
+#include <mediafile.h>
+
+
+bool CSVPlaylistFormat::hasFormat(const QString & f)
+{
+ foreach(QString s,m_supported_formats)
+ if(f == s)
+ return true;
+
+ return false;
+}
+
+QStringList CSVPlaylistFormat::getExtensions() const
+{
+ return m_supported_formats;
+}
+
+CSVPlaylistFormat::CSVPlaylistFormat()
+{
+ m_supported_formats << "csv";
+}
+
+QString CSVPlaylistFormat::name() const
+{
+ return "CSVPlaylistFormat";
+}
+
+
+QStringList CSVPlaylistFormat::decode(const QString & contents)
+{
+ qWarning("CONTENTS: %s",qPrintable(contents));
+ QStringList out;
+ QStringList splitted = contents.split("\n");
+ if(!splitted.isEmpty())
+ {
+ foreach(QString str, splitted)
+ {
+ QStringList song = str.split(";");
+ qWarning("SONG: %s",qPrintable(song[0]));
+ if(song.count() > 1)
+ {
+ QString unverified = song[1];
+ if(QFileInfo(unverified).exists())
+ out << QFileInfo(unverified).absoluteFilePath();
+ else
+ qWarning("File %s does not exist",unverified.toLocal8Bit().data());
+ }
+
+ }
+ return out;
+ }
+ else
+ qWarning("Error parsing CSV playlist format");
+
+ return QStringList();
+}
+
+QString CSVPlaylistFormat::encode(const QList< MediaFile * > & contents)
+{
+ QStringList out;
+ foreach(MediaFile* f,contents)
+ out.append(f->title() + ";" + f->path() + ";" + QString::number(f->length()));
+
+ return out.join("\n");
+}
+
+Q_EXPORT_PLUGIN(CSVPlaylistFormat)
+
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.h b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.h
new file mode 100644
index 000000000..45e93d346
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.h
@@ -0,0 +1,33 @@
+#ifndef CSVPLAYLISTFORMAT_H
+#define CSVPLAYLISTFORMAT_H
+
+#include <playlistformat.h>
+
+#include <QStringList>
+
+class MediaFile;
+
+/*!
+ * Example of custom playlist CSV semicolon separated format.
+ * Each line represents a song in the next format:
+ * TITLE;FILEPATH;DURATION
+ */
+
+class CSVPlaylistFormat : public QObject, public PlaylistFormat
+{
+Q_OBJECT
+Q_INTERFACES(PlaylistFormat)
+public:
+ CSVPlaylistFormat();
+ virtual ~CSVPlaylistFormat(){;}
+ virtual QStringList decode(const QString& contents);
+ virtual QString encode(const QList<MediaFile*>& contents);
+ virtual QStringList getExtensions()const;
+ virtual bool hasFormat(const QString& ext);
+ virtual QString name()const;
+protected:
+ QStringList m_supported_formats;
+};
+
+#endif //CSVPLAYLISTFORMAT_H
+
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/moc_csvplaylistformat.cpp b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/moc_csvplaylistformat.cpp
new file mode 100644
index 000000000..133bf4692
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/moc_csvplaylistformat.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'csvplaylistformat.h'
+**
+** Created: Mon Dec 24 01:59:05 2007
+** by: The Qt Meta Object Compiler version 59 (Qt 4.3.0)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "csvplaylistformat.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'csvplaylistformat.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 59
+#error "This file was generated using the moc from 4.3.0. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+static const uint qt_meta_data_CSVPlaylistFormat[] = {
+
+ // content:
+ 1, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 0, 0, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_CSVPlaylistFormat[] = {
+ "CSVPlaylistFormat\0"
+};
+
+const QMetaObject CSVPlaylistFormat::staticMetaObject = {
+ { &QObject::staticMetaObject, qt_meta_stringdata_CSVPlaylistFormat,
+ qt_meta_data_CSVPlaylistFormat, 0 }
+};
+
+const QMetaObject *CSVPlaylistFormat::metaObject() const
+{
+ return &staticMetaObject;
+}
+
+void *CSVPlaylistFormat::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_CSVPlaylistFormat))
+ return static_cast<void*>(const_cast< CSVPlaylistFormat*>(this));
+ if (!strcmp(_clname, "PlaylistFormat"))
+ return static_cast< PlaylistFormat*>(const_cast< CSVPlaylistFormat*>(this));
+ if (!strcmp(_clname, "PlaylistFormatInterface/1.0"))
+ return static_cast< PlaylistFormat*>(const_cast< CSVPlaylistFormat*>(this));
+ return QObject::qt_metacast(_clname);
+}
+
+int CSVPlaylistFormat::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ return _id;
+}
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/readme b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/readme
new file mode 100644
index 000000000..a047e358b
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/readme
@@ -0,0 +1,12 @@
+This is simple example of custom Playlist Format plugin.
+It represents CVS semicolon-separated format storage.
+This plugin developed mostly for QMMP customizing demonstration.
+
+Build: Change QMMPROOT variable in .pro file according your
+QMMP build tree location.Then qmake && make
+
+Install: copy library into ~/.qmmp/plugins/PlaylistFormats directory.
+
+
+ vovanec@gmail.com
+
diff --git a/src/plugins/Misc/PlaylistFormats/Makefile b/src/plugins/Misc/PlaylistFormats/Makefile
new file mode 100644
index 000000000..cbf632042
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/Makefile
@@ -0,0 +1,112 @@
+#############################################################################
+# Makefile for building: PlaylistFormats
+# Generated by qmake (2.01a) (Qt 4.3.0) on: Mon Dec 24 01:59:00 2007
+# Project: PlaylistFormats.pro
+# Template: subdirs
+# Command: /usr/local/Trolltech/Qt-4.3.0/bin/qmake -unix -o Makefile PlaylistFormats.pro
+#############################################################################
+
+first: make_default
+MAKEFILE = Makefile
+QMAKE = /usr/local/Trolltech/Qt-4.3.0/bin/qmake
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = $(COPY)
+COPY_DIR = $(COPY) -r
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = $(COPY_DIR)
+DEL_FILE = rm -f
+SYMLINK = ln -sf
+DEL_DIR = rmdir
+MOVE = mv -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+SUBTARGETS = \
+ sub-CSVPlaylistFormat
+
+CSVPlaylistFormat//$(MAKEFILE):
+ @$(CHK_DIR_EXISTS) CSVPlaylistFormat/ || $(MKDIR) CSVPlaylistFormat/
+ cd CSVPlaylistFormat/ && $(QMAKE) CSVPlaylistFormat.pro -unix -o $(MAKEFILE)
+sub-CSVPlaylistFormat-qmake_all: FORCE
+ @$(CHK_DIR_EXISTS) CSVPlaylistFormat/ || $(MKDIR) CSVPlaylistFormat/
+ cd CSVPlaylistFormat/ && $(QMAKE) CSVPlaylistFormat.pro -unix -o $(MAKEFILE)
+sub-CSVPlaylistFormat: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE)
+sub-CSVPlaylistFormat-make_default: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE)
+sub-CSVPlaylistFormat-make_first: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) first
+sub-CSVPlaylistFormat-all: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) all
+sub-CSVPlaylistFormat-clean: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) clean
+sub-CSVPlaylistFormat-distclean: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) distclean
+sub-CSVPlaylistFormat-install_subtargets: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) install
+sub-CSVPlaylistFormat-uninstall_subtargets: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) uninstall
+
+Makefile: PlaylistFormats.pro /usr/local/Trolltech/Qt-4.3.0/mkspecs/linux-g++/qmake.conf /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf
+ $(QMAKE) -unix -o Makefile PlaylistFormats.pro
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf:
+qmake: qmake_all FORCE
+ @$(QMAKE) -unix -o Makefile PlaylistFormats.pro
+
+qmake_all: sub-CSVPlaylistFormat-qmake_all FORCE
+
+make_default: sub-CSVPlaylistFormat-make_default FORCE
+make_first: sub-CSVPlaylistFormat-make_first FORCE
+all: sub-CSVPlaylistFormat-all FORCE
+clean: sub-CSVPlaylistFormat-clean FORCE
+distclean: sub-CSVPlaylistFormat-distclean FORCE
+ -$(DEL_FILE) Makefile
+install_subtargets: sub-CSVPlaylistFormat-install_subtargets FORCE
+uninstall_subtargets: sub-CSVPlaylistFormat-uninstall_subtargets FORCE
+
+mocclean: compiler_moc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all
+install: install_subtargets FORCE
+
+uninstall: uninstall_subtargets FORCE
+
+FORCE:
+
diff --git a/src/plugins/Misc/PlaylistFormats/PlaylistFormats.pro b/src/plugins/Misc/PlaylistFormats/PlaylistFormats.pro
new file mode 100644
index 000000000..4235b3190
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/PlaylistFormats.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = CSVPlaylistFormat \ No newline at end of file
diff --git a/src/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.so b/src/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.so
new file mode 100755
index 000000000..f9677157c
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.so
Binary files differ