You have quite different behavior when the first three if tests are true. The action for one channel should be completely independent of the action for the other channels, I would think.
if(currentTime3 >= (loopTime3 +2000))
{
{
{
Really, now one { is enough.