MCPcopy Create free account
hub / github.com/jerryuhoo/Fire / ModulationMatrixRow

Method ModulationMatrixRow

Source/Panels/ControlPanel/ModulationMatrixPanel.cpp:58–160  ·  view source on GitHub ↗

============================================================================== ModulationMatrixRow Implementation ==============================================================================

Source from the content-addressed store, hash-verified

56// ModulationMatrixRow Implementation
57//==============================================================================
58ModulationMatrixRow::ModulationMatrixRow(FireAudioProcessor& p, int routingIndex, std::function<void()> onDelete)
59 : processor(p), index(routingIndex), onDeleteCallback(onDelete)
60{
61 setLookAndFeel(&fireLookAndFeel);
62 // SOURCE MENU
63 addAndMakeVisible(sourceMenu);
64 for (int i = 1; i <= 4; ++i)
65 sourceMenu.addItem("LFO " + juce::String(i), i);
66 sourceMenu.setSelectedId(processor.getLfoManager().getModulationRoutings()[index].sourceLfoIndex + 1, juce::dontSendNotification);
67 sourceMenu.addListener(this);
68 sourceMenu.setColour(juce::ComboBox::backgroundColourId, COLOUR6);
69 sourceMenu.setColour(juce::ComboBox::outlineColourId, COLOUR7);
70 sourceMenu.setColour(juce::ComboBox::textColourId, COLOUR1);
71
72 // AMOUNT SLIDER
73 addAndMakeVisible(amountSlider);
74 amountSlider.setRange(-1.0, 1.0, 0.01);
75 amountSlider.setValue(processor.getLfoManager().getModulationRoutings()[index].depth, juce::dontSendNotification);
76 amountSlider.setSliderStyle(juce::Slider::LinearHorizontal);
77 amountSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 60, 20);
78 amountSlider.setScrollWheelEnabled(false);
79 amountSlider.addListener(this);
80
81 // BIPOLAR BUTTON
82 addAndMakeVisible(bipolarButton);
83 bipolarButton.setComponentID("rounded");
84 bipolarButton.setColour(juce::TextButton::buttonColourId, COLOUR6);
85 bipolarButton.setColour(juce::TextButton::buttonOnColourId, COLOUR6);
86 bipolarButton.setColour(juce::TextButton::textColourOnId, COLOUR1);
87 bipolarButton.setColour(juce::TextButton::textColourOffId, COLOUR1);
88 bipolarButton.setColour(juce::ComboBox::outlineColourId, COLOUR6);
89 bipolarButton.setClickingTogglesState(true);
90 bipolarButton.setToggleState(processor.getLfoManager().getModulationRoutings()[index].isBipolar, juce::dontSendNotification);
91 bipolarButton.setButtonText(bipolarButton.getToggleState() ? "Bi" : "Uni");
92 bipolarButton.onStateChange = [this]
93 {
94 bipolarButton.setButtonText(bipolarButton.getToggleState() ? "Bi" : "Uni");
95 processor.getLfoManager().getModulationRoutings().getReference(index).isBipolar = bipolarButton.getToggleState();
96 };
97
98 // BYPASS BUTTON
99 addAndMakeVisible(bypassButton);
100 bypassButton.setComponentID("rounded");
101 bypassButton.setColour(juce::TextButton::buttonColourId, COLOUR6);
102 bypassButton.setColour(juce::TextButton::buttonOnColourId, COLOUR6);
103 bypassButton.setColour(juce::TextButton::textColourOnId, COLOUR1);
104 bypassButton.setColour(juce::TextButton::textColourOffId, COLOUR1);
105 bypassButton.setColour(juce::ComboBox::outlineColourId, COLOUR6);
106 bypassButton.setClickingTogglesState(true);
107 bypassButton.setToggleState(processor.getLfoManager().getModulationRoutings()[index].isBypassed, juce::dontSendNotification);
108 bypassButton.setButtonText(bypassButton.getToggleState() ? "On" : "Off");
109 bypassButton.onStateChange = [this]
110 {
111 bypassButton.setButtonText(bypassButton.getToggleState() ? "On" : "Off");
112 processor.getLfoManager().getModulationRoutings().getReference(index).isBypassed = bypassButton.getToggleState();
113 };
114
115 // === DESTINATION MENU ===

Callers

nothing calls this directly

Calls 2

getAllModulatableTargetsFunction · 0.85
addListenerMethod · 0.80

Tested by

no test coverage detected