this could result in endFrameN < beginFrameN
this is currently guarded against with the following caveat:
- beginFrameN is fixed
- triggers are ignored unless
currentFrameN >= beginFrameN + (SampleRate * MINIMUM_LOOP_DURATION)
TODO: when base loop (endFrameN <= beginFrameN) copy beginFrameN upto RolloverFrameN then 0 upto endFrameN