I'm kinda new to developing audio plugins, so I was wondering what the best way to deal with the processBlock function is concerning floats or doubles. I've seen some code written with templates, but I don't understand what the compatibility issues are. If I'm developing an audio plugin that I want to work in the most formats, should I write it with floats, doubles or both (templates) in mind? I'm asking about the AudioSampleBuffer perspective.
Depends on whether your plugin would ever need to produce 64-bit output, and in most cases the answer is "no", because it rarely makes any noticeable difference to the sound, while using more CPU.
You might want to keep your options open and write it with templates, which will complicate things a bit. But if you don't think any of your users would ever care about 64-bit then the easiest way to do it would be to just use plain old floats.