| 2431 | } |
| 2432 | |
| 2433 | void FireAudioProcessor::assignLfoToTarget(int sourceLfoIndex, const juce::String& targetParameterID) |
| 2434 | { |
| 2435 | lfoManager->assignLfoToTarget(sourceLfoIndex, targetParameterID); |
| 2436 | |
| 2437 | // When the modulation assignment changes, notify the active editor to update its UI |
| 2438 | if (auto* editor = getActiveEditor()) |
| 2439 | { |
| 2440 | // We must cast the generic editor pointer to our specific FireAudioProcessorEditor |
| 2441 | // type to access the triggerAsyncUpdate() method from its AsyncUpdater base class. |
| 2442 | // A dynamic_cast is used for type safety. |
| 2443 | if (auto* fireEditor = dynamic_cast<FireAudioProcessorEditor*>(editor)) |
| 2444 | { |
| 2445 | fireEditor->triggerAsyncUpdate(); |
| 2446 | } |
| 2447 | } |
| 2448 | lfoDataHasChanged(); |
| 2449 | } |
| 2450 | |
| 2451 | void FireAudioProcessor::clearModulationForParameter(const juce::String& targetParameterID) |
| 2452 | { |
nothing calls this directly
no outgoing calls
no test coverage detected