36 void mouseDown(
const MouseEvent& e)
override;
40 void mouseUp(
const MouseEvent& e)
override;
44 void mouseDrag(
const MouseEvent& e)
override;
55 Point<float> last_position_;
56 Point<int> mouse_down_position_;
57 std::vector<Listener*> listeners_;
88 void reset()
override;
98 std::unique_ptr<EnvelopeEditor> envelope_;
99 std::unique_ptr<SynthSlider> delay_;
100 std::unique_ptr<SynthSlider> attack_;
101 std::unique_ptr<SynthSlider> attack_power_;
102 std::unique_ptr<SynthSlider> hold_;
103 std::unique_ptr<SynthSlider> decay_;
104 std::unique_ptr<SynthSlider> decay_power_;
105 std::unique_ptr<SynthSlider> sustain_;
106 std::unique_ptr<SynthSlider> release_;
107 std::unique_ptr<SynthSlider> release_power_;
108 std::unique_ptr<DragMagnifyingGlass> drag_magnifying_glass_;
Interface for objects that need to respond to magnification changes.
Definition envelope_section.h:21
virtual void magnifyDragged(Point< float > delta)=0
virtual ~Listener()
Definition envelope_section.h:23
virtual void magnifyDoubleClicked()=0
Called when the magnifying glass is double-clicked.
A draggable magnification control for the envelope editor.
Definition envelope_section.h:17
void mouseUp(const MouseEvent &e) override
Definition envelope_section.cpp:29
void mouseDrag(const MouseEvent &e) override
Definition envelope_section.cpp:40
void mouseDown(const MouseEvent &e) override
Definition envelope_section.cpp:17
void mouseDoubleClick(const MouseEvent &e) override
Definition envelope_section.cpp:51
void addListener(Listener *listener)
Definition envelope_section.h:52
DragMagnifyingGlass()
Constructor.
Definition envelope_section.cpp:13
A graphical editor for envelope shapes with interactive points and power curves.
Definition envelope_editor.h:19
A UI section for configuring and visualizing ADSR envelopes.
Definition envelope_section.h:66
EnvelopeSection(String name, std::string value_prepend, const vital::output_map &mono_modulations, const vital::output_map &poly_modulations)
Definition envelope_section.cpp:58
void magnifyDoubleClicked() override
Called when the magnifying glass is double-clicked. Resets envelope zoom.
Definition envelope_section.cpp:168
virtual ~EnvelopeSection()
Destructor.
Definition envelope_section.cpp:124
void reset() override
Resets the envelope editor to its default positions.
Definition envelope_section.cpp:159
void resized() override
Resizes and lays out child components, including the envelope editor and sliders.
Definition envelope_section.cpp:139
void magnifyDragged(Point< float > delta) override
Definition envelope_section.cpp:164
void paintBackground(Graphics &g) override
Definition envelope_section.cpp:126
Base class for all synthesizer sections, providing UI layout, painting, and interaction logic.
Definition synth_section.h:193
A specialized slider with extended functionality for modulation, parameter control,...
Definition synth_slider.h:314
std::map< std::string, Output * > output_map
Maps parameter names to Output pointers, representing output signals from various modules.
Definition synth_types.h:229