Sorry, Harrison, but it feels a bit like we are talking two different languages.
My sketch already has colour stuff in it and, for most practical purposes the loop() function is already full. And the style of your approach is entirely at odds with mine.
I don't get the impression your code is designed to work with the sketch I posted in Reply #63.
You have several lines in your code such as WaitForPushButtons; That is not valid Arduino code.
More importantly, the way I have structured the code in loop() in my sketch the buttons are read in a separate readButtons() function. I have deliberately separated the reading of buttons from the code that decides what to do with their values.
Of course you are under no obligation to use my code, but I don't plan to figure out a different way to do it.
This is not a trivial project and it will be difficult to get it working and proved unless it is approached systematically.
By the way I know my sketch is missing stuff and (because I don't know exactly what you want to do) it probably has silly mistakes in it. Feel free to point these out - I hardly ever write code without silly mistakes so I won't be offended. The problem in this case is that I can't try out the code and find the mistakes myself.
...R