LV2::Voice Class Reference

#include <lv2synth.hpp>

List of all members.

Public Member Functions

void on (unsigned char key, unsigned char velocity)
void off (unsigned char velocity)
unsigned char get_key () const
void render (uint32_t from, uint32_t to)

Protected Member Functions

template<typename T>
T *& p (uint32_t port)
float *& p (uint32_t port)


Detailed Description

A base class for synth voices, to be used with the Synth template class. You don't have to make your voice classes inherit this one, but it makes some things easier.

Member Function Documentation

void LV2::Voice::on ( unsigned char  key,
unsigned char  velocity 
) [inline]

Turn the voice on. This default implementation does nothing, you probably want to override it.

Parameters:
key The MIDI key for the note that the voice should play.
velocity The MIDI velocity for the Note On event.

void LV2::Voice::off ( unsigned char  velocity  )  [inline]

Turn the voice off. This default implementation does nothing, you probably want to override it.

Parameters:
velocity The MIDI velocity for the Note Off event.

unsigned char LV2::Voice::get_key (  )  const [inline]

Return the MIDI key that the voice is currently playing. LV2::INVALID_KEY means that the voice is not active and could be used to play a new note.

void LV2::Voice::render ( uint32_t  from,
uint32_t  to 
) [inline]

Render audio for this voice to the output buffers, from sample from to sample to. The buffers may already contain audio from other voices, so use += instead of = when writing to it. This default implementation does nothing, you probably want to override it.

template<typename T>
T*& LV2::Voice::p ( uint32_t  port  )  [inline, protected]

Same as Plugin::p() - returns the buffer for the given port.

float*& LV2::Voice::p ( uint32_t  port  )  [inline, protected]

Same as Plugin::p() - returns the buffer for the given port.


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

Generated on Tue Apr 8 19:10:57 2008 by  doxygen 1.5.5