예제 #1
0
    // see Hv_granularLoop_AudioLib.Parameter for definitions
    public float GetFloatParameter(Hv_granularLoop_AudioLib.Parameter param)
    {
        switch (param)
        {
        case Parameter.Feedback: return(feedback);

        case Parameter.Gain: return(gain);

        case Parameter.Transpsign: return(transpSign);

        case Parameter.Transposition: return(transposition);

        case Parameter.Windowwidth: return(windowWidth);

        default: return(0.0f);
        }
    }
예제 #2
0
    public void SetFloatParameter(Hv_granularLoop_AudioLib.Parameter param, float x)
    {
        switch (param)
        {
        case Parameter.Feedback: {
            x        = Mathf.Clamp(x, 0.0f, 0.99f);
            feedback = x;
            break;
        }

        case Parameter.Gain: {
            x    = Mathf.Clamp(x, 0.0f, 10.0f);
            gain = x;
            break;
        }

        case Parameter.Transpsign: {
            x          = Mathf.Clamp(x, -1.0f, 1.0f);
            transpSign = x;
            break;
        }

        case Parameter.Transposition: {
            x             = Mathf.Clamp(x, 1.0f, 48.0f);
            transposition = x;
            break;
        }

        case Parameter.Windowwidth: {
            x           = Mathf.Clamp(x, 200.0f, 30000.0f);
            windowWidth = x;
            break;
        }

        default: return;
        }
        if (IsInstantiated())
        {
            _context.SendFloatToReceiver((uint)param, x);
        }
    }