Mostly for Julian, I suppose:
Is there any particular reason you're not using the hardware-assisted double-buffering mode for I2S DMA transfer? As I understand the code, you're juggling the pointers manually and resetting the DMA peripheral every time the DMA interrupt is raised, but as far as I understand the ST docs, it can do this exact thing in hardware using the two memory addresses for each DMA stream? You could simplify the ISR quite a bit I think, but maybe there's a reason to do it this way?
Comments
I think I tried it in the beginning, but could not get it to work propperly.
But I can't remember what the problem was.
in general you are right.
There is a mode with automatic pointer incrementation.
I save the program so far in the official version. Also that the last constellation like external sync and midi filters are not stored automatically if I disconnect the LXR from Power.
what would be the best point to do an autosave for the global parameters? when leaving the globals menu?