ape  0.5.0
Audio Programming Environment
Public Member Functions | Protected Member Functions | List of all members
ape::Processor Class Reference

#include <processor.h>

Inheritance diagram for ape::Processor:
ape::UIObject ape::Effect ape::Generator ape::TransportProcessor ape::TransportEffect ape::TransportGenerator

Public Member Functions

void init ()
 Called after every constructor in the inheritance chain has run More...
 
void close ()
 Called just before any destructor is run. More...
 
void processFrames (umatrix< const float > inputs, umatrix< float > outputs, size_t frames)
 Trigger processing of the inputs into the outputs .

See also
EmbeddedEffect::process, EmbeddedGenerator::process
More...
 
virtual Status onEvent (Event *e)
 Send an event to this processor. More...
 
virtual ~Processor ()
 Polymorphically destruct this processor More...
 
const IOConfigconfig () const
 Return the configuration this processor is initialized with. More...
 
std::size_t sharedChannels () const noexcept
 Returns the minimum number of shared channels between inputs and outputs. More...
 

Protected Member Functions

 Processor ()
 
virtual void processingHook ()
 Internal use only More...
 
void setTriggeringChannel (int channel)
 Request the oscilloscope to trigger on a specific channel (default is the first output channel from the plugin). More...
 
void defaultProcess (umatrix< const float > inputs, umatrix< float > outputs, size_t frames)
 Copy the number of shared channels from inputs to outputs , clearing any extra outputs in outputs .

See also
sharedChannels, clear()
More...
 
virtual void start (const IOConfig &config)
 Start processing with a certain configuration. Resources can be allocated here. More...
 
virtual void stop ()
 Stop processing. Here's a good place to release any large resources. More...
 
virtual void process (umatrix< const float > inputs, umatrix< float > outputs, size_t frames)
 Callback for processing a buffer switch in real-time. More...
 

Constructor & Destructor Documentation

◆ ~Processor()

virtual ape::Processor::~Processor ( )
inlinevirtual

Polymorphically destruct this processor

◆ Processor()

ape::Processor::Processor ( )
inlineprotected

Member Function Documentation

◆ close()

void ape::Processor::close ( )
inline

Called just before any destructor is run.

◆ config()

const IOConfig& ape::Processor::config ( ) const
inline

Return the configuration this processor is initialized with.

◆ defaultProcess()

void ape::Processor::defaultProcess ( umatrix< const float >  inputs,
umatrix< float >  outputs,
size_t  frames 
)
inlineprotected

Copy the number of shared channels from inputs to outputs , clearing any extra outputs in outputs .

See also
sharedChannels, clear()

◆ init()

void ape::Processor::init ( )
inline

Called after every constructor in the inheritance chain has run

◆ onEvent()

virtual Status ape::Processor::onEvent ( Event *  e)
inlinevirtual

Send an event to this processor.

Parameters
EventThe polymorphic event to process.
Returns
Whether the event was handled (StatusCode::Handled) or not implemented (StatusCode::NotImplemented).

Reimplemented in ape::TransportProcessor.

◆ process()

virtual void ape::Processor::process ( umatrix< const float >  inputs,
umatrix< float >  outputs,
size_t  frames 
)
inlineprotectedvirtual

Callback for processing a buffer switch in real-time.

Parameters
inputsRead-only channel data for any inputs into this plugin.
outputsWritable channel data for outputs from this plugin.
framesHow many samples to process from inputs and outputs

◆ processFrames()

void ape::Processor::processFrames ( umatrix< const float >  inputs,
umatrix< float >  outputs,
size_t  frames 
)
inline

Trigger processing of the inputs into the outputs .

See also
EmbeddedEffect::process, EmbeddedGenerator::process

◆ processingHook()

virtual void ape::Processor::processingHook ( )
inlineprotectedvirtual

Internal use only

◆ setTriggeringChannel()

void ape::Processor::setTriggeringChannel ( int  channel)
inlineprotected

Request the oscilloscope to trigger on a specific channel (default is the first output channel from the plugin).

Parameters
channel1 equals the first input. 1 + number of inputs equals the first output.

◆ sharedChannels()

std::size_t ape::Processor::sharedChannels ( ) const
inlinenoexcept

Returns the minimum number of shared channels between inputs and outputs.

◆ start()

virtual void ape::Processor::start ( const IOConfig config)
inlineprotectedvirtual

Start processing with a certain configuration. Resources can be allocated here.

◆ stop()

virtual void ape::Processor::stop ( )
inlineprotectedvirtual

Stop processing. Here's a good place to release any large resources.


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