Buttons changing a value, NOT calling a preset possible?

Is it possible to have a button that cycles through different variables instead of just calling a new preset?

Like I want button 1 to cycle between sped so itd call a new SX value. Say 64, 128, 192, 255.
same thing for colors? Button 2 cycles between all the primary colors?

Is this possible using a usermod? API call?

Check out the API docs. All can be incremented in a preset that gets called by a button press.

Is thier an API command to change all my segments to a new color? Or do I have to do each one individually? would LX work?

"seg":{"col":[[R,G,B],[R,G,B],[R,G,B]]}

I get a syntax error pasting that into the API command box and changing the RGB’s to 0-255 values.