MCPcopy Create free account
hub / github.com/StrangeLoopsAudio/gRainbow / MasterPanel

Method MasterPanel

Source/Components/MasterPanel.cpp:15–119  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13#include "Utils/Colour.h"
14
15MasterPanel::MasterPanel(Parameters& parameters, foleys::LevelMeterSource& meterSource)
16: mParameters(parameters),
17mCurSelectedParams(parameters.getSelectedParams()),
18mParamColour(Utils::Colour::GLOBAL),
19mSliderGain(mParameters, ParamCommon::Type::GAIN),
20mSliderMacro1(mParameters, mParameters.global.macros[0].macro),
21mSliderMacro2(mParameters, mParameters.global.macros[1].macro),
22mSliderMacro3(mParameters, mParameters.global.macros[2].macro),
23mSliderMacro4(mParameters, mParameters.global.macros[3].macro),
24mBtnMapMacro1(mParameters, mParameters.global.macros[0]),
25mBtnMapMacro2(mParameters, mParameters.global.macros[1]),
26mBtnMapMacro3(mParameters, mParameters.global.macros[2]),
27mBtnMapMacro4(mParameters, mParameters.global.macros[3]) {
28 juce::Colour colour = Utils::Colour::GLOBAL;
29
30 // Titles
31 mLabelTitle.setText("master", juce::dontSendNotification);
32 mLabelTitle.setColour(juce::Label::ColourIds::textColourId, colour);
33 mLabelTitle.setJustificationType(juce::Justification::centred);
34 addAndMakeVisible(mLabelTitle);
35 mLabelMacros.setText("macros", juce::dontSendNotification);
36 mLabelMacros.setColour(juce::Label::ColourIds::textColourId, mParameters.global.macros[0].colour);
37 mLabelMacros.setJustificationType(juce::Justification::centred);
38 addAndMakeVisible(mLabelMacros);
39
40 // Meter
41 mMeter.setMeterSource(&meterSource);
42 mMeter.setLookAndFeel(&mMeterLookAndFeel);
43 mMeterLookAndFeel.setColour(foleys::LevelMeter::lmMeterOutlineColour, juce::Colours::transparentBlack);
44 mMeterLookAndFeel.setColour(foleys::LevelMeter::lmMeterBackgroundColour, Utils::Colour::BACKGROUND);
45 addAndMakeVisible(mMeter);
46
47 // Default slider settings
48 std::vector<std::reference_wrapper<juce::Slider>> sliders = { mSliderGain, mSliderMacro1, mSliderMacro2, mSliderMacro3, mSliderMacro4 };
49 for (auto& slider : sliders) {
50 slider.get().setNumDecimalPlacesToDisplay(2);
51 slider.get().setPopupDisplayEnabled(true, true, this);
52 addAndMakeVisible(slider.get());
53 }
54
55 // Macro slider settings
56 std::vector<std::reference_wrapper<ParamSlider>> macroSliders = {mSliderMacro1, mSliderMacro2, mSliderMacro3, mSliderMacro4};
57 int i = 0;
58 for (auto& slider : macroSliders) {
59 slider.get().setColour(juce::Slider::ColourIds::rotarySliderOutlineColourId, mParameters.global.macros[i].colour);
60 i++;
61 }
62 mSliderGain.setTextValueSuffix(" dB");
63 mSliderGain.setRange(ParamRanges::GAIN.start, ParamRanges::GAIN.end, 0.01);
64 mSliderGain.setDoubleClickReturnValue(true, ParamDefaults::GAIN_DEFAULT);
65 mSliderMacro1.setRange(ParamRanges::MACRO.start, ParamRanges::MACRO.end, 0.01);
66 mSliderMacro1.setDoubleClickReturnValue(true, ParamDefaults::MACRO_DEFAULT);
67 mSliderMacro2.setRange(ParamRanges::MACRO.start, ParamRanges::MACRO.end, 0.01);
68 mSliderMacro2.setDoubleClickReturnValue(true, ParamDefaults::MACRO_DEFAULT);
69 mSliderMacro3.setRange(ParamRanges::MACRO.start, ParamRanges::MACRO.end, 0.01);
70 mSliderMacro3.setDoubleClickReturnValue(true, ParamDefaults::MACRO_DEFAULT);
71 mSliderMacro4.setRange(ParamRanges::MACRO.start, ParamRanges::MACRO.end, 0.01);
72 mSliderMacro4.setDoubleClickReturnValue(true, ParamDefaults::MACRO_DEFAULT);

Callers

nothing calls this directly

Calls 4

getFontFunction · 0.85
getSelectedParamsMethod · 0.80
addListenerMethod · 0.80

Tested by

no test coverage detected