As much as I thought the DSP side was perfect ...

I tried playing around with importing samples last night and thought it would be amazing if the sample function could support single-cycle waveforms. Would it be possible to add looping to user samples?
I think this would be extremely powerful and a major selling point. We could even have samples of a certain length of, say, 2048 samples loop automatically, to keep from cluttering the voice menu/params.
I can work on this if someone gives me some pointers on where to look in the DSP code, I just don't have enough DSP experience to navigate it easily on my own.
Comments
mainboard/LxrStm32/src/DSPAudio/Oscillator.c
there is the function
calcUserSampleOscFmBlock(...)
in the end all you have to do is change the rows
//one shot
if(itg < info.size)
{
osc->phase = oscPhase + osc->phaseInc;
}
to something like
osc->phase = oscPhase + osc->phaseInc;
if(itg >= info.size)
{
osc->phase -= info.size;
}
that should loop the samples
#define INTERPOLATE_OSC 1
#define INTERPOLATE_FM_OSC 1
regarding the ldm ldr stuff.
I never looked into the assembly what gcc is making of the load statement.
i just added this note when I stumbled over the ASM command to load consecutive memory blocks.
not really sure if it is worth it
http://stackoverflow.com/questions/20187093/the-speed-of-arm-assembly-ldm-and-ldr
@brendanclarke Sorry for the minor derailment, let me know if you need a hand
Just came across this incase this ends up happening.