Vital
Loading...
Searching...
No Matches
line_map_editor.h
Go to the documentation of this file.
1#pragma once
2
3#include "JuceHeader.h"
4
5#include "line_generator.h"
6#include "open_gl_image.h"
7#include "line_editor.h"
8#include "synth_lfo.h"
9#include "synth_module.h"
10
20class LineMapEditor : public LineEditor {
21public:
23 static constexpr float kTailDecay = 0.93f;
24
30 LineMapEditor(LineGenerator* line_source, String name);
31
35 virtual ~LineMapEditor();
36
43 void parentHierarchyChanged() override;
44
50 virtual void render(OpenGlWrapper& open_gl, bool animate) override;
51
56 void setAnimate(bool animate) { animate_ = animate; }
57
58private:
59 const vital::StatusOutput* raw_input_;
60 bool animate_;
61 vital::poly_float last_phase_;
62
63 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(LineMapEditor)
64};
A GUI component for editing and visualizing a user-defined line shape (curve or envelope).
Definition line_editor.h:27
A class for generating and storing a line shape, defined by a series of points and associated powers.
Definition line_generator.h:20
A specialized LineEditor that visualizes and optionally animates a line-to-value mapping.
Definition line_map_editor.h:20
virtual void render(OpenGlWrapper &open_gl, bool animate) override
Renders the line map with optional animation.
Definition line_map_editor.cpp:32
void setAnimate(bool animate)
Enables or disables animation in the line map editor.
Definition line_map_editor.h:56
static constexpr float kTailDecay
Decay factor for reducing line boost effects over time (for animation smoothing).
Definition line_map_editor.h:23
virtual ~LineMapEditor()
Destructor.
Definition line_map_editor.cpp:21
LineMapEditor(LineGenerator *line_source, String name)
Constructs the LineMapEditor.
Definition line_map_editor.cpp:8
void parentHierarchyChanged() override
Called when the component’s parent hierarchy changes.
Definition line_map_editor.cpp:23
A helper class to track the "status" of a particular Output as a poly_float value.
Definition synth_module.h:35
A helper struct containing references to OpenGL context, shaders, and display scale.
Definition shaders.h:174
Represents a vector of floating-point values using SIMD instructions.
Definition poly_values.h:600
Defines the SynthModule class which extends ProcessorRouter to form a building block of the Vital syn...