Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
forge_effect_modulation_catalog.hpp File Reference
#include <pulp/host/custom_node_type.hpp>
#include <vector>
#include <pulp/signal/chorus_family.hpp>
#include <pulp/signal/frequency_shifter_ssb.hpp>
#include <pulp/signal/phaser_stages.hpp>
#include <pulp/signal/vibrato.hpp>
#include <cmath>
#include <string>
#include <pulp/host/detail/forge_effect_modulation_catalog_descriptor.hpp>
#include <pulp/host/detail/forge_effect_modulation_extended_catalog.hpp>

Go to the source code of this file.

Classes

struct  pulp::host::modulation::chorus::Instance
struct  pulp::host::modulation::phaser::Instance
struct  pulp::host::modulation::vibrato::delay_line::Instance
struct  pulp::host::modulation::vibrato::phase::Instance
struct  pulp::host::modulation::vibrato::univibe::Instance

Namespaces

namespace  pulp
namespace  pulp::host
 Bounded event contracts shared by host ingress and graph-authored nodes.
namespace  pulp::host::modulation
namespace  pulp::host::modulation::chorus
namespace  pulp::host::modulation::phaser
namespace  pulp::host::modulation::vibrato
namespace  pulp::host::modulation::vibrato::delay_line
namespace  pulp::host::modulation::vibrato::phase
namespace  pulp::host::modulation::vibrato::univibe

Typedefs

using pulp::host::modulation::chorus::Engine = signal::ChorusEnsemble
using pulp::host::modulation::chorus::Voicing = Engine::Voicing
using pulp::host::modulation::chorus::JunoMode = Engine::JunoMode
using pulp::host::modulation::phaser::Engine = signal::PhaserStages
using pulp::host::modulation::vibrato::delay_line::Engine = signal::DelayVibrato
using pulp::host::modulation::vibrato::phase::Engine = signal::PhaseVibrato
using pulp::host::modulation::vibrato::univibe::Engine = signal::UniVibe
using pulp::host::modulation::vibrato::univibe::Mode = Engine::Mode

Functions

float pulp::host::modulation::ssb_frequency_shifter_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
signal::FrequencyShiftMode pulp::host::modulation::mode_from_param (float value)
 Decodes the stepped mode param.
CustomNodeType pulp::host::modulation::make_frequency_shifter_node ()
 The Bode/Moog single-sideband frequency shifter as a lowerable custom node.
std::string pulp::host::modulation::chorus::chorus_type_id (Voicing voicing, JunoMode juno_mode, bool bbd_color)
 The type id for one realization.
std::string pulp::host::modulation::chorus::chorus_display_name (Voicing voicing, JunoMode juno_mode, bool bbd_color)
float pulp::host::modulation::chorus::chorus_worst_case_gain (Voicing voicing, double sample_rate)
 Worst-case linear gain for the Forge registry (series law 8).
CustomNodeType pulp::host::modulation::chorus::make_chorus_node (Voicing voicing=Voicing::ce2, JunoMode juno_mode=JunoMode::mode_I, bool bbd_color=false)
 One chorus voicing as a lowerable custom node.
signal::LfoWave pulp::host::modulation::phaser::wave_from_param (float value)
 Decodes the stepped wave param.
std::string pulp::host::modulation::phaser::phaser_type_id (int stages)
float pulp::host::modulation::phaser::phaser_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
CustomNodeType pulp::host::modulation::phaser::make_phaser_node (int stages=Engine::kStageCountDefault)
 A swept allpass cascade as a lowerable custom node.
double pulp::host::modulation::vibrato::allpass_cascade_l1 (const std::vector< double > &corners_hz, double sample_rate, int length=200000)
std::string pulp::host::modulation::vibrato::delay_line::delay_vibrato_type_id (float min_rate_hz)
float pulp::host::modulation::vibrato::delay_line::delay_vibrato_worst_case_gain ()
 Worst-case linear gain at the registered interpolator ceiling.
CustomNodeType pulp::host::modulation::vibrato::delay_line::make_delay_vibrato_node (float min_rate_hz=4.0f)
 True pitch vibrato as a lowerable mono custom node.
std::string pulp::host::modulation::vibrato::phase::phase_vibrato_type_id (int stages)
float pulp::host::modulation::vibrato::phase::phase_vibrato_worst_case_gain (int stages, double sample_rate)
 Worst-case linear gain at the lowest registered allpass corner.
CustomNodeType pulp::host::modulation::vibrato::phase::make_phase_vibrato_node (int stages=Engine::kDefaultStageCount)
 Phase vibrato as a lowerable mono custom node.
Mode pulp::host::modulation::vibrato::univibe::mode_from_param (float value)
 Decodes the stepped mode parameter.
float pulp::host::modulation::vibrato::univibe::univibe_worst_case_gain (double sample_rate)
 Worst-case linear gain at the lowest registered allpass corner.
CustomNodeType pulp::host::modulation::vibrato::univibe::make_univibe_node ()
 Univibe as a lowerable stereo-in/stereo-out custom node.

Variables

constexpr const char * pulp::host::modulation::kSsbFrequencyShifterTypeId = "modulation.frequency_shifter_ssb"
constexpr state::ParamID pulp::host::modulation::kShiftHz = 1
constexpr state::ParamID pulp::host::modulation::kFeedback = 2
constexpr state::ParamID pulp::host::modulation::kFeedbackDelayMs = 3
constexpr state::ParamID pulp::host::modulation::kMix = 4
constexpr state::ParamID pulp::host::modulation::kShiftMode = 5
constexpr state::ParamID pulp::host::modulation::kStereoSpread = 6
constexpr float pulp::host::modulation::kModeUp = 0.0f
 The mode param's stepped encoding.
constexpr float pulp::host::modulation::kModeDown = 1.0f
constexpr float pulp::host::modulation::kModeDualMono = 2.0f
constexpr float pulp::host::modulation::kModeStereoSplit = 3.0f
constexpr state::ParamID pulp::host::modulation::chorus::kRateHz = 1
constexpr state::ParamID pulp::host::modulation::chorus::kDepth = 2
constexpr state::ParamID pulp::host::modulation::chorus::kMix = 3
constexpr state::ParamID pulp::host::modulation::chorus::kStereoWidth = 4
constexpr double pulp::host::modulation::chorus::kRateMinHz = 0.05
 The registered rate span, in Hz.
constexpr double pulp::host::modulation::chorus::kRateMaxHz = 10.0
constexpr state::ParamID pulp::host::modulation::phaser::kRateHz = 1
constexpr state::ParamID pulp::host::modulation::phaser::kDepth = 2
constexpr state::ParamID pulp::host::modulation::phaser::kCenterHz = 3
constexpr state::ParamID pulp::host::modulation::phaser::kFeedback = 4
constexpr state::ParamID pulp::host::modulation::phaser::kMix = 5
constexpr state::ParamID pulp::host::modulation::phaser::kStereoSpread = 6
constexpr state::ParamID pulp::host::modulation::phaser::kStaggerRatio = 7
constexpr state::ParamID pulp::host::modulation::phaser::kWave = 8
constexpr double pulp::host::modulation::phaser::kRateMinHz = 0.02
 The registered rate span, in Hz — the DSP's documented single-pot range.
constexpr double pulp::host::modulation::phaser::kRateMaxHz = 10.0
constexpr double pulp::host::modulation::phaser::kCenterMinHz = 20.0
 The registered centre-frequency span, in Hz.
constexpr double pulp::host::modulation::phaser::kCenterMaxHz = 5000.0
constexpr float pulp::host::modulation::phaser::kWaveSine = 0.0f
 The wave param's stepped encoding, in LfoWave's own declaration order so the two cannot drift apart.
constexpr float pulp::host::modulation::phaser::kWaveTriangle = 1.0f
constexpr float pulp::host::modulation::phaser::kWaveSawUp = 2.0f
constexpr float pulp::host::modulation::phaser::kWaveSawDown = 3.0f
constexpr float pulp::host::modulation::phaser::kWaveSquare = 4.0f
constexpr float pulp::host::modulation::phaser::kWaveSampleHold = 5.0f
constexpr float pulp::host::modulation::phaser::kWaveSmoothRandom = 6.0f
constexpr state::ParamID pulp::host::modulation::vibrato::delay_line::kRateHz = 1
constexpr state::ParamID pulp::host::modulation::vibrato::delay_line::kDepthCents = 2
constexpr state::ParamID pulp::host::modulation::vibrato::delay_line::kDelayMs = 3
constexpr state::ParamID pulp::host::modulation::vibrato::delay_line::kFadeInMs = 4
constexpr state::ParamID pulp::host::modulation::vibrato::phase::kRateHz = 1
constexpr state::ParamID pulp::host::modulation::vibrato::phase::kDepth = 2
constexpr state::ParamID pulp::host::modulation::vibrato::phase::kCenterHz = 3
constexpr state::ParamID pulp::host::modulation::vibrato::phase::kMix = 4
constexpr state::ParamID pulp::host::modulation::vibrato::univibe::kRateHz = 1
constexpr state::ParamID pulp::host::modulation::vibrato::univibe::kDepth = 2
constexpr state::ParamID pulp::host::modulation::vibrato::univibe::kMode = 3
constexpr float pulp::host::modulation::vibrato::univibe::kModeVibrato = 0.0f
constexpr float pulp::host::modulation::vibrato::univibe::kModeChorus = 1.0f
constexpr const char * pulp::host::modulation::vibrato::univibe::kTypeId = "modulation.vibrato.univibe"