#include <cassert> #include <cstdlib> #include <cmath> #include <cstdio> #include <cstddef> #include <unistd.h> #include <rtosc/ports.h> #include <rtosc/port-sugar.h> pthread_t main_thread; #define rObject OscilGen const rtosc::Ports OscilGen::non_realtime_ports = { rSelf(OscilGen), rPaste, //TODO ensure min/max rOption(Phmagtype, rOptions(linear,dB scale (-40), dB scale (-60), dB scale (-80), dB scale (-100)), "Type of magnitude for harmonics"), rOption(Pcurrentbasefunc, rOptions(sine, triangle, pulse, saw, power, gauss, diode, abssine, pulsesine, stretchsine, chirp, absstretchsine, chebyshev, sqr, spike, circle), rOpt(127,use-as-base waveform), "Base Waveform for harmonics"), rParamZyn(Pbasefuncpar, "Morph between possible base function shapes "
#include "Reverb.h" #include "Echo.h" #include "Chorus.h" #include "Distorsion.h" #include "EQ.h" #include "DynamicFilter.h" #include "Phaser.h" #include "../Misc/XMLwrapper.h" #include "../Misc/Util.h" #include "../Params/FilterParams.h" #include "../Misc/Allocator.h" #define rObject EffectMgr static const rtosc::Ports local_ports = { rSelf(EffectMgr), rPaste, rRecurp(filterpars, "Filter Parameter for Dynamic Filter"), {"parameter#128::i", rProp(alias) rDoc("Parameter Accessor"), NULL, [](const char *msg, rtosc::RtData &d) { EffectMgr *eff = (EffectMgr*)d.obj; const char *mm = msg; while(!isdigit(*mm))++mm; if(!rtosc_narguments(msg)) d.reply(d.loc, "i", eff->geteffectparrt(atoi(mm))); else { eff->seteffectparrt(atoi(mm), rtosc_argument(msg, 0).i); d.broadcast(d.loc, "i", eff->geteffectparrt(atoi(mm))); }