The “making of” series continues with part 3 of the Match Envelope VST plug-in, where I work to solve some UI issues that crop up in the face of fairly limited offline processing support.  In addition, this series has concluded with Part 5 recently posted, which you can navigate to through following the links within part 3.

The crux of the problem stems from the offline-only capability of the Match Envelope plug-in.  Similar to processes like normalization, where the entire audio buffer needs to be scanned to determine its peak before scanning it a second time to apply it, I need to scan the entire audio buffer (or at least as much as the user has selected) in order to get the envelope profile before then applying that onto a different audio buffer.