public void SetFloatParameter(Hv_osc_wavetable_single_AudioLib.Parameter param, float x)
    {
        switch (param)
        {
        case Parameter.Amp: {
            x   = Mathf.Clamp(x, 0.0f, 1.0f);
            amp = x;
            break;
        }

        case Parameter.Cvampamt: {
            x        = Mathf.Clamp(x, 0.0f, 1.0f);
            cvAmpAmt = x;
            break;
        }

        case Parameter.Cvfreqamt: {
            x         = Mathf.Clamp(x, 0.0f, 1.0f);
            cvFreqAmt = x;
            break;
        }

        case Parameter.Freqcoarse: {
            x          = Mathf.Clamp(x, 0.0f, 1.0f);
            freqCoarse = x;
            break;
        }

        case Parameter.Freqfine: {
            x        = Mathf.Clamp(x, 0.0f, 1.0f);
            freqFine = x;
            break;
        }

        case Parameter.Lfoon: {
            x     = Mathf.Clamp(x, 0.0f, 1.0f);
            lfoOn = x;
            break;
        }

        default: return;
        }
        if (IsInstantiated())
        {
            _context.SendFloatToReceiver((uint)param, x);
        }
    }
    // see Hv_osc_wavetable_single_AudioLib.Parameter for definitions
    public float GetFloatParameter(Hv_osc_wavetable_single_AudioLib.Parameter param)
    {
        switch (param)
        {
        case Parameter.Amp: return(amp);

        case Parameter.Cvampamt: return(cvAmpAmt);

        case Parameter.Cvfreqamt: return(cvFreqAmt);

        case Parameter.Freqcoarse: return(freqCoarse);

        case Parameter.Freqfine: return(freqFine);

        case Parameter.Lfoon: return(lfoOn);

        default: return(0.0f);
        }
    }