21#include <JuceHeader.h>
24#include "../MemaProcessor/MemaCommanders.h"
33class MeterbridgeComponent;
43 public juce::TextButton::Listener
50 void paint (Graphics&)
override;
60 void setOutputMute(std::uint16_t channel,
bool muteState,
int userId = -1)
override;
75 std::unique_ptr<MeterbridgeComponent> m_outputLevels;
76 std::map<std::uint16_t, std::unique_ptr<TextButton>> m_outputMutes;
77 std::uint16_t m_channelCount = 0;
79 static constexpr int s_channelSize = 24;
80 static constexpr double s_channelGap = 1;
Base class for all audio-data visualisation components in the Mema processor editor.
Base class for all data objects exchanged between the audio processor and its analyzers/visualisers.
Output-channel control strip — shows level meters and mute buttons for all output channels.
~OutputControlComponent()
void setOutputMute(std::uint16_t channel, bool muteState, int userId=-1) override
virtual void processChanges() override
Called on the message thread to update cached data before repainting.
void setChannelCount(std::uint16_t channelCount) override
void paint(Graphics &) override
void buttonClicked(juce::Button *) override
std::function< void()> onBoundsRequirementChange
juce::Rectangle< int > getRequiredSize()
void processingDataChanged(AbstractProcessorData *data) override