(Help) Switch between Ambilight sketch and other Fastled effects

Hello everyone, I've been using fastled and ambilight code(the original one) and things work without problem
Now I want to do something more than that because there's many arduino pins that unused
I found some fastled examples LED effects and I want to make those effects run after I press a button (that use a digital pin) and cycling til the end then back to main mode ambilight (ambilight is the start up mode)
like this

mode 1: ambilight (push)->mode2:rainbow->(Push)->mode3:fade......
each mode keep running until the button is pushed
which library can I use?
I was digging around on google and found some problem about delay and timming

give me a solution
thanks all

which library can I use?

The ones you already have?

I was digging around on google and found some problem about delay and timming

And what were those problems, and why do you think them insurmountable?