Currently, waves are hardcoded to 16 bit integer mono, with 10 mipmap levels. (This will soon change to 32 bit float; see #351.)
This is probably a good starting point for simplicity and flexibility, especially for the original intended use case: Short looping oscillator and "granule" waveforms. Wave data matches internal DSP sample format, and any channel configuration is built on one or more mono channels.
However, we may want to use interleaved multichannel formats for stereo, 5.1 and whatnot, for a smaller CPU cache footprint, and for longer duration sounds (as in, imported samples/audio tracks), it's also highly desirable to have the option of using alternative sample formats (16 bit, ADPCM, ...), and to reduce or disable mipmapping.
Currently, waves are hardcoded to 16 bit integer mono, with 10 mipmap levels. (This will soon change to 32 bit float; see #351.)
This is probably a good starting point for simplicity and flexibility, especially for the original intended use case: Short looping oscillator and "granule" waveforms. Wave data matches internal DSP sample format, and any channel configuration is built on one or more mono channels.
However, we may want to use interleaved multichannel formats for stereo, 5.1 and whatnot, for a smaller CPU cache footprint, and for longer duration sounds (as in, imported samples/audio tracks), it's also highly desirable to have the option of using alternative sample formats (16 bit, ADPCM, ...), and to reduce or disable mipmapping.