
AUDIO RECORDER
--------------

Records the incoming live audio to a standard ED BLOB sample.

Gate when activated starts the recording process.
Once Gate returns inactive, the recorded sample is transmitted to the DSP BLOB output, to the GUI BLOB output (for storage to a Patch Memory) or to both outputs, depending on the Enable Out setting.

For convenience, the recording length (in sample frames) is also transmitted to both Length pins.


ABOUT MEMORY ALLOCATION
-----------------------

Since the final length of the recorded sample can't be known in advance, a memory buffer is dynamically allocated with a minimal chunk size specified with the Chunk Size pin. Every time the buffer is exceeded while recording, an additional chunk of the same size is allocated on the fly.
Since dynamic allocation and relocation can constitute a CPU overhead, depending on the architecture and on the available RAM, it is advisable to set Chunk Size intelligently. A larger chunk has less chances of being exceeded while recording, but once this happens, allocating new memory and copying the previous buffer content to it can be expensive. A smaller chunk size has more chances of being exceeded and more frequent relocations will occur while recording, but they are surely less CPU expensive.
Again, plan your chunk size carefully. Also, how much such relocations can be expensive or not depends on how std::vector.resize() gets implemented on the target architecture.

