Exemple #1
0
    rParamI(Pharmonicshift, "Amount of shift on harmonics"),
    rToggle(Pharmonicshiftfirst, "If harmonics are shifted before waveshaping/filtering"),
    rOption(Pmodulation, rOptions(None, Rev, Sine, Power),
            "Frequency Modulation To Combined Spectra"),
    rParamZyn(Pmodulationpar1, "modulation parameter"),
    rParamZyn(Pmodulationpar2, "modulation parameter"),
    rParamZyn(Pmodulationpar3, "modulation parameter"),


    //TODO update to rArray and test
    {"phase#128::c:i", rProp(parameter) rLinear(0,127) rDoc("Sets harmonic phase"),
        NULL, [](const char *m, rtosc::RtData &d) {
            const char *mm = m;
            while(*mm && !isdigit(*mm)) ++mm;
            unsigned char &phase = ((OscilGen*)d.obj)->Phphase[atoi(mm)];
            if(!rtosc_narguments(m))
                d.reply(d.loc, "c", phase);
            else
                phase = rtosc_argument(m,0).i;
        }},
    //TODO update to rArray and test
    {"magnitude#128::c:i", rProp(parameter) rLinear(0,127) rDoc("Sets harmonic magnitude"),
        NULL, [](const char *m, rtosc::RtData &d) {
            //printf("I'm at '%s'\n", d.loc);
            const char *mm = m;
            while(*mm && !isdigit(*mm)) ++mm;
            unsigned char &mag = ((OscilGen*)d.obj)->Phmag[atoi(mm)];
            if(!rtosc_narguments(m))
                d.reply(d.loc, "c", mag);
            else {
                mag = rtosc_argument(m,0).i;
Exemple #2
0
#define rObject Config
static const rtosc::Ports ports = {
    //rString(cfg.LinuxOSSWaveOutDev),
    //rString(cfg.LinuxOSSSeqInDev),
    rParamI(cfg.SampleRate, "samples of audio per second"),
    rParamI(cfg.SoundBufferSize, "Size of processed audio buffer"),
    rParamI(cfg.OscilSize, "Size Of Oscillator Wavetable"),
    rToggle(cfg.SwapStereo, "Swap Left And Right Channels"),
    rToggle(cfg.BankUIAutoClose, "Automatic Closing of BackUI After Patch Selection"),
    rParamI(cfg.GzipCompression, "Level of Gzip Compression For Save Files"),
    rParamI(cfg.Interpolation, "Level of Interpolation, Linear/Cubic"),
    {"cfg.presetsDirList", rProp(parameter) rDoc("list of preset search directories"), 0,
        [](const char *msg, rtosc::RtData &d)
        {
            Config &c = *(Config*)d.obj;
            if(rtosc_narguments(msg) != 0) {
                std::string args = rtosc_argument_string(msg);

                //clear everything
                c.clearpresetsdirlist();
                for(int i=0; i<(int)args.size(); ++i)
                    if(args[i] == 's')
                        c.cfg.presetsDirList[i] = rtosc_argument(msg, i).s;
            }

            char         types[MAX_BANK_ROOT_DIRS+1];
            rtosc_arg_t  args[MAX_BANK_ROOT_DIRS];
            size_t       pos    = 0;

            //zero out data
            memset(types, 0, sizeof(types));
Exemple #3
0
#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)));
            }
        }},
    {"preset::i", rProp(alias) rDoc("Effect Preset Selector"), NULL,
        [](const char *msg, rtosc::RtData &d)
        {
            EffectMgr *eff = (EffectMgr*)d.obj;
            if(!rtosc_narguments(msg))
                d.reply(d.loc, "i", eff->getpreset());
            else {
                eff->changepresetrt(rtosc_argument(msg, 0).i);
                d.broadcast(d.loc, "i", eff->getpreset());