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 ()
SynthNote * cloneLegato (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 SUBnoteParameters & pars
bool stereo
int numstages
int numharmonics
int firstnumharmonics
int start
float basefreq
float BendAdjust
float OffsetHz
float panning
Envelope * AmpEnvelope
Envelope * FreqEnvelope
Envelope * BandWidthEnvelope
ModFilter * GlobalFilter
Envelope * GlobalFilterEnvelope
bool NoteEnabled
bool firsttick
bool portamento
float volume
float oldamplitude
float newamplitude
float oldreduceamp
bpfilter * lfilter
bpfilter * rfilter
float overtone_rolloff [MAX_SUB_HARMONICS]
float overtone_freq [MAX_SUB_HARMONICS]
int oldpitchwheel
int oldbandwidth
float globalfiltercenterq
float velocity
WatchManager * wm

Additional Inherited Members

Public Attributes inherited from zyncarla::SynthNote
class Allocator & memory
Protected Attributes inherited from zyncarla::SynthNote
class zyncarla::SynthNote::Legato legato
const Controller & ctl
const SYNTH_T & synth
const AbsTime & time
WatchManager * wm

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: