For square waves you have the concept of a_duty cycle_which changes the timbre.
It’d be nice if you could set up a macro in the Renoise instrument editor to control this.
As far as I can tell, you can’t currently assign the loop end point to a macro, but if you could, I think you should be able to compensate pitch and have a nice duty cycle control.
I imagine this should work not just for square waves, but for any short sample whose last half is 0.