Hi everyone,
I’ve gotten into the habit of returning std::pair from functions that should return stereo output values. Here’s an example that sums output from a few different “tracks” of audio:
float left_output = 0;
float right_output = 0;
float track_left_output;
float track_right_output;
for(unsigned int i = 0; i < NUMBER_OF_TRACKS; i++)
{
std::tie(track_left_output, track_right_output) = selected_pattern->tracks[i].getStereoOutput();
left_output += track_left_output;
right_output += track_right_output;
selected_pattern->tracks[i].incrementSamplePosition(args.sampleRate);
}
// Output voltages at stereo outputs
outputs[AUDIO_OUTPUT_LEFT].setVoltage(left_output);
outputs[AUDIO_OUTPUT_RIGHT].setVoltage(right_output);
The function getStereoOutput() returns std::pair<float, float>
Is this good practice, or should I send in references to track_left_output and track_right_output (such as &track_left_output) and populate those variables within the function?
Thanks!
Bret