It's a bit hack-y - the FFT updates every frame (including the offset into the loaded audio buffer), so I snuck the updating of the audio buffer itself into that same function. They should be in a single function, but calling that GetFFT() is a bit opaque. Anyway, it works for now!
Cheers Evan
