The main panel that holds all the modulation routing rows.
| 71 | // The main panel that holds all the modulation routing rows. |
| 72 | // |
| 73 | class ModulationMatrixPanel : public juce::Component, |
| 74 | public juce::Button::Listener |
| 75 | { |
| 76 | public: |
| 77 | ModulationMatrixPanel(FireAudioProcessor& p); |
| 78 | ~ModulationMatrixPanel() override; |
| 79 | |
| 80 | void paint(juce::Graphics& g) override; |
| 81 | void resized() override; |
| 82 | |
| 83 | // Rebuilds the UI from the processor's data model |
| 84 | void buildUiFromProcessorState(); |
| 85 | |
| 86 | private: |
| 87 | void buttonClicked(juce::Button* button) override; |
| 88 | FireAudioProcessor& processor; |
| 89 | |
| 90 | ModulationMatrixHeader header; |
| 91 | std::vector<std::unique_ptr<ModulationMatrixRow>> rows; |
| 92 | juce::TextButton addButton { "+" }; |
| 93 | juce::TextButton closeButton { "Close" }; |
| 94 | |
| 95 | juce::Viewport viewport; |
| 96 | juce::Component contentComponent; |
| 97 | }; |
nothing calls this directly
no outgoing calls
no test coverage detected