Main Page | Namespaces | Classes | Compounds | Files | Compound Members | Related tube.h00001 // 00002 // SYNTOPIA. See http://Syntopia.sourceforge.net for details and documentation. 00003 // 00004 // Author of this file: Mikael Hvidtfeldt Christensen (mikaelc@users.sourceforge.net) 00005 // 00006 00007 // Visual C++ compiler warnings: 255 char limit on var names..... 00008 #pragma warning(disable: 4786) 00009 00010 #ifndef __tube__ 00011 #define __tube__ 00012 00013 #include "input.h" 00014 #include "output.h" 00015 #include "Modules.h" 00016 #include <string> 00017 #include "sndutils.h" 00018 00019 namespace SynthCore { 00020 00022 00029 class Tube : public Module { 00030 00031 00032 public: // ---------------------------------------------------------- 00033 00035 virtual std::string getName() {return "Tube";} 00036 00038 float feedback; 00039 00041 Output * Output1; 00042 00044 Output * Output2; 00045 00047 Input * Input1; 00048 00049 00052 virtual Module * sharedClone() ; 00053 00054 00056 Tube(SynthVoice * S1) ; 00057 00058 std::string getXML(int indent); 00059 00061 ~Tube() ; 00062 00064 void update() ; 00065 00067 static Module * newInstance(SynthVoice * S1) ; 00068 00070 void loadXML(XMLNode * n, bool firstPass); 00071 00072 private: // ---------------------------------------------------------- 00073 00074 DelayLine * forwardLine; 00075 DelayLine * backwardLine; 00076 BiFilter * myFilter; 00077 BiFilter * myFilter2; 00078 int pos; 00079 int pos2; 00080 float temp; 00081 }; 00082 00083 }; // end of namespace: SynthCore 00084 00085 #endif Docs made by Doxygen. Email: Mikael Christensen |