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

#include <SUBnote.h>

Inheritance diagram for SUBnote:
SynthNote

Classes

struct  bpfilter

Public Member Functions

 SUBnote (SUBnoteParameters *parameters, Controller *ctl_, float freq, float velocity, int portamento_, int midinote, bool besilent)
 ~SUBnote ()
void legatonote (float freq, float velocity, int portamento_, int midinote, bool externcall)
int noteout (float *outl, float *outr)
void relasekey ()
int finished () const
Public Member Functions inherited from SynthNote
 SynthNote (float freq, float vel, int port, int note, bool quiet)
virtual ~SynthNote ()
void setVelocity (float velocity_)

Private Member Functions

void setup (float freq, float velocity, int portamento_, int midinote, bool legato=false)
void computecurrentparameters ()
void initparameters (float freq)
void KillNote ()
void initfilter (bpfilter &filter, float freq, float bw, float amp, float mag)
float computerolloff (float freq)
void computefiltercoefs (bpfilter &filter, float freq, float bw, float gain)
void filter (bpfilter &filter, float *smps)

Private Attributes

SUBnoteParameters * pars
int stereo
int numstages
int numharmonics
int firstnumharmonics
int start
float basefreq
float panning
Envelope * AmpEnvelope
Envelope * FreqEnvelope
Envelope * BandWidthEnvelope
Filter * GlobalFilterL
Filter * GlobalFilterR
Envelope * GlobalFilterEnvelope
ONOFFTYPE NoteEnabled
int firsttick
int portamento
float volume
float oldamplitude
float newamplitude
float GlobalFilterCenterPitch
float GlobalFilterFreqTracking
bpfilter * lfilter
bpfilter * rfilter
float overtone_rolloff [MAX_SUB_HARMONICS]
float overtone_freq [MAX_SUB_HARMONICS]
Controller * ctl
int oldpitchwheel
int oldbandwidth
float globalfiltercenterq

Additional Inherited Members

Protected Attributes inherited from SynthNote
class SynthNote::Legato legato

Constructor & Destructor Documentation

◆ SUBnote()

SUBnote::SUBnote ( SUBnoteParameters * parameters,
Controller * ctl_,
float freq,
float velocity,
int portamento_,
int midinote,
bool besilent )

◆ ~SUBnote()

SUBnote::~SUBnote ( )

Member Function Documentation

◆ 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

◆ filter()

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

◆ finished()

int SUBnote::finished ( ) const
virtual

Return if note is finished.

Returns
finished=1 unfinished=0

Implements SynthNote.

◆ initfilter()

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

◆ initparameters()

void SUBnote::initparameters ( float freq)
private

◆ KillNote()

void SUBnote::KillNote ( )
private

◆ legatonote()

void SUBnote::legatonote ( float freq,
float velocity,
int portamento_,
int midinote,
bool externcall )
virtual

Implements SynthNote.

◆ noteout()

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

Compute Output Samples

Returns
0 if note is finished

Implements SynthNote.

◆ relasekey()

void SUBnote::relasekey ( )
virtual

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

Implements SynthNote.

◆ setup()

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

Member Data Documentation

◆ AmpEnvelope

Envelope* SUBnote::AmpEnvelope
private

◆ BandWidthEnvelope

Envelope* SUBnote::BandWidthEnvelope
private

◆ basefreq

float SUBnote::basefreq
private

◆ ctl

Controller* SUBnote::ctl
private

◆ firstnumharmonics

int SUBnote::firstnumharmonics
private

◆ firsttick

int SUBnote::firsttick
private

◆ FreqEnvelope

Envelope* SUBnote::FreqEnvelope
private

◆ GlobalFilterCenterPitch

float SUBnote::GlobalFilterCenterPitch
private

◆ globalfiltercenterq

float SUBnote::globalfiltercenterq
private

◆ GlobalFilterEnvelope

Envelope* SUBnote::GlobalFilterEnvelope
private

◆ GlobalFilterFreqTracking

float SUBnote::GlobalFilterFreqTracking
private

◆ GlobalFilterL

Filter* SUBnote::GlobalFilterL
private

◆ GlobalFilterR

Filter * SUBnote::GlobalFilterR
private

◆ lfilter

bpfilter* SUBnote::lfilter
private

◆ newamplitude

float SUBnote::newamplitude
private

◆ NoteEnabled

ONOFFTYPE SUBnote::NoteEnabled
private

◆ numharmonics

int SUBnote::numharmonics
private

◆ numstages

int SUBnote::numstages
private

◆ oldamplitude

float SUBnote::oldamplitude
private

◆ oldbandwidth

int SUBnote::oldbandwidth
private

◆ oldpitchwheel

int SUBnote::oldpitchwheel
private

◆ overtone_freq

float SUBnote::overtone_freq[MAX_SUB_HARMONICS]
private

◆ overtone_rolloff

float SUBnote::overtone_rolloff[MAX_SUB_HARMONICS]
private

◆ panning

float SUBnote::panning
private

◆ pars

SUBnoteParameters* SUBnote::pars
private

◆ portamento

int SUBnote::portamento
private

◆ rfilter

bpfilter * SUBnote::rfilter
private

◆ start

int SUBnote::start
private

◆ stereo

int SUBnote::stereo
private

◆ volume

float SUBnote::volume
private

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