[polygate~] can do what [selector~] does and then some. The patches posted above work more in line with [selector~]. [polygate~] is probably more computationally expensive than the above patches, so unless all that crossfading is necessary, your probably better off with something like what we gave you.
As for [groove~], it can also be made in Pd, though it would definitely require a little more craftiness than [selector~]! It shouldn't be too difficult though. It's mainly a table being looked up with [phasor~] + [tabread4~] with the [phasor~] being scaled within loop points.
By the way, if you're not already aware, you can look at Max/MSP's documentation online here:
http://www.cycling74.com/docs/max5/vignettes/intro/docintro.html
It might help a little.