synthclone  0.3.0
synthclone::Effect Class Referenceabstract

Component capable of altering samples in some way. More...

#include <synthclone/effect.h>

Inheritance diagram for synthclone::Effect:
Collaboration diagram for synthclone::Effect:

Public Member Functions

virtual void process (const Zone &zone, SampleInputStream &inputStream, SampleOutputStream &outputStream)=0
 Called to apply this Effect to audio data. More...
 
- Public Member Functions inherited from synthclone::Component
QString getName () const
 Gets the Component name. More...
 

Protected Member Functions

 Effect (const QString &name, QObject *parent=0)
 Constructs a new Effect object. More...
 
virtual ~Effect ()
 
- Protected Member Functions inherited from synthclone::Component
 Component (const QString &name, QObject *parent=0)
 Constructs a new Component object. More...
 
virtual ~Component ()
 Destroys a Component object. More...
 

Additional Inherited Members

- Public Slots inherited from synthclone::Component
void setName (const QString &name)
 Sets the name of this Component. More...
 
- Signals inherited from synthclone::Component
void nameChanged (const QString &name)
 Emitted when the Component name is changed. More...
 
void progressChanged (float progress)
 Emitted by the Component to indicate progress in whatever operation the Component is performing. More...
 
void statusChanged (const QString &status)
 Emitted when the Component object's status changes. More...
 

Detailed Description

Component capable of altering samples in some way.

Constructor & Destructor Documentation

synthclone::Effect::Effect ( const QString &  name,
QObject *  parent = 0 
)
explicitprotected

Constructs a new Effect object.

This constructor cannot be called directly; instead, subclasses should call this constructor in their constructors.

Parameters
nameThe initial name for the effect.
parentThe parent object of the effect.
virtual synthclone::Effect::~Effect ( )
protectedvirtual

Member Function Documentation

virtual void synthclone::Effect::process ( const Zone zone,
SampleInputStream inputStream,
SampleOutputStream outputStream 
)
pure virtual

Called to apply this Effect to audio data.

The Component::progressChanged() and Component::statusChanged() signals should be used to indicate progress in applying the Effect.

Parameters
zoneThe Zone for which the Effect is being applied. An Effect can use the Zone with its ZonePropertyMap to get ZoneProperty values that are specific to the zone.
inputStreamContains the audio data to which this Effect should be applied.
outputStreamProcessed audio data is written to this stream.
Note
This method will not be called by the main thread. Effect processing is handled in a separate thread in an attempt to make sure that the GUI is responsive even when effects are being applied.

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