Adam, your example is more complicated because you are using expressions to drive multiple position properties from one single location.
Something like this ought to work for you:
motionLayer = thisComp.layer("Motion Path 1");
keyframeLayer = thisLayer;
keyframeEffectProp = keyframeLayer.effect("Progress")("Slider");
motionLayer.transform.position.valueAtTime(linear(keyframeEffectProp, 0, 100, keyframeEffectProp.key(1).time, keyframeEffectProp.key(keyframeEffectProp.numKeys).time));
The first two lines are important. They set up where the expression will look for position values and our keyframed “Progress” slider.
As written above, leave motionLayer set as it is, and put the animated Progress slider control on each individual layer. If you want to refer to one Progress slider from multiple layers, modify that keyframeLayer reference (line 2) to indicate whatever layer actually has the Progress effect.
Walter Soyka
Designer & Mad Scientist at Keen Live [link]
Motion Graphics, Widescreen Events, Presentation Design, and Consulting
@keenlive | RenderBreak [blog] | Profile [LinkedIn]