Vital
Loading...
Searching...
No Matches
synth_constants.h File Reference
#include "value.h"
#include <string>

Go to the source code of this file.

Namespaces

namespace  vital
 Contains classes and functions used within the Vital synthesizer framework.
 
namespace  vital::constants
 Contains enumerations, additional constants, and helper functions related to routing and effects within Vital.
 

Enumerations

enum  vital::constants::SourceDestination {
  vital::constants::kFilter1 , vital::constants::kFilter2 , vital::constants::kDualFilters , vital::constants::kEffects ,
  vital::constants::kDirectOut , vital::constants::kNumSourceDestinations
}
 Represents routing destinations for oscillators and other sound sources through the signal chain. More...
 
enum  vital::constants::Effect {
  vital::constants::kChorus , vital::constants::kCompressor , vital::constants::kDelay , vital::constants::kDistortion ,
  vital::constants::kEq , vital::constants::kFilterFx , vital::constants::kFlanger , vital::constants::kPhaser ,
  vital::constants::kReverb , vital::constants::kNumEffects
}
 Identifiers for the various audio effects available in Vital. More...
 
enum  vital::constants::FilterModel {
  vital::constants::kAnalog , vital::constants::kDirty , vital::constants::kLadder , vital::constants::kDigital ,
  vital::constants::kDiode , vital::constants::kFormant , vital::constants::kComb , vital::constants::kPhase ,
  vital::constants::kNumFilterModels
}
 Identifiers for different filter models available in Vital’s filters. More...
 
enum  vital::constants::RetriggerStyle { vital::constants::kFree , vital::constants::kRetrigger , vital::constants::kSyncToPlayHead , vital::constants::kNumRetriggerStyles }
 Styles for how modulators (such as LFOs) are retriggered. More...
 

Functions

const poly_float vital::constants::kLeftOne (1.0f, 0.0f)
 A poly_float representing a vector [1.0f, 0.0f] used for channel manipulations.
 
const poly_float vital::constants::kRightOne (0.0f, 1.0f)
 A poly_float representing a vector [0.0f, 1.0f] commonly used for stereo channel operations.
 
const poly_float vital::constants::kFirstVoiceOne (1.0f, 1.0f, 0.0f, 0.0f)
 A poly_float indicating the first voice in a polyphonic group.
 
const poly_float vital::constants::kSecondVoiceOne (0.0f, 0.0f, 1.0f, 1.0f)
 A poly_float indicating the second voice in a polyphonic group.
 
const cr::Value vital::constants::kValueZero (0.0f)
 
const cr::Value vital::constants::kValueOne (1.0f)
 
const cr::Value vital::constants::kValueTwo (2.0f)
 
const cr::Value vital::constants::kValueHalf (0.5f)
 
const cr::Value vital::constants::kValueFifth (0.2f)
 
const cr::Value vital::constants::kValueTenth (0.1f)
 
const cr::Value vital::constants::kValuePi (kPi)
 
const cr::Value vital::constants::kValue2Pi (2.0f *kPi)
 
const cr::Value vital::constants::kValueSqrt2 (kSqrt2)
 
const cr::Value vital::constants::kValueNegOne (-1.0f)
 

Variables

constexpr int vital::kNumLfos = 8
 Number of LFO sources available in the Vital synthesizer.
 
constexpr int vital::kNumOscillators = 3
 Number of oscillators available in Vital.
 
constexpr int vital::kNumOscillatorWaveFrames = 257
 Number of wave frames in each oscillator’s wavetable.
 
constexpr int vital::kNumEnvelopes = 6
 Number of envelope generators in Vital.
 
constexpr int vital::kNumRandomLfos = 4
 Number of random LFO sources (random modulation generators).
 
constexpr int vital::kNumMacros = 4
 Number of macro controls available.
 
constexpr int vital::kNumFilters = 2
 Number of filter slots in Vital.
 
constexpr int vital::kNumFormants = 4
 Number of formant filters available.
 
constexpr int vital::kNumChannels = 2
 Number of output channels (stereo = 2).
 
constexpr int vital::kMaxPolyphony = 33
 The maximum number of voices allocated for polyphony (includes an extra for handling transitions).
 
constexpr int vital::kMaxActivePolyphony = 32
 The maximum number of active voices Vital uses simultaneously.
 
constexpr int vital::kLfoDataResolution = 2048
 Resolution used for generating LFO data tables.
 
constexpr int vital::kMaxModulationConnections = 64
 Maximum number of modulation connections allowed.
 
constexpr int vital::kOscilloscopeMemorySampleRate = 22000
 Sample rate (in Hz) at which the oscilloscope memory is sampled.
 
constexpr int vital::kOscilloscopeMemoryResolution = 512
 Resolution (number of samples) in the oscilloscope memory buffer.
 
constexpr int vital::kAudioMemorySamples = 1 << 15
 Size of the stereo audio memory buffer used for visualization.
 
constexpr int vital::kDefaultWindowWidth = 1400
 Default width of the Vital window (in pixels).
 
constexpr int vital::kDefaultWindowHeight = 820
 Default height of the Vital window (in pixels).
 
constexpr int vital::kMinWindowWidth = 350
 Minimum allowable window width.
 
constexpr int vital::kMinWindowHeight = 205
 Minimum allowable window height.
 
constexpr int vital::kDefaultKeyboardOffset = 48
 Default starting octave offset for the computer keyboard layout.
 
constexpr wchar_t vital::kDefaultKeyboardOctaveUp = 'x'
 Default key for octave-up action in the computer keyboard layout.
 
constexpr wchar_t vital::kDefaultKeyboardOctaveDown = 'z'
 Default key for octave-down action in the computer keyboard layout.
 
const std::wstring vital::kDefaultKeyboard = L"awsedftgyhujkolp;'"
 The default keyboard layout (QWERTY-based) mapping keys to notes.
 
const std::string vital::kPresetExtension = "vital"
 File extension for Vital preset files.
 
const std::string vital::kWavetableExtension = "vitaltable"
 File extension for Vital wavetable files.
 
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.
 
const std::string vital::kSampleExtensionsList = "*.wav;*.flac"
 A semicolon-separated list of supported sample file formats (e.g., wav and flac).
 
const std::string vital::kSkinExtension = "vitalskin"
 File extension for Vital skin/theme files.
 
const std::string vital::kLfoExtension = "vitallfo"
 File extension for Vital LFO shape files.
 
const std::string vital::kBankExtension = "vitalbank"
 File extension for Vital bank files, which group multiple presets.
 
constexpr int vital::constants::kNumSyncedFrequencyRatios = 13
 Number of frequency ratios used when syncing parameters (e.g., LFO speed) to tempo.
 
constexpr vital::mono_float vital::constants::kSyncedFrequencyRatios [kNumSyncedFrequencyRatios]
 Predefined list of frequency ratios for synced parameters (from 1/128th to 16x speed).
 
const poly_float vital::constants::kStereoSplit = kLeftOne - kRightOne
 Splits stereo channels into left and right components.
 
const poly_float vital::constants::kPolySqrt2 = kSqrt2
 A poly_float representing sqrt(2), used in various DSP calculations.
 
const poly_mask vital::constants::kFullMask = poly_float::equal(0.0f, 0.0f)
 A mask covering all lanes of a poly_float vector.
 
const poly_mask vital::constants::kLeftMask = poly_float::equal(kLeftOne, 1.0f)
 A mask identifying the left channel when comparing to kLeftOne.
 
const poly_mask vital::constants::kRightMask = poly_float::equal(kRightOne, 1.0f)
 A mask identifying the right channel when comparing to kRightOne.
 
const poly_mask vital::constants::kFirstMask = poly_float::equal(kFirstVoiceOne, 1.0f)
 A mask identifying the first voice slots in a polyphonic vector.
 
const poly_mask vital::constants::kSecondMask = poly_float::equal(kSecondVoiceOne, 1.0f)
 A mask identifying the second voice slots in a polyphonic vector.