I posted a patch called PM.Pong a while back that may be of interest,
especially if you're looking to do something Brownian. It basically
acts like pong~, but for lists, so it'll do the bouncing off the walls
effect that you're looking for. It's written using vexpr, however, so
you'd need to break up the lists first.