quantumVERB  1.0.0
A FOSS convolution reverb plugin
reverb::AudioProcessorEditor Class Reference

#include <PluginEditor.h>

Inheritance diagram for reverb::AudioProcessorEditor:
Collaboration diagram for reverb::AudioProcessorEditor:

Public Member Functions

 AudioProcessorEditor (AudioProcessor &)
 Constructs an AudioProcessorEditor object associated with an AudioProcessor. More...
 
void paint (juce::Graphics &) override
 
void resized () override
 Manages the layout of AudioProcessorEditor when the window is resized. More...
 
void buttonClicked (juce::Button *button) override
 Callback function to open the popup menu asynchronously. More...
 

Static Public Member Functions

static void menuCallback (int result, UIHeaderBlock *headerBlock)
 Callback function to open the popup menu asynchronously. More...
 

Static Public Attributes

static constexpr double PADDING_REL = 0.02
 

Protected Types

using SliderAttachment = juce::AudioProcessorValueTreeState::SliderAttachment
 
using ButtonAttachment = juce::AudioProcessorValueTreeState::ButtonAttachment
 

Protected Attributes

AudioProcessorprocessor
 
juce::AudioProcessorValueTreeState & parameters
 
LookAndFeel lookAndFeel
 
UIHeaderBlock headerBlock
 
UIGraphBlock graphBlock
 
UIReverbBlock reverbBlock
 
UIFilterBlock lowShelfFilterBlock
 
UIFilterBlock peakLowFilterBlock
 
UIFilterBlock peakHighFilterBlock
 
UIFilterBlock highShelfFilterBlock
 
std::array< UIFilterBlock *, 4 > filterBlocks
 
std::array< juce::String, 4 > filterBlockNames
 

Detailed Description

Implements the plugins UI. This includes window configuration, placement of UI elements and handlers for various events such as slider interaction.

Definition at line 28 of file PluginEditor.h.

Constructor & Destructor Documentation

◆ AudioProcessorEditor()

reverb::AudioProcessorEditor::AudioProcessorEditor ( AudioProcessor p)

Constructs an AudioProcessorEditor object associated with an AudioProcessor.

Creates an AudioProcessorEditor and each of its components. Constructs the UI by adding all the required elements. It handles element placement, plugin window default size and how to handle the resizing of the window.

Parameters
[in]processorPointer to main processor

Definition at line 31 of file PluginEditor.cpp.

Member Function Documentation

◆ buttonClicked()

void reverb::AudioProcessorEditor::buttonClicked ( juce::Button *  clickedButton)
override

Callback function to open the popup menu asynchronously.

This function will open a popup menu when the user clicks on the IR selection's button. The first item in the menu will let the user choose a custom IR from a file browser, while the other items will display the IRs from the IR bank.

Parameters
[in]clickedButtonPointer to the button clicked by the user.

Definition at line 171 of file PluginEditor.cpp.

◆ menuCallback()

void reverb::AudioProcessorEditor::menuCallback ( int  result,
UIHeaderBlock headerBlock 
)
static

Callback function to open the popup menu asynchronously.

This function will open a file browser if the user clicked on the first item in the dropdown menu. Any other item will load the appropriate IR from the IR bank.

Parameters
[in]resultThe index of the item selected by the user. [in] headerBlock Pointer to the header block.

Definition at line 204 of file PluginEditor.cpp.

◆ resized()

void reverb::AudioProcessorEditor::resized ( )
override

Manages the layout of AudioProcessorEditor when the window is resized.

This function defines all the relative positioning of the various UI elements.

Definition at line 105 of file PluginEditor.cpp.


The documentation for this class was generated from the following files: