MCPcopy Create free account
hub / github.com/audacity/audacity / GetEffectStagesImpl

Function GetEffectStagesImpl

libraries/lib-effects/MixAndRender.cpp:171–193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169
170template<typename Host>
171std::vector<MixerOptions::StageSpecification>
172GetEffectStagesImpl(const Host &host)
173{
174 auto &effects = RealtimeEffectList::Get(host);
175 if (!effects.IsActive())
176 return {};
177 std::vector<MixerOptions::StageSpecification> result;
178 for (size_t i = 0, count = effects.GetStatesCount(); i < count; ++i) {
179 const auto pState = effects.GetStateAt(i);
180 if (!pState->IsEnabled())
181 continue;
182 const auto pEffect = pState->GetEffect();
183 if (!pEffect)
184 continue;
185 const auto &settings = pState->GetSettings();
186 if (!settings.has_value())
187 continue;
188 auto &stage = result.emplace_back(MixerOptions::StageSpecification{
189 [pEffect]{ return pEffect->MakeInstance(); },
190 settings });
191 }
192 return result;
193}
194
195std::vector<MixerOptions::StageSpecification>
196GetEffectStages(const WaveTrack& track)

Callers 2

GetEffectStagesFunction · 0.85
GetMasterEffectStagesFunction · 0.85

Calls 9

GetFunction · 0.85
GetStatesCountMethod · 0.80
GetStateAtMethod · 0.80
GetSettingsMethod · 0.80
has_valueMethod · 0.80
IsActiveMethod · 0.45
IsEnabledMethod · 0.45
GetEffectMethod · 0.45
MakeInstanceMethod · 0.45

Tested by

no test coverage detected