CounterpointNode.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef COUNTERPOINTNODE_H
00023 #define COUNTERPOINTNODE_H
00024 #if defined(_MSC_VER) && !defined(__GNUC__)
00025 #pragma warning (disable:4786)
00026 #endif
00027
00028 #include "Platform.hpp"
00029 #ifdef SWIG
00030 %module CsoundAC
00031 %{
00032 #include "Node.hpp"
00033 #include "Counterpoint.hpp"
00034 #include <cmath>
00035 %}
00036 %include "std_vector.i"
00037 %template(IntVector) std::vector<int>;
00038 #else
00039 #include "Node.hpp"
00040 #include "Counterpoint.hpp"
00041 #include <cmath>
00042 using namespace boost::numeric;
00043 #endif
00044
00045 namespace csound
00046 {
00054 class CounterpointNode :
00055 public Node,
00056 public Counterpoint
00057 {
00058 public:
00059 enum
00060 {
00061 GenerateCounterpoint = 0,
00062 CorrectCounterpoint = 1
00063 };
00064 int generationMode;
00065 int musicMode;
00066 int species;
00067 size_t voices;
00068 double secondsPerPulse;
00069 std::vector<int> voiceBeginnings;
00070 CounterpointNode();
00071 virtual ~CounterpointNode();
00072 virtual void produceOrTransform(Score &score, size_t beginAt, size_t endAt, const ublas::matrix<double> &globalCoordinates);
00073 };
00074 }
00075 #endif