LFO re-trigger issue

I have an issue with a square LFO 0-127. I try to re-trigger on Start. When it was previously stopped on 0, it’s ok. But when you stop-start on 127, it continues:
Stop on 127, NOK

Stop on 0, OK:

If the last value the LFO produced did not change (like the last value sent was CC #3 127, and it’s supposed to produce another CC #3 127), it won’t make an update, as the control is essentially still at the same position. It will produce the next update of a different value at the correct moment.

Why would you want a duplicate value to be sent on start if it is not supposed to change yet?

I thought it’s the behavior of Retrigger. I want to set a synced timer on bar where 127 can be mapped to Start.
But, something I don’t understand, is why when stopped on 127 (before bar ends) it continues, when where stopped on 0 (before bar ends), it immediately sends 127?
Edit: OK, I understand it retriggers correctly on 127 but doesn’t display because it’s already on 127… But, I still need an init value on Start lfo…

There’s a trick possible using virtual mappings to make Start messages produce a CC #3 127 message, but only if the CC LFO was at 127 before. If it was at 0, it will not produce a duplicate CC #3 127, thanks to a virtual mapping of Transform’s Bypass parameter:

image

CC LFO 127 on Start always.mhp (389 Bytes)

Adjust the Filter and Clock pipes as needed. If you change the Virtual A pipes, make sure to update the mapping in the Transform pipe too.

Note the Phase of the LFO was shifted by 180 degrees and Rescale pipes was used to flip it back over, this was necessary to achieve the correct logic levels for the Bypass param to be enabled and disabled at the required times.

Monitor the last “TO MIDI A” pipe to observe its behavior whenever Start and Stop messages are sent.