LMMS
Loading...
Searching...
No Matches
zyncarla::SUBnote Class Reference

#include <SUBnote.h>

Inheritance diagram for zyncarla::SUBnote:
zyncarla::SynthNote

Classes

struct  bpfilter

Public Member Functions

 SUBnote (const SUBnoteParameters *parameters, SynthParams &pars)
 ~SUBnote ()
SynthNotecloneLegato (void)
void legatonote (LegatoParams pars)
int noteout (float *outl, float *outr)
void releasekey ()
bool finished () const
void entomb (void)
Public Member Functions inherited from zyncarla::SynthNote
 SynthNote (SynthParams &pars)
virtual ~SynthNote ()
void setVelocity (float velocity_)

Private Member Functions

void setup (float freq, float velocity, int portamento_, int midinote, bool legato=false)
float setupFilters (int *pos, bool automation)
void computecurrentparameters ()
void initparameters (float freq, WatchManager *wm)
void KillNote ()
void chanOutput (float *out, bpfilter *bp, int buffer_size)
void initfilter (bpfilter &filter, float freq, float bw, float amp, float mag, bool automation)
float computerolloff (float freq)
void computeallfiltercoefs (bpfilter *filters, float envfreq, float envbw, float gain)
void computefiltercoefs (bpfilter &filter, float freq, float bw, float gain)
void filter (bpfilter &filter, float *smps)

Private Attributes

const SUBnoteParameterspars
bool stereo
int numstages
int numharmonics
int firstnumharmonics
int start
float basefreq
float BendAdjust
float OffsetHz
float panning
EnvelopeAmpEnvelope
EnvelopeFreqEnvelope
EnvelopeBandWidthEnvelope
ModFilterGlobalFilter
EnvelopeGlobalFilterEnvelope
bool NoteEnabled
bool firsttick
bool portamento
float volume
float oldamplitude
float newamplitude
float oldreduceamp
bpfilterlfilter
bpfilterrfilter
float overtone_rolloff [MAX_SUB_HARMONICS]
float overtone_freq [MAX_SUB_HARMONICS]
int oldpitchwheel
int oldbandwidth
float globalfiltercenterq
float velocity
WatchManagerwm

Additional Inherited Members

Public Attributes inherited from zyncarla::SynthNote
class Allocatormemory
Protected Attributes inherited from zyncarla::SynthNote
class zyncarla::SynthNote::Legato legato
const Controllerctl
const SYNTH_Tsynth
const AbsTimetime
WatchManagerwm

Constructor & Destructor Documentation

◆ SUBnote()

SUBnote::SUBnote ( const SUBnoteParameters * parameters,
SynthParams & pars )

◆ ~SUBnote()

SUBnote::~SUBnote ( )

Member Function Documentation

◆ chanOutput()

void SUBnote::chanOutput ( float * out,
bpfilter * bp,
int buffer_size )
private

◆ cloneLegato()

SynthNote * SUBnote::cloneLegato ( void )
virtual

Implements zyncarla::SynthNote.

◆ computeallfiltercoefs()

void SUBnote::computeallfiltercoefs ( bpfilter * filters,
float envfreq,
float envbw,
float gain )
private

◆ computecurrentparameters()

void SUBnote::computecurrentparameters ( )
private

◆ computefiltercoefs()

void SUBnote::computefiltercoefs ( bpfilter & filter,
float freq,
float bw,
float gain )
private

◆ computerolloff()

float SUBnote::computerolloff ( float freq)
private

◆ entomb()

void SUBnote::entomb ( void )
virtual

Make a note die off next buffer compute

Implements zyncarla::SynthNote.

◆ filter()

void SUBnote::filter ( bpfilter & filter,
float * smps )
inlineprivate

◆ finished()

bool SUBnote::finished ( ) const
virtual

Return if note is finished.

Returns
finished=1 unfinished=0

Implements zyncarla::SynthNote.

◆ initfilter()

void SUBnote::initfilter ( bpfilter & filter,
float freq,
float bw,
float amp,
float mag,
bool automation )
private

◆ initparameters()

void SUBnote::initparameters ( float freq,
WatchManager * wm )
private

◆ KillNote()

void SUBnote::KillNote ( )
private

◆ legatonote()

void SUBnote::legatonote ( LegatoParams pars)
virtual

Implements zyncarla::SynthNote.

◆ noteout()

int SUBnote::noteout ( float * outl,
float * outr )
virtual

Compute Output Samples

Returns
0 if note is finished

Implements zyncarla::SynthNote.

◆ releasekey()

void SUBnote::releasekey ( )
virtual

Release the key for the note and start release portion of envelopes.

Implements zyncarla::SynthNote.

◆ setup()

void SUBnote::setup ( float freq,
float velocity,
int portamento_,
int midinote,
bool legato = false )
private

◆ setupFilters()

float SUBnote::setupFilters ( int * pos,
bool automation )
private

Member Data Documentation

◆ AmpEnvelope

Envelope* zyncarla::SUBnote::AmpEnvelope
private

◆ BandWidthEnvelope

Envelope* zyncarla::SUBnote::BandWidthEnvelope
private

◆ basefreq

float zyncarla::SUBnote::basefreq
private

◆ BendAdjust

float zyncarla::SUBnote::BendAdjust
private

◆ firstnumharmonics

int zyncarla::SUBnote::firstnumharmonics
private

◆ firsttick

bool zyncarla::SUBnote::firsttick
private

◆ FreqEnvelope

Envelope* zyncarla::SUBnote::FreqEnvelope
private

◆ GlobalFilter

ModFilter* zyncarla::SUBnote::GlobalFilter
private

◆ globalfiltercenterq

float zyncarla::SUBnote::globalfiltercenterq
private

◆ GlobalFilterEnvelope

Envelope* zyncarla::SUBnote::GlobalFilterEnvelope
private

◆ lfilter

bpfilter* zyncarla::SUBnote::lfilter
private

◆ newamplitude

float zyncarla::SUBnote::newamplitude
private

◆ NoteEnabled

bool zyncarla::SUBnote::NoteEnabled
private

◆ numharmonics

int zyncarla::SUBnote::numharmonics
private

◆ numstages

int zyncarla::SUBnote::numstages
private

◆ OffsetHz

float zyncarla::SUBnote::OffsetHz
private

◆ oldamplitude

float zyncarla::SUBnote::oldamplitude
private

◆ oldbandwidth

int zyncarla::SUBnote::oldbandwidth
private

◆ oldpitchwheel

int zyncarla::SUBnote::oldpitchwheel
private

◆ oldreduceamp

float zyncarla::SUBnote::oldreduceamp
private

◆ overtone_freq

float zyncarla::SUBnote::overtone_freq[MAX_SUB_HARMONICS]
private

◆ overtone_rolloff

float zyncarla::SUBnote::overtone_rolloff[MAX_SUB_HARMONICS]
private

◆ panning

float zyncarla::SUBnote::panning
private

◆ pars

const SUBnoteParameters& zyncarla::SUBnote::pars
private

◆ portamento

bool zyncarla::SUBnote::portamento
private

◆ rfilter

bpfilter * zyncarla::SUBnote::rfilter
private

◆ start

int zyncarla::SUBnote::start
private

◆ stereo

bool zyncarla::SUBnote::stereo
private

◆ velocity

float zyncarla::SUBnote::velocity
private

◆ volume

float zyncarla::SUBnote::volume
private

◆ wm

WatchManager* zyncarla::SUBnote::wm
private

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