openshot-audio  0.1.6
Classes | Public Member Functions | List of all members
ProcessorParameterPropertyComp Class Reference
Inheritance diagram for ProcessorParameterPropertyComp:
PropertyComponent AudioProcessorListener Timer SettableTooltipClient TooltipClient

Public Member Functions

 ProcessorParameterPropertyComp (const String &name, AudioProcessor &p, int paramIndex)
 
 ~ProcessorParameterPropertyComp ()
 
void refresh () override
 
void audioProcessorChanged (AudioProcessor *) override
 
void audioProcessorParameterChanged (AudioProcessor *, int parameterIndex, float) override
 
void timerCallback () override
 
- Public Member Functions inherited from PropertyComponent
 PropertyComponent (const String &propertyName, int preferredHeight=25)
 
 ~PropertyComponent ()
 
int getPreferredHeight () const noexcept
 
void setPreferredHeight (int newHeight) noexcept
 
void paint (Graphics &) override
 
void resized () override
 
void enablementChanged () override
 
- Public Member Functions inherited from SettableTooltipClient
virtual ~SettableTooltipClient ()
 
virtual void setTooltip (const String &newTooltip)
 
virtual String getTooltip ()
 
- Public Member Functions inherited from TooltipClient
virtual ~TooltipClient ()
 

Additional Inherited Members

- Public Types inherited from PropertyComponent
enum  ColourIds { backgroundColourId = 0x1008300, labelTextColourId = 0x1008301 }
 
- Protected Member Functions inherited from SettableTooltipClient
 SettableTooltipClient ()
 
- Protected Attributes inherited from PropertyComponent
int preferredHeight
 

Constructor & Destructor Documentation

ProcessorParameterPropertyComp::ProcessorParameterPropertyComp ( const String name,
AudioProcessor p,
int  paramIndex 
)
inline
ProcessorParameterPropertyComp::~ProcessorParameterPropertyComp ( )
inline

Member Function Documentation

void ProcessorParameterPropertyComp::audioProcessorChanged ( AudioProcessor processor)
inlineoverridevirtual

Called to indicate that something else in the plugin has changed, like its program, number of parameters, etc.

IMPORTANT NOTE: this will be called synchronously, and many audio processors will call it during their audio callback. This means that not only has your handler code got to be completely thread-safe, but it's also got to be VERY fast, and avoid blocking. If you need to handle this event on your message thread, use this callback to trigger an AsyncUpdater or ChangeBroadcaster which you can respond to later on the message thread.

Implements AudioProcessorListener.

void ProcessorParameterPropertyComp::audioProcessorParameterChanged ( AudioProcessor processor,
int  parameterIndex,
float  newValue 
)
inlineoverridevirtual

Receives a callback when a parameter is changed.

IMPORTANT NOTE: this will be called synchronously when a parameter changes, and many audio processors will change their parameter during their audio callback. This means that not only has your handler code got to be completely thread-safe, but it's also got to be VERY fast, and avoid blocking. If you need to handle this event on your message thread, use this callback to trigger an AsyncUpdater or ChangeBroadcaster which you can respond to on the message thread.

Implements AudioProcessorListener.

void ProcessorParameterPropertyComp::refresh ( )
inlineoverridevirtual

Updates the property component if the item it refers to has changed.

A subclass must implement this method, and other objects may call it to force it to refresh itself.

The subclass should be economical in the amount of work is done, so for example it should check whether it really needs to do a repaint rather than just doing one every time this method is called, as it may be called when the value being displayed hasn't actually changed.

Implements PropertyComponent.

void ProcessorParameterPropertyComp::timerCallback ( )
inlineoverridevirtual

The user-defined callback routine that actually gets called periodically.

It's perfectly ok to call startTimer() or stopTimer() from within this callback to change the subsequent intervals.

Implements Timer.


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