Photosine 0.5
Loading...
Searching...
No Matches
PluginInterface::PluginManagerInstance Class Reference

#include <PluginManagerInstance.h>

Inheritance diagram for PluginInterface::PluginManagerInstance:

Public Member Functions

 PluginManagerInstance (std::shared_ptr< juce::AudioPluginInstance > newPluginInstance, juce::ValueTree pluginValueTreeToUse)
 ~PluginManagerInstance ()
bool is (juce::Identifier identifier)
juce::Identifier getUniqueIdentifier ()
std::shared_ptr< juce::AudioPluginInstance > getPluginInstance ()
std::shared_ptr< juce::AudioProcessorEditor > getEditor ()
juce::ValueTree getPluginValueTree ()
bool operator== (PluginManagerInstance const &comparisonInstance)
Overrides juce::ValueTree::AudioProcessorParameter::Listener
void parameterValueChanged (int parameterIndex, float newValue) override
void parameterGestureChanged (int parameterIndex, bool gestureIsStarting) override

Private Member Functions

void registerListenerForParameters ()
void updatePluginState ()
void timerCallback () override
 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PluginManagerInstance)

Private Attributes

juce::Identifier uniqueIdentifier
std::shared_ptr< juce::AudioPluginInstance > pluginInstance
std::shared_ptr< juce::AudioProcessorEditor > editor
juce::ValueTree pluginValueTree
bool pluginStateChanged = false

Detailed Description

Container class for PluginManager. This contains a juce::AudioProcessorInstance. A juce::juce::AudioProcessorEditor is created on construction. Listens for changes to plugin parameters and copies state into juce::ValueTree if needed. For performance reasons, the listener sets a flag (pluginStateChanged) and a juce::Timer checks for that flag.

Constructor & Destructor Documentation

◆ PluginManagerInstance()

PluginInterface::PluginManagerInstance::PluginManagerInstance ( std::shared_ptr< juce::AudioPluginInstance > newPluginInstance,
juce::ValueTree pluginValueTreeToUse )
Parameters
newPluginInstancethe plugin instance for an instance to contain.
pluginValueTreeToUsevalue tree representing this plugin.

◆ ~PluginManagerInstance()

PluginInterface::PluginManagerInstance::~PluginManagerInstance ( )

Member Function Documentation

◆ getEditor()

std::shared_ptr< juce::AudioProcessorEditor > PluginInterface::PluginManagerInstance::getEditor ( )

Returns the editor component for this instance.

◆ getPluginInstance()

std::shared_ptr< juce::AudioPluginInstance > PluginInterface::PluginManagerInstance::getPluginInstance ( )

Returns the plugin instance stored.

◆ getPluginValueTree()

juce::ValueTree PluginInterface::PluginManagerInstance::getPluginValueTree ( )

Returns the value tree representing this plugin.

◆ getUniqueIdentifier()

juce::Identifier PluginInterface::PluginManagerInstance::getUniqueIdentifier ( )

Returns the plugin's unique ID.

◆ is()

bool PluginInterface::PluginManagerInstance::is ( juce::Identifier identifier)

Quick == based just on identifier.

◆ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR()

PluginInterface::PluginManagerInstance::JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR ( PluginManagerInstance )
private

◆ operator==()

bool PluginInterface::PluginManagerInstance::operator== ( PluginManagerInstance const & comparisonInstance)

◆ parameterGestureChanged()

void PluginInterface::PluginManagerInstance::parameterGestureChanged ( int parameterIndex,
bool gestureIsStarting )
override

◆ parameterValueChanged()

void PluginInterface::PluginManagerInstance::parameterValueChanged ( int parameterIndex,
float newValue )
override

◆ registerListenerForParameters()

void PluginInterface::PluginManagerInstance::registerListenerForParameters ( )
private

Adds this as a listener to every parameter in pluginInstance

◆ timerCallback()

void PluginInterface::PluginManagerInstance::timerCallback ( )
overrideprivate

Checks if plugin state has changed, calls updatePluginState() if true.

◆ updatePluginState()

void PluginInterface::PluginManagerInstance::updatePluginState ( )
private

Called by timerCallback() if pluginStateChanged = true

Member Data Documentation

◆ editor

std::shared_ptr<juce::AudioProcessorEditor> PluginInterface::PluginManagerInstance::editor
private

Plugin editor.

◆ pluginInstance

std::shared_ptr<juce::AudioPluginInstance> PluginInterface::PluginManagerInstance::pluginInstance
private

Actual plugin instance.

◆ pluginStateChanged

bool PluginInterface::PluginManagerInstance::pluginStateChanged = false
private

◆ pluginValueTree

juce::ValueTree PluginInterface::PluginManagerInstance::pluginValueTree
private

Value tree representing this plugin.

◆ uniqueIdentifier

juce::Identifier PluginInterface::PluginManagerInstance::uniqueIdentifier
private

Unique ID for this plugin.


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