72 std::vector<Listener*> listeners_;
73 std::unique_ptr<LogoButton> logo_button_;
162 void reset()
override;
209 void save(File preset)
override;
221 for (
Listener* listener : listeners_)
222 listener->showAboutSection();
252 synth_preset_selector_->setSaveSection(save_section);
281 std::vector<Listener*> listeners_;
283 std::unique_ptr<LogoSection> logo_section_;
284 std::unique_ptr<TabSelector> tab_selector_;
286 std::unique_ptr<PlainTextComponent> temporary_tab_;
287 std::unique_ptr<OpenGlShapeButton> exit_temporary_button_;
289 std::unique_ptr<SynthButton> view_spectrogram_;
290 std::unique_ptr<Oscilloscope> oscilloscope_;
291 std::unique_ptr<Spectrogram> spectrogram_;
292 std::unique_ptr<SynthPresetSelector> synth_preset_selector_;
293 std::unique_ptr<VolumeSection> volume_section_;
Declares the ContentList and BankExporter classes for exporting banks of presets, wavetables,...
A UI component for exporting a selection of presets, wavetables, LFOs, and samples as a bank.
Definition bank_exporter.h:257
Interface for objects that need to respond to logo interactions.
Definition header_section.h:33
virtual void showAboutSection()=0
Called when the logo is clicked and the "About" section should be shown.
virtual ~Listener()
Definition header_section.h:35
A section at the top of the interface displaying the Vital logo.
Definition header_section.h:22
void addListener(Listener *listener)
Registers a listener for the logo interactions.
Definition header_section.h:69
static constexpr float kLogoPaddingY
The vertical padding applied to the logo within its section.
Definition header_section.h:27
void resized() override
Positions the logo button within the section.
Definition header_section.cpp:118
void paintBackground(Graphics &g) override
Paints the background of the logo section.
Definition header_section.cpp:126
LogoSection()
Constructs the LogoSection.
Definition header_section.cpp:106
void buttonClicked(Button *clicked_button) override
Handles button click events. In this case, clicking the logo button.
Definition header_section.cpp:133
Renders a time-domain waveform using OpenGL.
Definition oscilloscope.h:15
A UI for browsing, loading, and organizing presets.
Definition preset_browser.h:413
Interface for objects interested in the result of the save action.
Definition save_section.h:43
A UI overlay for saving presets or other files.
Definition save_section.h:21
void addSaveListener(Listener *listener)
Adds a listener to be notified when saving occurs.
Definition save_section.h:161
Renders a frequency-domain representation (spectrogram) using OpenGL.
Definition oscilloscope.h:64
Interface for components that need to respond to preset selector events.
Definition synth_preset_selector.h:29
Base class for all synthesizer sections, providing UI layout, painting, and interaction logic.
Definition synth_section.h:193
A slider-based UI component that displays selectable tabs.
Definition tab_selector.h:16
A UI section that provides a master volume control and visual peak meters.
Definition volume_section.h:17
A specialized MemoryTemplate for two-channel (stereo) audio.
Definition memory.h:216
std::map< std::string, Value * > control_map
Maps parameter names to Value pointers representing synth control parameters.
Definition synth_types.h:214
Represents a vector of floating-point values using SIMD instructions.
Definition poly_values.h:600
Declares the SynthPresetSelector class, which provides UI elements for selecting, browsing,...