AnalogTapeModel

Physical modelling signal processing for analog tape recording
Log | Files | Refs | Submodules | README | LICENSE

MixGroupViz.h (1516B)


      1 #ifndef MIXGROUPVIZ_H_INCLUDED
      2 #define MIXGROUPVIZ_H_INCLUDED
      3 
      4 #include "../../MixGroups/MixGroupsController.h"
      5 #include <JuceHeader.h>
      6 
      7 class MixGroupViz : public Component,
      8                     private AudioProcessorParameter::Listener,
      9                     private AsyncUpdater
     10 {
     11 public:
     12     MixGroupViz (AudioProcessorParameter* mixGroupParam);
     13     ~MixGroupViz() override;
     14 
     15     void parameterValueChanged (int parameterIndex, float newValue) override;
     16     void parameterGestureChanged (int, bool) override {}
     17     void paint (Graphics& g) override;
     18     void setMixGroupColour (int mixGroupIdx);
     19 
     20 private:
     21     void handleAsyncUpdate() override;
     22     void mixGroupChanged();
     23 
     24     Colour circleColour;
     25     AudioProcessorParameter* mixGroupParam;
     26 
     27     int newMixGroupIndex = 0;
     28 
     29     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MixGroupViz)
     30 };
     31 
     32 class MixGroupVizItem : public foleys::GuiItem
     33 {
     34 public:
     35     FOLEYS_DECLARE_GUI_FACTORY (MixGroupVizItem)
     36 
     37     MixGroupVizItem (foleys::MagicGUIBuilder& builder, const ValueTree& node) : foleys::GuiItem (builder, node),
     38                                                                                 viz (builder.getMagicState().getParameter (MixGroupsConstants::mixGroupParamID))
     39     {
     40         addAndMakeVisible (viz);
     41     }
     42 
     43     void update() override { viz.repaint(); }
     44     Component* getWrappedComponent() override { return &viz; }
     45 
     46 private:
     47     MixGroupViz viz;
     48 
     49     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MixGroupVizItem)
     50 };
     51 
     52 #endif // !MIXGROUPVIZ_H_INCLUDED