To add...
Historically there are two other ways to do this, both deal with sample offsets.
One is to do this in a tracker such as
Renoise.
The other is loading up the same drumloop in a sampler such as Kontakt, mapping it accross a range of keys, but setting up loop points so that each consecutive key triggers the loop from the next hit on. So for example if you had a one bar loop of:
k-------k--k----
----s-------s---
--h---h--h----h-
where k = kick, s = snare, h = closed hat, - = 1/16 rest, you'd set your loop points so that the first key would trigger the entire loop, the second key would trigger the loop starting with the first hat onwards, the third key would trigger the loop starting from the first snare onwards, ect.
This gives you a great flexibility on triggering the loop from whatever point you wish, doing stutters by repeating the key say on 1/64 notes, etc. If your sampler allows you to assign a MIDI CC controller to sample loop points, even better, then you can mess with those while the note is playing to a great effect!
It is in fact a lot simpler than you think. Don't think in tedium
Just jam. And don't listen to those "real" drummers