Vital
Loading...
Searching...
No Matches
wave_warp_overlay.h
Go to the documentation of this file.
1#pragma once
2
3#include "JuceHeader.h"
6
16public:
23
32 virtual void frameSelected(WavetableKeyframe* keyframe) override;
33
40 virtual void frameDragged(WavetableKeyframe* keyframe, int position) override { }
41
49 virtual void setEditBounds(Rectangle<int> bounds) override;
50
58 void sliderValueChanged(Slider* moved_slider) override;
59
67 void sliderDragEnded(Slider* moved_slider) override;
68
76 void buttonClicked(Button* clicked_Button) override;
77
86 warp_modifier_ = warp_modifier;
87 current_frame_ = nullptr;
88 }
89
90protected:
93
94 std::unique_ptr<SynthSlider> horizontal_warp_;
95 std::unique_ptr<SynthSlider> vertical_warp_;
96 std::unique_ptr<OpenGlToggleButton> horizontal_asymmetric_;
97 std::unique_ptr<OpenGlToggleButton> vertical_asymmetric_;
98
99 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(WaveWarpOverlay)
100};
A keyframe class holding horizontal and vertical warp parameters at a given position.
Definition wave_warp_modifier.h:35
A WavetableComponent that applies nonlinear horizontal and vertical warping to a waveform.
Definition wave_warp_modifier.h:24
An overlay interface component for modifying wave warp parameters in a wavetable editor.
Definition wave_warp_overlay.h:15
virtual void frameDragged(WavetableKeyframe *keyframe, int position) override
Called when a keyframe is dragged, not implemented in this overlay.
Definition wave_warp_overlay.h:40
std::unique_ptr< SynthSlider > horizontal_warp_
Slider controlling horizontal warp amount.
Definition wave_warp_overlay.h:94
WaveWarpModifier::WaveWarpModifierKeyframe * current_frame_
Currently selected keyframe's data.
Definition wave_warp_overlay.h:92
std::unique_ptr< OpenGlToggleButton > horizontal_asymmetric_
Toggle for horizontal asymmetry.
Definition wave_warp_overlay.h:96
virtual void setEditBounds(Rectangle< int > bounds) override
Sets the bounds for the overlay's editable UI area.
Definition wave_warp_overlay.cpp:78
virtual void frameSelected(WavetableKeyframe *keyframe) override
Called when a new keyframe is selected.
Definition wave_warp_overlay.cpp:60
void setWaveWarpModifier(WaveWarpModifier *warp_modifier)
Sets the WaveWarpModifier this overlay controls.
Definition wave_warp_overlay.h:85
void sliderDragEnded(Slider *moved_slider) override
Called when a slider drag ends.
Definition wave_warp_overlay.cpp:137
void buttonClicked(Button *clicked_Button) override
Called when a button (toggle) state changes.
Definition wave_warp_overlay.cpp:141
WaveWarpOverlay()
Constructs a WaveWarpOverlay with default parameters and UI elements.
Definition wave_warp_overlay.cpp:7
WaveWarpModifier * warp_modifier_
The WaveWarpModifier being controlled by this overlay.
Definition wave_warp_overlay.h:91
std::unique_ptr< SynthSlider > vertical_warp_
Slider controlling vertical warp amount.
Definition wave_warp_overlay.h:95
void sliderValueChanged(Slider *moved_slider) override
Called when a slider value changes.
Definition wave_warp_overlay.cpp:120
std::unique_ptr< OpenGlToggleButton > vertical_asymmetric_
Toggle for vertical asymmetry.
Definition wave_warp_overlay.h:97
A base overlay component for editing and interacting with a wavetable component's parameters.
Definition wavetable_component_overlay.h:22
Represents a single state of a waveform at a specific position in a wavetable.
Definition wavetable_keyframe.h:35