00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MARSYAS_SOUNDFILESOURCE2_H
00020 #define MARSYAS_SOUNDFILESOURCE2_H
00021
00022 #include <string>
00023
00024 #include "realvec.h"
00025
00026 #include "AbsSoundFileSource2.h"
00027 #include "WavFileSource2.h"
00028
00029 namespace Marsyas
00030 {
00042 class SoundFileSource2: public MarSystem
00043 {
00044 private:
00045 std::string filename_;
00046 AbsSoundFileSource2* src_;
00047
00048 void addControls();
00049
00050 void myUpdate(MarControlPtr sender);
00051
00052 bool checkType();
00053 void fileReady(bool ready);
00054
00055 public:
00056 SoundFileSource2(std::string name);
00057 SoundFileSource2(const SoundFileSource2& a);
00058 ~SoundFileSource2();
00059 MarSystem* clone() const;
00060
00061 realvec& getAudioRegion(mrs_natural startSample, mrs_natural endSample);
00062
00063 virtual void myProcess(realvec& in,realvec& out);
00064
00065 };
00066
00067 }
00068
00069 #endif