/* * Filename: node.h * * Description: * * * Version: * Created: Tue Mar 10 18:45:45 2020 * Revision: None * Author: Rachel Fae Fox (foxiepaws),fox@foxiepa.ws * */ #include namespace amalgam { typedef std::pair Stereo; typedef double Mono; class Node { protected: unsigned int sr; Stereo out; public: virtual void process(); Mono getMono() { return out.first + out.second; } Stereo getStereo() { return out; } Mono sampleMono() { process(); return out.first + out.second; } Stereo sampleStereo() { process(); return out; } }; class IEngine : Node { protected: double _freq; bool _gate; public: // getters double freq() { return _freq; } bool gate() { return _gate; } // setters void freq(double v) { _freq = v;}; void gate(bool v) { _gate = v;}; }; class Instrument : Node { std::array engines; unsigned int poly = 1; }; } /* Local Variables: */ /* mode: c++ */ /* End: */