[Pcloud]StimProducer: Impl addAttachedStimBuffIfNotExists

Reduces code duplication, centralizes checking and enforces consistent
behaviour across producers.

Also reordered the writes to the sh_ptr<StimulusBuffer>s such that
the pointers are written last.
This commit is contained in:
2025-11-23 23:10:20 -04:00
parent 617020b534
commit b0df1ef3d0
3 changed files with 28 additions and 3 deletions
@@ -265,8 +265,8 @@ std::cout << __func__ << ": $$$$$$$ Creating MeshStimulusBuffer" << std::endl;
std::cout << __func__ << ": $$$$$$$ Created MeshStimulusBuffer" << std::endl;
this->stop();
addAttachedStimulusBufferIfNotExists(meshBuffer);
meshStimulusBuffer = meshBuffer;
attachedStimulusBuffers.push_back(meshBuffer);
this->start();
return meshBuffer;
}
@@ -288,8 +288,8 @@ std::cout << __func__ << ": $$$$$$$ Creating PcloudIntensityStimulusBuffer" << s
std::cout << __func__ << ": $$$$$$$ Created PcloudIntensityStimulusBuffer" << std::endl;
this->stop();
addAttachedStimulusBufferIfNotExists(intensityBuffer);
intensityStimulusBuffer = intensityBuffer;
attachedStimulusBuffers.push_back(intensityBuffer);
this->start();
return intensityBuffer;
}
@@ -321,8 +321,8 @@ std::cout << __func__ << ": $$$$$$$ Created PcloudIntensityStimulusBuffer" << st
std::cout << __func__ << ": $$$$$$$ Created PcloudAmbienceStimulusBuffer" << std::endl;
this->stop();
addAttachedStimulusBufferIfNotExists(ambienceBuffer);
ambienceStimulusBuffer = ambienceBuffer;
attachedStimulusBuffers.push_back(ambienceBuffer);
this->start();
return ambienceBuffer;
}