- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Exponent::Vst::CVstEffect Class Reference

Inheritance diagram for Exponent::Vst::CVstEffect:

List of all members.

## Detailed Description

Implements a Vst 2.3 AudioEffectX.

Date:
  06/08/2006

Author:
  Paul Chana

Version:
  1.0.0 Initial version

Note:
  All contents of this source code are copyright 2005 Exp Digital Uk.
  This source file is covered by the licence conditions of the Infinity API. You should have recieved a copy
  with the source code. If you didnt, please refer to http://www.expdigital.co.uk All content is the Intellectual property of Exp Digital Uk.
  Certain sections of this code may come from other sources. They are credited where applicable.
  If you have comments, suggestions or bug reports please visit http://support.expdigital.co.uk Please note that VST is copyright Steinberg Media GmBh. No challenge is made to any of their trademarks To use this file, you require a copy of the VST SDK, available from www.steinberg.net for free

Id
  CVstEffect.hpp,v 1.5 2007/02/27 19:47:38 paul Exp

Definition at line 39 of file CVstEffect.hpp.

## Public Member Functions

- CVstEffect (audioMasterCallback audioMaster, const VstInt32 numberOfParameters, const VstInt32 numberOfPresets=0)
- CCriticalSection * getCriticalSection () const
- virtual bool getEffectName (char *name)
- CHostCanDo & getHostCanDo ()
- long getMidiChannel () const
- VstInt32 getNumMidiInputChannels ()
- virtual float getParameter (VstInt32 index)
- virtual void getParameterDisplay (VstInt32 index, char *text)
- virtual void getParameterLabel (VstInt32 index, char *label)
- virtual void getParameterName (VstInt32 index, char *text)
- virtual bool getProductString (char *text)
- virtual void getProgramName (char *name)
- virtual bool getProgramNameIndexed (VstInt32 category, VstInt32 index, char *text)
- virtual bool getVendorString (char *text)
- virtual void process (float **input, float **output, VstInt32 numberOfSamples)
- virtual void processDoubleReplacing (double **inputs, double **outputs, VstInt32 numberOfSamples)
- virtual VstInt32 processEvents (VstEvents *events)
- virtual void processReplacing (float **input, float **output, VstInt32 numberOfSamples)
- virtual void resume ()
- virtual void setBlockSize (VstInt32 blockSize)
- virtual bool setBypass (bool onOff)
- virtual void setMidiChannel (const long channel)
- virtual void setParameter (VstInt32 index, float value)
- virtual void setProgram (VstInt32 program)
- virtual void setProgramName (char *name)
- virtual void setSampleRate (float rate)
- virtual bool string2parameter (VstInt32 index, char *text)
- virtual ~CVstEffect ()

## Protected Attributes

- CCriticalSection * m_criticalSection
- CHostCanDo m_hostCanDo
- TPointerCollection< TPointerCollection<
  CLong > > m_midiControllers
- CVstMidiEventList m_midiEventList
- SVstProcessInformation m_processInfo
- CVstTempo m_vstTempo

## Constructor & Destructor Documentation

Exponent::Vst::CVstEffect::CVstEffect | ( | audioMasterCallback | audioMaster,
|  | const VstInt32 | numberOfParameters,
|  | const VstInt32 | numberOfPresets = `0` |
| ) |  |  |

Construction

Parameters:

  | audioMaster | The VST audio master call back function
  | numberOfParameters | The number of parameters that the effect has...
  | numberOfPresets | The number of presets made available

virtual Exponent::Vst::CVstEffect::~CVstEffect | ( |  | ) | `[virtual]`

Destruction

## Member Function Documentation

CCriticalSection* Exponent::Vst::CVstEffect::getCriticalSection | ( |  | ) | const`[inline]`

Get the critical section

Return values:

  | CCriticalSection* | The critical section

Definition at line 154 of file CVstEffect.hpp.

References m_criticalSection.

virtual bool Exponent::Vst::CVstEffect::getEffectName | ( | char * | name | ) | `[virtual]`

Get the effect name

Parameters:

  | name | On return is filled with the name of the plugin

Return values:

  | bool | True if text filled properly, false otherwise

CHostCanDo& Exponent::Vst::CVstEffect::getHostCanDo | ( |  | ) | `[inline]`

Get host can do information

Return values:

  | CHostCanDo | The host can do

Definition at line 148 of file CVstEffect.hpp.

References m_hostCanDo.

long Exponent::Vst::CVstEffect::getMidiChannel | ( |  | ) | const`[inline]`

Get the midi channel

Return values:

  | long | The midi channel in the range 0 - 15

Definition at line 160 of file CVstEffect.hpp.

References Exponent::Midi::CMidiEventList::getMidiChannel(), and m_midiEventList.

VstInt32 Exponent::Vst::CVstEffect::getNumMidiInputChannels | ( |  | ) | `[inline]`

Get the number of midi channels

Return values:

  | VstInt32 | Returns 1 currently, change if you have implemented more midi event lists

Definition at line 167 of file CVstEffect.hpp.

virtual float Exponent::Vst::CVstEffect::getParameter | ( | VstInt32 | index | ) | `[inline, virtual]`

Get the parameter

Parameters:

  | index | The index of the control

Return values:

  | flot | The value of the parameter

Definition at line 189 of file CVstEffect.hpp.

virtual void Exponent::Vst::CVstEffect::getParameterDisplay | ( | VstInt32 | index,
|  | char * | text |
| ) |  |  | `[inline, virtual]`

Get the parameter display

Parameters:

  | index | The index of the controls
  | text | On return is filled with the string representing the parameter

Definition at line 211 of file CVstEffect.hpp.

virtual void Exponent::Vst::CVstEffect::getParameterLabel | ( | VstInt32 | index,
|  | char * | label |
| ) |  |  | `[inline, virtual]`

Get the parameter label

Parameters:

  | index | The index of the controls
  | label | On return is filled with the label of the parameter

Definition at line 200 of file CVstEffect.hpp.

virtual void Exponent::Vst::CVstEffect::getParameterName | ( | VstInt32 | index,
|  | char * | text |
| ) |  |  | `[inline, virtual]`

Get the parameter name

Parameters:

  | index | The index of the controls
  | text | On return is filled with the name of the parameter

Definition at line 222 of file CVstEffect.hpp.

virtual bool Exponent::Vst::CVstEffect::getProductString | ( | char * | text | ) | `[virtual]`

Get the product string

Parameters:

  | text | On return is filled with the name of the plugin

Return values:

  | bool | True if text filled properly, false otherwise

virtual void Exponent::Vst::CVstEffect::getProgramName | ( | char * | name | ) | `[inline, virtual]`

Get the program name

Parameters:

  | name | On return is filled with the name of the current preset

Definition at line 281 of file CVstEffect.hpp.

virtual bool Exponent::Vst::CVstEffect::getProgramNameIndexed | ( | VstInt32 | category,
|  | VstInt32 | index,
|  | char * | text |
| ) |  |  | `[inline, virtual]`

Get the program from an index

Parameters:

  | category | The catagory of the preset
  | index | The index of the preset
  | text | On return is filled with the preset name

Return values:

  | bool | Always false, we dont support this function

Definition at line 301 of file CVstEffect.hpp.

virtual bool Exponent::Vst::CVstEffect::getVendorString | ( | char * | text | ) | `[virtual]`

Get the vendor string

Parameters:

  | text | On return is filled with the name of the vendor

Return values:

  | bool | True if text filled properly, false otherwise

virtual void Exponent::Vst::CVstEffect::process | ( | float ** | input,
|  | float ** | output,
|  | VstInt32 | numberOfSamples |
| ) |  |  | `[virtual]`

Process

Parameters:

  | input | The input audio buffers
  | output | The output audio buffer
  | numberOfSamples | The number of samples to process

virtual void Exponent::Vst::CVstEffect::processDoubleReplacing | ( | double ** | inputs,
|  | double ** | outputs,
|  | VstInt32 | numberOfSamples |
| ) |  |  | `[virtual]`

Process double replacing

Parameters:

  | inputs | The input audio buffers
  | outputs | The output audio buffer
  | numberOfSamples | The number of samples to process

virtual VstInt32 Exponent::Vst::CVstEffect::processEvents | ( | VstEvents * | events | ) | `[virtual]`

Process VST midi events

Parameters:

  | events | the midi events

Return values:

  | VstInt32 | 0 for more, undefined otherwise

virtual void Exponent::Vst::CVstEffect::processReplacing | ( | float ** | input,
|  | float ** | output,
|  | VstInt32 | numberOfSamples |
| ) |  |  | `[virtual]`

Process Replacing

Parameters:

  | input | The input audio buffers
  | output | The output audio buffer
  | numberOfSamples | The number of samples to process

virtual void Exponent::Vst::CVstEffect::resume | ( |  | ) | `[virtual]`

Resume processing

virtual void Exponent::Vst::CVstEffect::setBlockSize | ( | VstInt32 | blockSize | ) | `[virtual]`

Set the block size

Parameters:

  | blockSize | The new blocksize

virtual bool Exponent::Vst::CVstEffect::setBypass | ( | bool | onOff | ) | `[inline, virtual]`

Do we support soft bypass

Return values:

  | bool | Always false, we dont support

Definition at line 267 of file CVstEffect.hpp.

virtual void Exponent::Vst::CVstEffect::setMidiChannel | ( | const long | channel | ) | `[virtual]`

Set the midi channel

Parameters:

  | channel | the midi channel in range 0 - 15

virtual void Exponent::Vst::CVstEffect::setParameter | ( | VstInt32 | index,
|  | float | value |
| ) |  |  | `[inline, virtual]`

Set the parameter

Parameters:

  | index | The index of the controls
  | value | The value to give the control

Definition at line 178 of file CVstEffect.hpp.

virtual void Exponent::Vst::CVstEffect::setProgram | ( | VstInt32 | program | ) | `[inline, virtual]`

Set the program

Parameters:

  | program | The index of the program to load

Definition at line 288 of file CVstEffect.hpp.

virtual void Exponent::Vst::CVstEffect::setProgramName | ( | char * | name | ) | `[inline, virtual]`

Set the program name

Parameters:

  | name | The name of the program

Definition at line 275 of file CVstEffect.hpp.

virtual void Exponent::Vst::CVstEffect::setSampleRate | ( | float | rate | ) | `[virtual]`

Set the samplerate

Parameters:

  | rate | The new sample rate

virtual bool Exponent::Vst::CVstEffect::string2parameter | ( | VstInt32 | index,
|  | char * | text |
| ) |  |  | `[inline, virtual]`

String to parameter

Parameters:

  | index | The index of the controls
  | text | The string to convert to a parameter

Return values:

  | bool | Always false, we dont suppor this

Definition at line 234 of file CVstEffect.hpp.

## Member Data Documentation

CCriticalSection* Exponent::Vst::CVstEffect::m_criticalSection`[protected]`

The ciritical section

Definition at line 317 of file CVstEffect.hpp.

Referenced by getCriticalSection().

CHostCanDo Exponent::Vst::CVstEffect::m_hostCanDo`[protected]`

What can the host do?

Definition at line 312 of file CVstEffect.hpp.

Referenced by getHostCanDo().

TPointerCollection< TPointerCollection<CLong> > Exponent::Vst::CVstEffect::m_midiControllers`[protected]`

The midi controllers

Definition at line 316 of file CVstEffect.hpp.

CVstMidiEventList Exponent::Vst::CVstEffect::m_midiEventList`[protected]`

The midi event list

Definition at line 315 of file CVstEffect.hpp.

Referenced by getMidiChannel().

SVstProcessInformation Exponent::Vst::CVstEffect::m_processInfo`[protected]`

The song setup information

Definition at line 314 of file CVstEffect.hpp.

CVstTempo Exponent::Vst::CVstEffect::m_vstTempo`[protected]`

Tempo and other time related information

Definition at line 313 of file CVstEffect.hpp.