Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
forge_synthesis_catalog.hpp File Reference

Go to the source code of this file.

Classes

struct  pulp::host::synthesis::additive::Instance
struct  pulp::host::synthesis::vocoder::Instance
struct  pulp::host::synthesis::cyclic::Instance
struct  pulp::host::synthesis::granular::Instance

Namespaces

namespace  pulp
namespace  pulp::host
 Bounded event contracts shared by host ingress and graph-authored nodes.
namespace  pulp::host::synthesis
namespace  pulp::host::synthesis::additive
namespace  pulp::host::synthesis::vocoder
namespace  pulp::host::synthesis::cyclic
namespace  pulp::host::synthesis::granular

Typedefs

using pulp::host::synthesis::vocoder::Voc = signal::Vocoder
using pulp::host::synthesis::cyclic::Engine = signal::CyclicStretch
using pulp::host::synthesis::granular::Engine = signal::GranularEngine

Enumerations

enum class  pulp::host::synthesis::additive::Voice : std::uint8_t { pulp::host::synthesis::additive::organ , pulp::host::synthesis::additive::bell }
 The two registered voices. More...
enum class  pulp::host::synthesis::cyclic::Regime : std::uint8_t { pulp::host::synthesis::cyclic::short_frame , pulp::host::synthesis::cyclic::long_frame }

Functions

float pulp::host::synthesis::additive::additive_bank_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
CustomNodeType pulp::host::synthesis::additive::make_additive_bank_node (Voice voice=Voice::organ, int max_partials=kNodeMaxPartials)
 voice picks the registered type id and the partial table; max_partials is the allocation ceiling.
ForgeNodeDescriptor pulp::host::synthesis::additive::descriptor ()
float pulp::host::synthesis::vocoder::vocoder_worst_case_gain (double sample_rate=48000.0)
 Worst-case linear gain for the Forge registry (series law 8).
float pulp::host::synthesis::vocoder::vocoder_all_sample_rates_worst_case_gain ()
 Sample-rate-independent ceiling for registries whose metadata cannot vary with the host rate.
CustomNodeType pulp::host::synthesis::vocoder::make_vocoder_node ()
 Two inputs, one output.
ForgeNodeDescriptor pulp::host::synthesis::vocoder::descriptor ()
float pulp::host::synthesis::cyclic::cyclic_stretch_worst_case_gain ()
CustomNodeType pulp::host::synthesis::cyclic::make_cyclic_stretch_node (Regime regime=Regime::short_frame)
ForgeNodeDescriptor pulp::host::synthesis::cyclic::descriptor ()
float pulp::host::synthesis::granular::granular_worst_case_gain ()
CustomNodeType pulp::host::synthesis::granular::make_granular_node ()
ForgeNodeDescriptor pulp::host::synthesis::granular::descriptor ()

Variables

constexpr const char * pulp::host::synthesis::additive::kOrganTypeId = "synthesis.additive_organ"
constexpr const char * pulp::host::synthesis::additive::kBellTypeId = "synthesis.additive_bell"
constexpr state::ParamID pulp::host::synthesis::additive::kFundamentalHz = 1
constexpr state::ParamID pulp::host::synthesis::additive::kPartialCount = 2
constexpr state::ParamID pulp::host::synthesis::additive::kInharmonicity = 3
constexpr state::ParamID pulp::host::synthesis::additive::kSpectralTilt = 4
constexpr state::ParamID pulp::host::synthesis::additive::kMasterGainDb = 5
constexpr state::ParamID pulp::host::synthesis::additive::kEnvelopeMode = 6
constexpr state::ParamID pulp::host::synthesis::additive::kRetrigPhase = 7
constexpr state::ParamID pulp::host::synthesis::additive::kAttackMs = 8
constexpr state::ParamID pulp::host::synthesis::additive::kReleaseMs = 9
constexpr state::ParamID pulp::host::synthesis::additive::kDetuneCents = 10
constexpr int pulp::host::synthesis::additive::kNodeMaxPartials = signal::AdditiveBank::kMaxPartialsDefault
 Partial ceiling this node instantiates.
constexpr float pulp::host::synthesis::additive::kGateOn = 0.5f
 Gate thresholds on the CV input, with hysteresis so a noisy or slewed gate cannot retrigger on every sample near the threshold.
constexpr float pulp::host::synthesis::additive::kGateOff = 0.25f
constexpr const char * pulp::host::synthesis::vocoder::kTypeId = "synthesis.vocoder"
constexpr PortIndex pulp::host::synthesis::vocoder::kModulatorPort = 0
 Input port roles.
constexpr PortIndex pulp::host::synthesis::vocoder::kCarrierPort = 1
constexpr state::ParamID pulp::host::synthesis::vocoder::kBandCount = 1
constexpr state::ParamID pulp::host::synthesis::vocoder::kFreqLoHz = 2
constexpr state::ParamID pulp::host::synthesis::vocoder::kFreqHiHz = 3
constexpr state::ParamID pulp::host::synthesis::vocoder::kCarrierSource = 4
constexpr state::ParamID pulp::host::synthesis::vocoder::kInternalWave = 5
constexpr state::ParamID pulp::host::synthesis::vocoder::kInternalPw = 6
constexpr state::ParamID pulp::host::synthesis::vocoder::kCarrierPitchHz = 7
constexpr state::ParamID pulp::host::synthesis::vocoder::kNoiseMix = 8
constexpr state::ParamID pulp::host::synthesis::vocoder::kAttackMs = 9
constexpr state::ParamID pulp::host::synthesis::vocoder::kReleaseMs = 10
constexpr state::ParamID pulp::host::synthesis::vocoder::kUnvoicedSens = 11
constexpr state::ParamID pulp::host::synthesis::vocoder::kSibilanceMix = 12
constexpr state::ParamID pulp::host::synthesis::vocoder::kFormantShiftSt = 13
constexpr state::ParamID pulp::host::synthesis::vocoder::kFormantFreeze = 14
constexpr state::ParamID pulp::host::synthesis::vocoder::kOutputTrimDb = 15
constexpr state::ParamID pulp::host::synthesis::vocoder::kDryWet = 16
constexpr const char * pulp::host::synthesis::cyclic::kShortTypeId = "synthesis.cyclic_stretch_short"
constexpr const char * pulp::host::synthesis::cyclic::kLongTypeId = "synthesis.cyclic_stretch_long"
constexpr state::ParamID pulp::host::synthesis::cyclic::kStretch = 1
constexpr state::ParamID pulp::host::synthesis::cyclic::kCaptureMs = 2
constexpr state::ParamID pulp::host::synthesis::cyclic::kCrossfadeShape = 3
constexpr state::ParamID pulp::host::synthesis::cyclic::kMixPct = 4
constexpr state::ParamID pulp::host::synthesis::cyclic::kOutputDb = 5
constexpr const char * pulp::host::synthesis::granular::kTypeId = "synthesis.granular_live"
constexpr state::ParamID pulp::host::synthesis::granular::kDensityHz = 1
constexpr state::ParamID pulp::host::synthesis::granular::kGrainMs = 2
constexpr state::ParamID pulp::host::synthesis::granular::kPosition = 3
constexpr state::ParamID pulp::host::synthesis::granular::kPositionSprayMs = 4
constexpr state::ParamID pulp::host::synthesis::granular::kPitchSt = 5
constexpr state::ParamID pulp::host::synthesis::granular::kPitchSpraySt = 6
constexpr state::ParamID pulp::host::synthesis::granular::kPanSpray = 7
constexpr state::ParamID pulp::host::synthesis::granular::kJitter = 8
constexpr state::ParamID pulp::host::synthesis::granular::kLevelDb = 9
constexpr state::ParamID pulp::host::synthesis::granular::kMix = 10