public override float dataReturn(Modulator mod)
    {
        var toReturn = gain * Mathf.Sin(phase + mod.getMod());

        if (phase > 2 * Mathf.PI)
        {
            phase = 0;
        }
        return(toReturn);
    }
    public override float dataReturn(Modulator mod)
    {
        var toReturn = -1.0f + (gain * phase) + mod.getMod();

        if (phase > 2)
        {
            phase = 0;
            //Debug.Log("Resetting phase");
        }
        return(toReturn);
    }
    public override float dataReturn(Modulator mod)
    {
        var triPhase = phase + mod.getMod();

        if (triPhase > 1)
        {
            triPhase = 1.0f - (triPhase - 1);
        }
        var toReturn = -1.0f + (2 * gain * triPhase);

        //Debug.Log(toReturn);
        if (phase > 2)
        {
            phase = 0;
        }
        return(toReturn);
    }
 public virtual void increment(Modulator mod)
 {
     //mod.increment ();
     phase += inc + mod.getMod();
 }