VarLag classdef: A comment strikes me as incorrect

There is a curious comment in the VarLag class definition: “// Then \exp warp should probably behave as Lag ugen.”

Lag is not the same as exponential mapping, however.

An EnvGen segment with exponential curvature takes the corresponding linear segment and LinExp-s it. So the curvature is always pulling toward the 0 line, in either direction.

Lag operates by “go x% toward the target,” so if new target < old input, the curvature pulls down; if new target > old input, the curvature pulls up.

(
{
	var freq = 20, lagtime = 0.4 / freq;
	var src = LFPulse.kr(freq) + 1;
	var lag = Lag.kr(src, lagtime);
	var explag = VarLag.kr(src, lagtime, warp: \exp);
	var envgen = EnvGen.kr(
		Env([src, src], [lagtime], \exp),
		gate: HPZ1.kr(src).abs
	);
	[lag, explag, envgen]
}.plot(0.25);
)

Or am I missing something?

I kind of think the comment should be deleted – if someone tried to implement it as an optimization, it would break compatibility.

hjh