| 13 | #include "Utils/Colour.h" |
| 14 | |
| 15 | MasterPanel::MasterPanel(Parameters& parameters, foleys::LevelMeterSource& meterSource) |
| 16 | : mParameters(parameters), |
| 17 | mCurSelectedParams(parameters.getSelectedParams()), |
| 18 | mParamColour(Utils::Colour::GLOBAL), |
| 19 | mSliderGain(mParameters, ParamCommon::Type::GAIN), |
| 20 | mSliderMacro1(mParameters, mParameters.global.macros[0].macro), |
| 21 | mSliderMacro2(mParameters, mParameters.global.macros[1].macro), |
| 22 | mSliderMacro3(mParameters, mParameters.global.macros[2].macro), |
| 23 | mSliderMacro4(mParameters, mParameters.global.macros[3].macro), |
| 24 | mBtnMapMacro1(mParameters, mParameters.global.macros[0]), |
| 25 | mBtnMapMacro2(mParameters, mParameters.global.macros[1]), |
| 26 | mBtnMapMacro3(mParameters, mParameters.global.macros[2]), |
| 27 | mBtnMapMacro4(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); |
nothing calls this directly
no test coverage detected