Evaluate() public static method

public static Evaluate ( Waveform wave, float normalizedInput ) : float
wave Waveform
normalizedInput float
return float
Esempio n. 1
0
    public float GetValueWithOffset(float offset, bool clamped)
    {
        float value = Wave.Evaluate(m_Waveform, m_PositionInCycle + m_Phase + offset);

        if (clamped)
        {
            return(Mathf.Clamp01(value));
        }

        return(value);
    }
Esempio n. 2
0
 public float Evaluate(float t)
 {
     return(_vol * (_w1.Evaluate(t) + _w2.Evaluate(t)));
 }
        /*
         * This builds our waveform
         */
        void OnAudioFilterRead(float[] data, int channels)
        {
            // #if UNITY_EDITOR
            //   long started = System.DateTime.Now.Ticks;
            // #endif

            if (playing == true)
            {
                float position  = 0f;
                float pass      = 0f;
                float counter   = 0f;
                bool  d_enable  = Configie.WibbleWobble.Enabled;
                int   limit     = 0;
                int   length    = data.Length;
                float len       = (float)length - 2;
                float max_count = len / channels;

                if (d_enable == true)
                {
                    limit = ((data.Length / 2) * Configie.WibbleWobble.Time.Value) / samples_per_second;

                    if (passes >= limit)
                    {
                        passes = 0;
                    }
                }

                rise_lerp_goal = CalculateAttack();

                for (int i = 0; i < length; i += channels)
                {
                    pass = counter++ / max_count;

                    if (d_enable == true)
                    {
                        position = passes++ / limit;
                    }

                    float rise = SmoothFloatTransition(
                        previous_rise,
                        rise_lerp_goal,
                        pass);

                    DoFastLerps();

                    data[i] = wave.Evaluate(note, octave, rise, position, pass, Configie);

                    if (channels == 2)
                    {
                        data[i + 1] = data[i];
                    }
                }

                DoSlowLerps();

                previous_rise = rise_lerp_goal;

                if (previous_rise == 0f)
                {
                    playing = false;
                }
            }
            // #if UNITY_EDITOR
            //   long finish = System.DateTime.Now.Ticks;
            //
            //   Debug.Log("total wave generation time " + ((finish - started) * 0.0001f));
            // #endif
        }