Vital
Loading...
Searching...
No Matches
vital Namespace Reference

Contains classes and functions used within the Vital synthesizer framework. More...

Namespaces

namespace  constants
 Contains enumerations, additional constants, and helper functions related to routing and effects within Vital.
 
namespace  cr
 
namespace  futils
 Provides fast approximation functions for exponentials, logarithms, trigonometric operations, and saturation curves.
 
namespace  utils
 A collection of inline helper functions and constants used for SIMD computations, interpolation, and other audio-related utilities.
 

Classes

class  Add
 Adds two input buffers sample-by-sample. More...
 
struct  AggregateVoice
 An aggregate grouping that pairs multiple (parallel) voices with a shared Processor instance. More...
 
class  BilinearInterpolate
 Performs bilinear interpolation among four corners (top-left, top-right, bottom-left, bottom-right). More...
 
class  ChorusModule
 A chorus effect module that modulates delayed signals to create thickening and widening of the sound. More...
 
class  CircularQueue
 A generic circular buffer (FIFO) data structure that allows adding and removing elements efficiently. More...
 
class  Clamp
 Clamps each sample to a specified [min, max] range. More...
 
class  CombFilter
 A Processor implementing a comb-based filter with multiple feedback styles. More...
 
class  CombModule
 A module that implements a comb filter effect. More...
 
class  Compressor
 A dynamic range compressor Processor that operates on a single band of audio. More...
 
class  CompressorModule
 A multiband compressor module that splits the input signal into multiple bands, applies compression to each, and then recombines them. More...
 
class  DcFilter
 A simple DC blocking filter implemented as a one-pole high-pass filter. More...
 
class  Decimator
 A ProcessorRouter that intelligently reduces audio sample rate based on configured stages. More...
 
class  Delay
 A flexible delay line effect processor that can operate in various styles and apply filtering. More...
 
class  DelayModule
 A stereo delay effect module providing adjustable delay times, feedback, filtering, and wet/dry mix. More...
 
class  DigitalSvf
 A state-variable filter (SVF) implementation, supporting multiple filter types (12/24 dB, shelving, dual modes). More...
 
class  DiodeFilter
 A diode ladder filter implementation for the Vital synthesizer. More...
 
class  DirtyFilter
 A nonlinear filter that produces a "dirty" and saturated sound, ideal for adding character to the signal. More...
 
class  Distortion
 A Processor that applies various types of distortion to an audio signal. More...
 
class  DistortionModule
 A module that applies distortion and optional filtering to an audio signal. More...
 
class  EffectsModulationHandler
 A VoiceHandler extension managing various modulation sources for effects processing. More...
 
class  Envelope
 A processor that generates an envelope signal based on typical ADSR (Attack, Decay, Sustain, Release) parameters. More...
 
class  EnvelopeModule
 A module that generates an envelope signal (ADSR-like) controlled by various parameters. More...
 
class  EqualizerModule
 A multiband equalizer module that provides low, mid, and high frequency shaping. More...
 
class  Feedback
 A processor that buffers and replays audio, providing a feedback loop mechanism. More...
 
class  FFT
 A template class to provide a statically allocated FourierTransform instance for a given number of bits. More...
 
class  FilterFxModule
 A wrapper module that hosts a filter effect. This is a specialized module for filter effects in the chain. More...
 
class  FilterModule
 A versatile filter module supporting multiple filter models and mixing options. More...
 
class  FiltersModule
 A module that manages two filter modules and provides multiple routing configurations. More...
 
class  FirHalfbandDecimator
 A FIR half-band decimator for downsampling audio by a factor of 2. More...
 
class  FlangerModule
 A flanger effect module using a modulated delay line to produce comb-filter-like sweeps. More...
 
class  FormantFilter
 A multi-formant filter for vocal/voicing effects in the Vital synthesizer. More...
 
class  FormantManager
 Manages a collection of DigitalSvf instances for formant filtering. More...
 
class  FormantModule
 A module that applies various formant filtering styles to an incoming audio signal. More...
 
class  FourierTransform
 A Fourier transform implementation using KissFFT for platforms where other accelerations are unavailable. More...
 
class  IirHalfbandDecimator
 An IIR-based half-band decimator for downsampling audio by a factor of 2. More...
 
struct  Input
 Represents a connection to an Output from another Processor. More...
 
class  Interpolate
 Interpolates between two input buffers (From, To) based on a fractional value [0..1]. More...
 
class  Inverse
 Computes 1 / x for each sample. More...
 
class  LadderFilter
 A classic transistor ladder-style filter for the Vital synthesizer. More...
 
class  LegatoFilter
 A processor that filters note triggers to implement legato behavior. More...
 
class  LfoModule
 A module that generates a Low-Frequency Oscillation (LFO) signal from a LineGenerator source. More...
 
class  LinearScale
 Multiplies each sample by a fixed scale factor. More...
 
class  LineMap
 A processor that maps a phase input through a line generator, producing a value and phase output. More...
 
class  LinkwitzRileyFilter
 A Linkwitz-Riley crossover filter splitting audio into low and high bands. More...
 
struct  matrix
 A structure representing a 4x1 matrix of poly_float rows. More...
 
class  Memory
 A specialized MemoryTemplate for poly_float::kSize channels. More...
 
class  MemoryTemplate
 A template for a memory buffer that stores time-domain samples for one or more channels. More...
 
struct  modulation_change
 A structure describing changes to the modulation routing in the engine. More...
 
struct  ModulationConnection
 A structure representing a single modulation connection between a modulation source and a destination parameter. More...
 
class  ModulationConnectionBank
 A container managing a fixed number of ModulationConnections. More...
 
class  ModulationConnectionProcessor
 A processor that applies a modulation signal to a parameter, performing mapping, scaling, and morphing. More...
 
class  ModulationSum
 A special sum operator that can accumulate control-rate and audio-rate modulation signals. More...
 
struct  ModuleData
 Holds various data structures that define the internal state of a SynthModule. More...
 
class  MultibandCompressor
 A Processor implementing multiband compression using multiple Compressor instances. More...
 
class  Multiply
 Multiplies two input buffers sample-by-sample. More...
 
class  Negate
 Negates each sample (multiplies by -1). More...
 
class  NoteHandler
 An interface for handling MIDI note events within a synthesizer or audio system. More...
 
class  OneDimLookup
 A one-dimensional lookup table for a given function with a specified resolution. More...
 
class  OnePoleFilter
 A one-pole filter implementation with optional nonlinear saturation. More...
 
class  Operator
 Base class for operator nodes that perform arithmetic or other transformations in the processing graph. More...
 
class  OscillatorModule
 A synthesis module that represents an oscillator within the Vital synthesizer. More...
 
struct  Output
 Holds and manages a buffer of samples (poly_float) for a Processor's output. More...
 
class  Parameters
 A static utility class to access parameter details globally. More...
 
class  PeakMeter
 A processor that computes both instantaneous peak and a "memory peak" of an incoming audio signal. More...
 
struct  PhaseBuffer
 Holds a buffer of poly_int values for phase information. More...
 
class  Phaser
 A multi-stage phaser effect that modulates filter cutoff with a low-frequency oscillator. More...
 
class  PhaserFilter
 A multi-stage phaser filter for the Vital synthesizer. More...
 
class  PhaserModule
 A module that provides a phaser effect for audio signals. More...
 
struct  poly_float
 Represents a vector of floating-point values using SIMD instructions. More...
 
struct  poly_int
 Represents a vector of integer values using SIMD instructions. More...
 
class  PortamentoSlope
 A processor that smoothly transitions (portamento) from a source value to a target value over a specified time. More...
 
class  PredefinedWaveFrames
 Holds a set of predefined WaveFrame shapes that can be used as basic building blocks. More...
 
class  Processor
 Base class for all signal-processing units in Vital. More...
 
class  ProcessorRouter
 A specialized Processor that manages a directed graph of Processors and ensures correct processing order. More...
 
struct  ProcessorState
 Holds shared state regarding sample rate, oversampling, and other flags. More...
 
class  ProducersModule
 A module that manages multiple audio producers (oscillators and sampler) and routes their outputs. More...
 
class  RandomLfo
 A Low-Frequency Oscillator (LFO) that generates random modulation signals. More...
 
class  RandomLfoModule
 A module that produces random low-frequency oscillations (LFOs) for modulation purposes. More...
 
class  RandomValues
 A singleton class that generates and stores random poly_float values. More...
 
class  ReorderableEffectChain
 A module that manages a chain of audio effects whose order can be dynamically changed. More...
 
class  Reverb
 A Processor implementing a dense feedback network reverb. More...
 
class  ReverbModule
 A module that applies a reverb effect to an audio signal. More...
 
class  SallenKeyFilter
 A Sallen-Key style filter capable of multiple modes (12dB, 24dB, dual modes) with nonlinear drive and resonance. More...
 
class  Sample
 Holds and manages a single sampled waveform, including stereo or mono data and multiple band-limited versions for different playback rates. More...
 
class  SampleAndHoldBuffer
 Grabs the first sample from the input, then repeats it for all samples in the output. More...
 
class  SampleModule
 A module that plays back a sample (audio file) as part of the synthesis pipeline. More...
 
class  SampleSource
 A Processor that reads from a Sample object, providing audio output with controls for looping, pitch transposition, and panning. More...
 
class  SmoothMultiply
 Multiplies an audio-rate input by a smoothly changing control-rate parameter over one block. More...
 
class  SmoothValue
 A Value processor that smoothly transitions from its current value to a target value. More...
 
class  SmoothVolume
 A specialized SmoothMultiply that interprets the control-rate input in dB for volume adjustments. More...
 
class  SoundEngine
 Core class responsible for handling note events, oversampling, and the main effects chain. More...
 
class  Square
 Squares each sample (sample * sample). More...
 
class  StatusOutput
 A helper class to track the "status" of a particular Output as a poly_float value. More...
 
class  StereoEncoder
 Encodes or decodes a stereo signal by rotating or centering the phase of the left and right channels. More...
 
class  StereoMemory
 A specialized MemoryTemplate for two-channel (stereo) audio. More...
 
class  StringLayout
 Manages a keyboard layout mapping for a computer keyboard used as a MIDI input device. More...
 
class  Subtract
 Subtracts the second input buffer from the first, sample-by-sample. More...
 
class  SynthFilter
 Abstract base class for Vital’s synthesizer filters. More...
 
class  SynthLfo
 A versatile Low-Frequency Oscillator (LFO) for audio synthesis, supporting multiple sync modes and smoothing options. More...
 
class  SynthModule
 A ProcessorRouter that encapsulates a cohesive unit of functionality in the synthesizer. More...
 
class  SynthOscillator
 A core oscillator processor that generates audio by reading wavetable data with various effects. More...
 
class  SynthVoiceHandler
 Manages per-voice processing of audio signals within the Vital synthesizer. More...
 
class  TempoChooser
 Chooses a frequency based on tempo sync or direct frequency modes. More...
 
class  TriggerRandom
 A processor that outputs a random value on a trigger event. More...
 
class  Upsampler
 A simple upsampler that duplicates samples to increase the sample rate by an integral factor. More...
 
class  Value
 A Processor that maintains and outputs a constant poly_float value. More...
 
struct  ValueDetails
 Holds metadata about a single parameter (control) in the Vital synthesizer. More...
 
class  ValueDetailsLookup
 Maintains a lookup table for all parameters defined in Vital. More...
 
class  ValueSwitch
 A specialized Value processor that selects one of multiple input sources to pass through, based on its own control value. More...
 
class  VariableAdd
 Adds together an arbitrary number of inputs. More...
 
class  VocalTract
 A model of a vocal tract for generating vowel-like formants and vocal articulations. More...
 
class  Voice
 Represents a single playing note/voice, including voice-state and event handling. More...
 
class  VoiceHandler
 A SynthModule and NoteHandler that manages a pool of polyphonic voices, handles note-on/off logic, and routes the data to multiple processors. More...
 
struct  VoiceState
 Holds state data for a single voice, such as MIDI note, velocity, pitch bend, etc. More...
 
class  WaveFrame
 Represents a single frame of a wavetable, containing both time-domain and frequency-domain data. More...
 
class  Wavetable
 A class representing a wavetable, holding multiple frames of waveforms and their frequency-domain representations. More...
 

Typedefs

typedef std::map< std::string, Value * > control_map
 Maps parameter names to Value pointers representing synth control parameters.
 
typedef std::pair< Value *, mono_floatcontrol_change
 Represents a single control change: pairs a parameter Value with the new requested value.
 
typedef std::map< std::string, Processor * > input_map
 Maps parameter names to Processor pointers, representing input processors for signals.
 
typedef std::map< std::string, Output * > output_map
 Maps parameter names to Output pointers, representing output signals from various modules.
 
typedef Delay< StereoMemoryStereoDelay
 StereoDelay is a Delay processor specialized with StereoMemory.
 
typedef Delay< MemoryMultiDelay
 MultiDelay is a Delay processor specialized with Memory.
 
typedef float mono_float
 
typedef poly_int poly_mask
 Alias for clarity; used as a mask type in poly_float.
 

Enumerations

enum  VoiceEvent {
  kInvalid , kVoiceIdle , kVoiceOn , kVoiceHold ,
  kVoiceDecay , kVoiceOff , kVoiceKill , kNumVoiceEvents
}
 Enumerates different states or events of a synth voice's lifecycle. More...
 

Functions

bool compareValueDetails (const ValueDetails *a, const ValueDetails *b)
 Comparison function for sorting parameters by version and name.
 

Variables

constexpr int kNumLfos = 8
 Number of LFO sources available in the Vital synthesizer.
 
constexpr int kNumOscillators = 3
 Number of oscillators available in Vital.
 
constexpr int kNumOscillatorWaveFrames = 257
 Number of wave frames in each oscillator’s wavetable.
 
constexpr int kNumEnvelopes = 6
 Number of envelope generators in Vital.
 
constexpr int kNumRandomLfos = 4
 Number of random LFO sources (random modulation generators).
 
constexpr int kNumMacros = 4
 Number of macro controls available.
 
constexpr int kNumFilters = 2
 Number of filter slots in Vital.
 
constexpr int kNumFormants = 4
 Number of formant filters available.
 
constexpr int kNumChannels = 2
 Number of output channels (stereo = 2).
 
constexpr int kMaxPolyphony = 33
 The maximum number of voices allocated for polyphony (includes an extra for handling transitions).
 
constexpr int kMaxActivePolyphony = 32
 The maximum number of active voices Vital uses simultaneously.
 
constexpr int kLfoDataResolution = 2048
 Resolution used for generating LFO data tables.
 
constexpr int kMaxModulationConnections = 64
 Maximum number of modulation connections allowed.
 
constexpr int kOscilloscopeMemorySampleRate = 22000
 Sample rate (in Hz) at which the oscilloscope memory is sampled.
 
constexpr int kOscilloscopeMemoryResolution = 512
 Resolution (number of samples) in the oscilloscope memory buffer.
 
constexpr int kAudioMemorySamples = 1 << 15
 Size of the stereo audio memory buffer used for visualization.
 
constexpr int kDefaultWindowWidth = 1400
 Default width of the Vital window (in pixels).
 
constexpr int kDefaultWindowHeight = 820
 Default height of the Vital window (in pixels).
 
constexpr int kMinWindowWidth = 350
 Minimum allowable window width.
 
constexpr int kMinWindowHeight = 205
 Minimum allowable window height.
 
constexpr int kDefaultKeyboardOffset = 48
 Default starting octave offset for the computer keyboard layout.
 
constexpr wchar_t kDefaultKeyboardOctaveUp = 'x'
 Default key for octave-up action in the computer keyboard layout.
 
constexpr wchar_t kDefaultKeyboardOctaveDown = 'z'
 Default key for octave-down action in the computer keyboard layout.
 
const std::wstring kDefaultKeyboard = L"awsedftgyhujkolp;'"
 The default keyboard layout (QWERTY-based) mapping keys to notes.
 
const std::string kPresetExtension = "vital"
 File extension for Vital preset files.
 
const std::string kWavetableExtension = "vitaltable"
 File extension for Vital wavetable files.
 
const std::string kWavetableExtensionsList = "*." + vital::kWavetableExtension + ";*.wav;*.flac"
 A semicolon-separated list of supported wavetable file extensions, including external formats like .wav and .flac.
 
const std::string kSampleExtensionsList = "*.wav;*.flac"
 A semicolon-separated list of supported sample file formats (e.g., wav and flac).
 
const std::string kSkinExtension = "vitalskin"
 File extension for Vital skin/theme files.
 
const std::string kLfoExtension = "vitallfo"
 File extension for Vital LFO shape files.
 
const std::string kBankExtension = "vitalbank"
 File extension for Vital bank files, which group multiple presets.
 
constexpr mono_float kPi = 3.1415926535897932384626433832795f
 Pi constant.
 
constexpr mono_float kSqrt2 = 1.414213562373095048801688724209698f
 Square root of 2.
 
constexpr mono_float kEpsilon = 1e-16f
 A small epsilon for floating comparisons.
 
constexpr int kMaxBufferSize = 128
 Maximum buffer size for processing.
 
constexpr int kMaxOversample = 8
 Maximum allowed oversampling factor.
 
constexpr int kDefaultSampleRate = 44100
 Default sample rate in Hz.
 
constexpr mono_float kMinNyquistMult = 0.45351473923f
 Minimum ratio relative to Nyquist frequency.
 
constexpr int kMaxSampleRate = 192000
 Maximum expected sample rate in Hz.
 
constexpr int kMidiSize = 128
 MIDI note count (0-127).
 
constexpr int kMidiTrackCenter = 60
 MIDI note considered as center (Middle C).
 
constexpr mono_float kMidi0Frequency = 8.1757989156f
 Frequency of MIDI note 0 (C-1).
 
constexpr mono_float kDbfsIncrease = 6.0f
 A gain increase of 6 dB.
 
constexpr int kDegreesPerCycle = 360
 Degrees in a full rotation (for LFO phases).
 
constexpr int kMsPerSec = 1000
 Milliseconds per second.
 
constexpr int kNotesPerOctave = 12
 Number of semitones per octave.
 
constexpr int kCentsPerNote = 100
 Number of cents per semitone.
 
constexpr int kCentsPerOctave = kNotesPerOctave * kCentsPerNote
 Cents per octave (1200).
 
constexpr int kPpq = 960
 Pulses per quarter note used internally.
 
constexpr mono_float kVoiceKillTime = 0.05f
 Time in seconds after which a silent voice is considered dead.
 
constexpr int kNumMidiChannels = 16
 MIDI channels available per device.
 
constexpr int kFirstMidiChannel = 0
 The first MIDI channel index.
 
constexpr int kLastMidiChannel = kNumMidiChannels - 1
 The last MIDI channel index.
 
constexpr float kPcmScale = 32767.0f
 Scaling for converting float data to 16-bit PCM.
 
constexpr float kComplexAmplitudePcmScale = 50.0f
 Additional amplitude scale used for complex data to PCM.
 
constexpr float kComplexPhasePcmScale = 10000.0f
 Additional phase scale used for complex data to PCM.
 

Detailed Description

Contains classes and functions used within the Vital synthesizer framework.

The main namespace for Vital synthesizer-related classes, functions, and constants.

Typedef Documentation

◆ control_change

typedef std::pair<Value*, mono_float> vital::control_change

Represents a single control change: pairs a parameter Value with the new requested value.

◆ control_map

typedef std::map<std::string, Value*> vital::control_map

Maps parameter names to Value pointers representing synth control parameters.

◆ input_map

typedef std::map<std::string, Processor*> vital::input_map

Maps parameter names to Processor pointers, representing input processors for signals.

◆ mono_float

typedef float vital::mono_float

◆ MultiDelay

MultiDelay is a Delay processor specialized with Memory.

◆ output_map

typedef std::map<std::string, Output*> vital::output_map

Maps parameter names to Output pointers, representing output signals from various modules.

◆ poly_mask

Alias for clarity; used as a mask type in poly_float.

◆ StereoDelay

StereoDelay is a Delay processor specialized with StereoMemory.

Enumeration Type Documentation

◆ VoiceEvent

Enumerates different states or events of a synth voice's lifecycle.

kInvalid: Invalid state. kVoiceIdle: Voice is idle and not producing sound. kVoiceOn: Voice is triggered on (note-on event). kVoiceHold: Voice is holding a steady state (sustained note). kVoiceDecay: Voice is in the release/decay phase after note-off but still audible. kVoiceOff: Voice has received a note-off event and is fading out. kVoiceKill: Voice is to be terminated and reused for another note. kNumVoiceEvents: Number of possible voice events.

Enumerator
kInvalid 
kVoiceIdle 
kVoiceOn 
kVoiceHold 
kVoiceDecay 
kVoiceOff 
kVoiceKill 
kNumVoiceEvents 

Function Documentation

◆ compareValueDetails()

bool vital::compareValueDetails ( const ValueDetails * a,
const ValueDetails * b )

Comparison function for sorting parameters by version and name.

This ensures that parameters are sorted first by the version in which they were added, then alphabetically by name.

Parameters
aPointer to the first ValueDetails.
bPointer to the second ValueDetails.
Returns
True if a < b in sorting order.

Variable Documentation

◆ kAudioMemorySamples

int vital::kAudioMemorySamples = 1 << 15
constexpr

Size of the stereo audio memory buffer used for visualization.

◆ kBankExtension

const std::string vital::kBankExtension = "vitalbank"

File extension for Vital bank files, which group multiple presets.

◆ kCentsPerNote

int vital::kCentsPerNote = 100
constexpr

Number of cents per semitone.

◆ kCentsPerOctave

int vital::kCentsPerOctave = kNotesPerOctave * kCentsPerNote
constexpr

Cents per octave (1200).

◆ kComplexAmplitudePcmScale

float vital::kComplexAmplitudePcmScale = 50.0f
constexpr

Additional amplitude scale used for complex data to PCM.

◆ kComplexPhasePcmScale

float vital::kComplexPhasePcmScale = 10000.0f
constexpr

Additional phase scale used for complex data to PCM.

◆ kDbfsIncrease

mono_float vital::kDbfsIncrease = 6.0f
constexpr

A gain increase of 6 dB.

◆ kDefaultKeyboard

const std::wstring vital::kDefaultKeyboard = L"awsedftgyhujkolp;'"

The default keyboard layout (QWERTY-based) mapping keys to notes.

◆ kDefaultKeyboardOctaveDown

wchar_t vital::kDefaultKeyboardOctaveDown = 'z'
constexpr

Default key for octave-down action in the computer keyboard layout.

◆ kDefaultKeyboardOctaveUp

wchar_t vital::kDefaultKeyboardOctaveUp = 'x'
constexpr

Default key for octave-up action in the computer keyboard layout.

◆ kDefaultKeyboardOffset

int vital::kDefaultKeyboardOffset = 48
constexpr

Default starting octave offset for the computer keyboard layout.

◆ kDefaultSampleRate

int vital::kDefaultSampleRate = 44100
constexpr

Default sample rate in Hz.

◆ kDefaultWindowHeight

int vital::kDefaultWindowHeight = 820
constexpr

Default height of the Vital window (in pixels).

◆ kDefaultWindowWidth

int vital::kDefaultWindowWidth = 1400
constexpr

Default width of the Vital window (in pixels).

◆ kDegreesPerCycle

int vital::kDegreesPerCycle = 360
constexpr

Degrees in a full rotation (for LFO phases).

◆ kEpsilon

mono_float vital::kEpsilon = 1e-16f
constexpr

A small epsilon for floating comparisons.

◆ kFirstMidiChannel

int vital::kFirstMidiChannel = 0
constexpr

The first MIDI channel index.

◆ kLastMidiChannel

int vital::kLastMidiChannel = kNumMidiChannels - 1
constexpr

The last MIDI channel index.

◆ kLfoDataResolution

int vital::kLfoDataResolution = 2048
constexpr

Resolution used for generating LFO data tables.

◆ kLfoExtension

const std::string vital::kLfoExtension = "vitallfo"

File extension for Vital LFO shape files.

◆ kMaxActivePolyphony

int vital::kMaxActivePolyphony = 32
constexpr

The maximum number of active voices Vital uses simultaneously.

◆ kMaxBufferSize

int vital::kMaxBufferSize = 128
constexpr

Maximum buffer size for processing.

◆ kMaxModulationConnections

int vital::kMaxModulationConnections = 64
constexpr

Maximum number of modulation connections allowed.

◆ kMaxOversample

int vital::kMaxOversample = 8
constexpr

Maximum allowed oversampling factor.

◆ kMaxPolyphony

int vital::kMaxPolyphony = 33
constexpr

The maximum number of voices allocated for polyphony (includes an extra for handling transitions).

◆ kMaxSampleRate

int vital::kMaxSampleRate = 192000
constexpr

Maximum expected sample rate in Hz.

◆ kMidi0Frequency

mono_float vital::kMidi0Frequency = 8.1757989156f
constexpr

Frequency of MIDI note 0 (C-1).

◆ kMidiSize

int vital::kMidiSize = 128
constexpr

MIDI note count (0-127).

◆ kMidiTrackCenter

int vital::kMidiTrackCenter = 60
constexpr

MIDI note considered as center (Middle C).

◆ kMinNyquistMult

mono_float vital::kMinNyquistMult = 0.45351473923f
constexpr

Minimum ratio relative to Nyquist frequency.

◆ kMinWindowHeight

int vital::kMinWindowHeight = 205
constexpr

Minimum allowable window height.

◆ kMinWindowWidth

int vital::kMinWindowWidth = 350
constexpr

Minimum allowable window width.

◆ kMsPerSec

int vital::kMsPerSec = 1000
constexpr

Milliseconds per second.

◆ kNotesPerOctave

int vital::kNotesPerOctave = 12
constexpr

Number of semitones per octave.

◆ kNumChannels

int vital::kNumChannels = 2
constexpr

Number of output channels (stereo = 2).

◆ kNumEnvelopes

int vital::kNumEnvelopes = 6
constexpr

Number of envelope generators in Vital.

◆ kNumFilters

int vital::kNumFilters = 2
constexpr

Number of filter slots in Vital.

◆ kNumFormants

int vital::kNumFormants = 4
constexpr

Number of formant filters available.

◆ kNumLfos

int vital::kNumLfos = 8
constexpr

Number of LFO sources available in the Vital synthesizer.

◆ kNumMacros

int vital::kNumMacros = 4
constexpr

Number of macro controls available.

◆ kNumMidiChannels

int vital::kNumMidiChannels = 16
constexpr

MIDI channels available per device.

◆ kNumOscillators

int vital::kNumOscillators = 3
constexpr

Number of oscillators available in Vital.

◆ kNumOscillatorWaveFrames

int vital::kNumOscillatorWaveFrames = 257
constexpr

Number of wave frames in each oscillator’s wavetable.

◆ kNumRandomLfos

int vital::kNumRandomLfos = 4
constexpr

Number of random LFO sources (random modulation generators).

◆ kOscilloscopeMemoryResolution

int vital::kOscilloscopeMemoryResolution = 512
constexpr

Resolution (number of samples) in the oscilloscope memory buffer.

◆ kOscilloscopeMemorySampleRate

int vital::kOscilloscopeMemorySampleRate = 22000
constexpr

Sample rate (in Hz) at which the oscilloscope memory is sampled.

◆ kPcmScale

float vital::kPcmScale = 32767.0f
constexpr

Scaling for converting float data to 16-bit PCM.

◆ kPi

mono_float vital::kPi = 3.1415926535897932384626433832795f
constexpr

Pi constant.

◆ kPpq

int vital::kPpq = 960
constexpr

Pulses per quarter note used internally.

◆ kPresetExtension

const std::string vital::kPresetExtension = "vital"

File extension for Vital preset files.

◆ kSampleExtensionsList

const std::string vital::kSampleExtensionsList = "*.wav;*.flac"

A semicolon-separated list of supported sample file formats (e.g., wav and flac).

◆ kSkinExtension

const std::string vital::kSkinExtension = "vitalskin"

File extension for Vital skin/theme files.

◆ kSqrt2

mono_float vital::kSqrt2 = 1.414213562373095048801688724209698f
constexpr

Square root of 2.

◆ kVoiceKillTime

mono_float vital::kVoiceKillTime = 0.05f
constexpr

Time in seconds after which a silent voice is considered dead.

◆ kWavetableExtension

const std::string vital::kWavetableExtension = "vitaltable"

File extension for Vital wavetable files.

◆ kWavetableExtensionsList

const std::string vital::kWavetableExtensionsList = "*." + vital::kWavetableExtension + ";*.wav;*.flac"

A semicolon-separated list of supported wavetable file extensions, including external formats like .wav and .flac.