ok, I can only speak of the factory object , math/glide , as no idea what community objects do
but you don't need to give two values to a glide, it glides from where it currently is, to the new value supplied , with the time given. (math/glide uses an exp curve for this)
usually use is just to put it in front of the oscillator pitch...
it doesn't care about high/low ,
if you want this logic, then you need to keep the previous value, and then compare it, use that into a mux to decide if you want to use the gliding value, or the value directly.
note: theres a little bit of 'additional complexity' , since you only want this check to happen on receipt of note_on, i.e gate transition, but I'll leave you to play with that
(its quite an interesting thing for you to 'solve', as it'll teach you something about 'conditional' logic in dsp, and the way that its not if/then/else like in normal programming, rather opening 'gates' to the required signal flow - which is why mux is such an important object)