SynthLab SDK
SynthLab::LaneStep Class Reference

Holds all the information needed for one step of one lane in the wave sequencer. More...

#include <sequencer.h>

Public Member Functions

LaneStepoperator= (const LaneStep &aLane)
 
void initStepTiming ()
 initialize the step and crossfade durations
 
void updateStepDurationSamples (uint32_t _stepDurationSamples)
 change the step duration time in samples
 
void updateStepXFadeSamples (uint32_t _xfadeDurationSamples)
 change the step cross-fade time in samples
 
int32_t getNextStepIndex ()
 get the next index
 
void setNextStepIndex (int32_t _nextStepIndex)
 set the next index
 
int32_t getPreviousStepIndex ()
 get the pprevious index
 
void setPreviousStepIndex (int32_t _previousStepIndex)
 set the pprevious index
 
double getStepValue ()
 getter current value
 
void setStepValue (double _stepValue)
 setter current value
 
void updateStepProbability ()
 
bool getIsNULLStep ()
 
void setNULLStep (bool _isNULLStep)
 

Public Attributes

uint32_t stepDurationSamplesRunning = 0
 running count of step samples
 
double stepDurationMilliSec = 0.0
 current duration in mSec
 
NoteDuration stepDurationNote = NoteDuration::kQuarter
 current step duration as note rhythm
 
uint32_t xfadeDurationSamplesRunning = 0
 running count of crossfade samples
 
double xfadeDurationMilliSec = 0.0
 current crossfade in mSec
 
NoteDuration xfadeDurationNote = NoteDuration::kQuarter
 current crossfade duration as note rhythm
 
double probability_Pct = 100.0
 probability of this step playing
 

Protected Attributes

uint32_t stepDurationSamples = 0
 this is what we use for the crossfader operaiton
 
uint32_t xfadeDurationSamples = 0
 this is what we use for the crossfader operaiton
 
int32_t nextStepIndex = -1
 current next step
 
int32_t previousStepIndex = -1
 current previous step
 
double stepValue = 0.0
 value of step
 
uint32_t stepMode = 0
 for individual modes of operation; e.g. timing has note and rest modes
 
bool isNULLStep = false
 allow for NULL (non-playing) steps
 
NoiseGenerator noiseGen
 

Detailed Description

Holds all the information needed for one step of one lane in the wave sequencer.

A Lane manages a set of Lane Steps (8 for SynthLab).

Author
Will Pirkle http://www.willpirkle.com
Remarks
This object is included and described in further detail in Designing Software Synthesizer Plugins in C++ 2nd Ed. by Will Pirkle
Version
Revision : 1.0
Date
Date : 2021 / 04 / 26
  • maintains the Jump table for looping and random re-shuffle of step sequence
  • handles loop timing
  • maintains knowledge of next step in sequence (for forward direction)
  • maintains knowledge of previous step in sequence (for reverse direction)
  • conceptually a kind of linked list where lane steps are the list items
Author
Will Pirkle http://www.willpirkle.com
Remarks
This object is included and described in further detail in Designing Software Synthesizer Plugins in C++ 2nd Ed. by Will Pirkle
Version
Revision : 1.0
Date
Date : 2021 / 04 / 26

Member Function Documentation

◆ updateStepProbability()

void SynthLab::LaneStep::updateStepProbability ( )
inline

handle changes in probability


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