example-plugins icon indicating copy to clipboard operation
example-plugins copied to clipboard

[FR] AnalogEcho in the style of the new wrapper

Open madskjeldgaard opened this issue 5 years ago • 1 comments

Hi! First of all thanks so much for these examples. They are a really great resource when learning about plugins!

I am writing a plugin using the "new" wrapper style based on the AnalogEcho example and most of the code is easily translatable to the new style but I cannot figure out how to set the calculcation function to the output clear function:

    if (unit->buf == NULL) {
        // Avoid retaining AnalogEcho_next as the calculation function.
        SETCALC(ft->fClearUnitOutputs);
        ClearUnitOutputs(unit, 1);

        if(unit->mWorld->mVerbosity > -2) {
            Print("Failed to allocate memory for AnalogEcho ugen.\n");
        }

        return;
    }

I've "translated" the ClearUnitOutputs line to ClearUnitOutputs(this, 1); but how do I translate the SETCALC macro to use set_calc_function ? As a newbie I'm struggling to figure this out

madskjeldgaard avatar Nov 15 '20 11:11 madskjeldgaard

I see that NHHall does it like this:

set_calc_function<NHHall, &NHHall::clear>();

and then define this member function:

    void clear(int inNumSamples) {
        ClearUnitOutputs(this, inNumSamples);
    }

madskjeldgaard avatar Nov 15 '20 11:11 madskjeldgaard