00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __MULTIPLAYER_H
00022 #define __MULTIPLAYER_H
00023
00024 #ifdef HAVE_SNDFILE
00025
00026 #include <sndfile.h>
00027
00028 #ifdef __GEDDEI_BUILD
00029 #include "processor.h"
00030 #else
00031 #include <geddei/processor.h>
00032 #endif
00033
00053 class MultiPlayer: public Processor
00054 {
00055 QStringList thePaths;
00056 SNDFILE *theFile;
00057 int theChannels, theRate;
00058 uint theLength, thePosition, theFrames;
00059 uint theIndex;
00060
00061 const bool openFile();
00062
00063 virtual void processor();
00064 virtual void processorStopped();
00065 virtual const bool verifyAndSpecifyTypes(const SignalTypeRefs &inTypes, SignalTypeRefs &outTypes);
00066 virtual PropertiesInfo specifyProperties() const;
00067 virtual void initFromProperties(const Properties &p);
00068 virtual void specifyOutputSpace(QValueVector<uint> &samples);
00069
00070 public:
00077 const QString &getTitle(const int index) { return thePaths[index]; }
00078
00082 MultiPlayer();
00083 };
00084
00085 #endif
00086
00087 #endif