When changing the sample end by sending CC17 values, I noticed that the sample end is determined using absolute mode. I think it would be much more useful to determine the sample end by projecting the CC value to the range of the current start and the absolute end of the sample.
I think that philosophy is applied to the loop start in the current implementation. There the range is between the current sample start and sample end.
Edit: Maybe the same is wanted for the sample start range. I have not tested this, but if it is absolute too, please adjust the range to absolute start until current sample end locator.