I am trying to write a Demonstration, which I believe means I must write it as a Manipulate, not a DynamicModule. My question is essentially the same as "Dynamic lists as function arguments", but I cannot figure out how to get the answer given there to work inside a Manipulate.
Below is a minimal non-working example that indicates what I am trying to accomplish. Basically, I want to use a HorizontalGauge with a list of two values as a Control object in a manipulate. I first tried using an IntervalSlider, but I need to do some computing with the values of the interval's endpoints and as far as I can tell, the TrackingFunction option does not work with IntervalSlider. At least the function I provided never seemed to get called, whereas functions I provided to Slider the same way work fine.
h[Dynamic[point_], opt___] :=
Dynamic[HorizontalGauge[Dynamic[point][[1]]]]
Manipulate[
{pt},
{{pt, {0.6, 0.7}}, 0, 1, (h[##]) &}
]
The above displays correctly, but does not allow me to move the markers. My intention for taking Part 1 of Dynamic[point] is to get past the Dynamic Head to the list itself. I've tried With[{point=pt},...] and many other arrangements of the Dynamic calls with no luck. I can't believe this fairly common task is so difficult, so I assume I'm missing something obvious.