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

SUBnoteParameterspars
int stereo
int numstages
int numharmonics
int firstnumharmonics
int start
float basefreq
float panning
EnvelopeAmpEnvelope
EnvelopeFreqEnvelope
EnvelopeBandWidthEnvelope
FilterGlobalFilterL
FilterGlobalFilterR
EnvelopeGlobalFilterEnvelope
ONOFFTYPE NoteEnabled
int firsttick
int portamento
float volume
float oldamplitude
float newamplitude
float GlobalFilterCenterPitch
float GlobalFilterFreqTracking
bpfilterlfilter
bpfilterrfilter
float overtone_rolloff [MAX_SUB_HARMONICS]
float overtone_freq [MAX_SUB_HARMONICS]
Controllerctl
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: