Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::host::forge_drum Namespace Reference

Enumerations

enum class  EngineId
 Stable identities for the drum engines Pulp can describe. More...

Functions

CustomNodeType make_drum_node (EngineId id)
ForgeNodeDescriptor drum_descriptor (EngineId id)

Variables

constexpr const char * kKickOscillatorTypeId = "drum.kick.oscillator"
constexpr const char * kKickResonantTypeId = "drum.kick.resonant"
constexpr const char * kKickCircuitTypeId = "drum.kick.circuit"
constexpr const char * kSnareTypeId = "drum.snare"
constexpr const char * kHatTypeId = "drum.hat"
constexpr const char * kClapTypeId = "drum.clap"
constexpr const char * kTomGenericTypeId = "drum.tom.generic"
constexpr const char * kTomSimmonsTypeId = "drum.tom.simmons"
constexpr const char * kCymbalTypeId = "drum.cymbal.comb"
constexpr const char * kMembraneTypeId = "drum.membrane.modal"
constexpr const char * kStringTypeId = "drum.string.karplus-strong"
constexpr const char * kZapTypeId = "drum.zap.cz"
constexpr const char * kFm2TypeId = "drum.fm2"
constexpr const char * kFm6TypeId = "drum.fm6"
constexpr const char * kFm8TypeId = "drum.fm8"
constexpr state::ParamID kTrigger = 1
constexpr state::ParamID kVelocity = 2
constexpr state::ParamID kChoke = 3
constexpr state::ParamID kChokeMs = 4
constexpr state::ParamID kVelocityLevelDb = 5
constexpr state::ParamID kVelocityBendOctaves = 6
constexpr state::ParamID kVelocityBrightnessOctaves = 7
constexpr state::ParamID kVelocityNoiseBalance = 8
constexpr state::ParamID kTuneHz = 10
constexpr state::ParamID kDecay = 11
constexpr state::ParamID kPitchSweepOctaves = 12
constexpr state::ParamID kPitchSweepMs = 13
constexpr state::ParamID kNoiseColor = 14
constexpr state::ParamID kOutputDrive = 20
constexpr state::ParamID kOutputFold = 21
constexpr state::ParamID kOutputLevel = 22
constexpr state::ParamID kOutputAhdEnabled = 23
constexpr state::ParamID kOutputAttackMs = 24
constexpr state::ParamID kOutputHoldMs = 25
constexpr state::ParamID kOutputDecayMs = 26
constexpr state::ParamID kOutputBits = 27
constexpr state::ParamID kOutputHoldRateHz = 28
constexpr state::ParamID kOutputJitter = 29
constexpr state::ParamID kOutputSmoothing = 30
constexpr state::ParamID kOutputDeadZone = 31
constexpr state::ParamID kGateRiseMs = 40
constexpr state::ParamID kGateFallMs = 41
constexpr state::ParamID kGateColour = 42
constexpr state::ParamID kGateClosedHz = 43
constexpr state::ParamID kGateOpenHz = 44
constexpr state::ParamID kGateGainExponent = 45
constexpr state::ParamID kToneLofiBits = 50
constexpr state::ParamID kToneLofiHoldRateHz = 51
constexpr state::ParamID kToneLofiJitter = 52
constexpr state::ParamID kToneLofiSmoothing = 53
constexpr state::ParamID kToneLofiDeadZone = 54
constexpr state::ParamID kNoiseLofiBits = 55
constexpr state::ParamID kNoiseLofiHoldRateHz = 56
constexpr state::ParamID kNoiseLofiJitter = 57
constexpr state::ParamID kNoiseLofiSmoothing = 58
constexpr state::ParamID kNoiseLofiDeadZone = 59
constexpr state::ParamID kCircuitC41 = 60
constexpr state::ParamID kCircuitC42 = 61
constexpr state::ParamID kCircuitR161 = 62
constexpr state::ParamID kCircuitR165 = 63
constexpr state::ParamID kCircuitR166 = 64
constexpr state::ParamID kCircuitR167 = 65
constexpr state::ParamID kCircuitR170 = 66
constexpr state::ParamID kControl0 = 100
constexpr state::ParamID kControl1 = 101
constexpr state::ParamID kControl2 = 102
constexpr state::ParamID kControl3 = 103
constexpr state::ParamID kControl4 = 104
constexpr state::ParamID kControl5 = 105
constexpr state::ParamID kControl6 = 106
constexpr state::ParamID kControl7 = 107
constexpr state::ParamID kControl8 = 108
constexpr state::ParamID kControl9 = 109
constexpr state::ParamID kControl10 = 110
constexpr state::ParamID kControl11 = 111
constexpr state::ParamID kControl12 = 112
constexpr state::ParamID kControl13 = 113
constexpr state::ParamID kControl14 = 114
constexpr state::ParamID kControl15 = 115
constexpr state::ParamID kControl16 = 116
constexpr state::ParamID kControl17 = 117
constexpr state::ParamID kControl18 = 118
constexpr state::ParamID kControl19 = 119
constexpr state::ParamID kControl20 = 120
constexpr state::ParamID kControl21 = 121
constexpr state::ParamID kControl22 = 122
constexpr auto kKickClickLevel = kControl0
constexpr auto kKickClickToneHz = kControl1
constexpr auto kKickClickDecayMs = kControl2
constexpr auto kKickNoiseLevel = kControl3
constexpr auto kKickNoiseDecayMs = kControl4
constexpr auto kKickSubLevel = kControl5
constexpr auto kKickTriangle = kControl6
constexpr auto kKickFmAmount = kControl7
constexpr auto kKickFmRatio = kControl8
constexpr auto kKickCircuitFeedback = kControl6
constexpr auto kKickCircuitDrive = kControl7
constexpr auto kKickCircuitAttackMs = kControl8
constexpr auto kKickCircuitPulseMs = kControl9
constexpr auto kKickCircuitSigh = kControl10
constexpr auto kKickCircuitHitLife = kControl11
constexpr auto kSnareToneRatio = kControl0
constexpr auto kSnareToneLevel = kControl1
constexpr auto kSnareFmAmount = kControl2
constexpr auto kSnareRing = kControl3
constexpr auto kSnareNoiseLevel = kControl4
constexpr auto kSnareNoiseDecayMs = kControl5
constexpr auto kSnareNoiseCutoffHz = kControl6
constexpr auto kSnareNoiseResonance = kControl7
constexpr auto kSnareNoiseSweepOctaves = kControl8
constexpr auto kSnareRattle = kControl9
constexpr auto kSnareRattleHz = kControl10
constexpr auto kSnareSnapLevel = kControl11
constexpr auto kSnareSnapCutoffHz = kControl12
constexpr auto kSnareSnapDecayMs = kControl13
constexpr auto kSnareShellLevel = kControl14
constexpr auto kSnareShellResonance = kControl15
constexpr auto kHatSpread = kControl0
constexpr auto kHatMetal = kControl1
constexpr auto kHatGrit = kControl2
constexpr auto kHatGritRatio = kControl3
constexpr auto kHatCutoffHz = kControl4
constexpr auto kHatResonance = kControl5
constexpr auto kHatBandpass = kControl6
constexpr auto kClapBurstCount = kControl0
constexpr auto kClapBurstSpacingMs = kControl1
constexpr auto kClapBurstDecayMs = kControl2
constexpr auto kClapBurstFalloff = kControl3
constexpr auto kClapGapJitter = kControl4
constexpr auto kClapAlternatePolarity = kControl5
constexpr auto kClapStereoWidth = kControl6
constexpr auto kClapTailLevel = kControl7
constexpr auto kClapTailDecayMs = kControl8
constexpr auto kClapCutoffHz = kControl9
constexpr auto kClapResonance = kControl10
constexpr auto kClapBodyLevel = kControl11
constexpr auto kClapBodyHz = kControl12
constexpr auto kTomWave = kControl0
constexpr auto kTomNoiseBalance = kControl1
constexpr auto kTomNoiseCutoffHz = kControl2
constexpr auto kTomNoiseResonance = kControl3
constexpr auto kTomClickLevel = kControl4
constexpr auto kTomClickCutoffHz = kControl5
constexpr auto kTomClickDecayMs = kControl6
constexpr auto kMembraneStructure = kControl0
constexpr auto kMembraneStretch = kControl1
constexpr auto kMembraneDamping = kControl2
constexpr auto kMembraneBrightness = kControl3
constexpr auto kMembranePosition = kControl4
constexpr auto kMembraneSpread = kControl5
constexpr auto kMembraneExciterMs = kControl6
constexpr auto kMembraneExciterCutoffHz = kControl7
constexpr auto kMembraneExciter = kControl8
constexpr auto kMembraneSubLevel = kControl9
constexpr auto kMembraneAirLevel = kControl10
constexpr auto kMembraneAirDecayMs = kControl11
constexpr auto kMembraneClickLevel = kControl12
constexpr auto kMembraneClickDecayMs = kControl13
constexpr auto kCymbalDecayTilt = kControl0
constexpr auto kCymbalHighModeEmphasisDb = kControl1
constexpr auto kCymbalVelocityFeedback = kControl2
constexpr auto kCymbalVelocityHighModeDb = kControl3
constexpr auto kCymbalUpperHighpassHz = kControl4
constexpr auto kCymbalSpread = kControl5
constexpr auto kCymbalInharmonicity = kControl6
constexpr auto kCymbalShiftHz = kControl7
constexpr auto kCymbalNoiseLevel = kControl8
constexpr auto kCymbalStrikeLevel = kControl9
constexpr auto kCymbalStrikeMs = kControl10
constexpr auto kCymbalToneHz = kControl11
constexpr auto kCymbalLowCutHz = kControl12
constexpr auto kCymbalHitLife = kControl14
constexpr auto kStringDamping = kControl0
constexpr auto kStringStiffness = kControl1
constexpr auto kStringPluckPosition = kControl2
constexpr auto kStringExciterMs = kControl3
constexpr auto kStringBrightnessHz = kControl4
constexpr auto kStringPickDirection = kControl5
constexpr auto kStringRestartOnHit = kControl6
constexpr auto kStringModulation = kControl7
constexpr auto kStringModulationMix = kControl8
constexpr auto kStringModulationRatio = kControl9
constexpr auto kStringFmDepthOctaves = kControl10
constexpr auto kStringLpgAmount = kControl11
constexpr auto kZapShape = kControl0
constexpr auto kZapDistortion = kControl1
constexpr auto kZapDistortionMs = kControl2
constexpr auto kZapResonantDepth = kControl3
constexpr auto kZapDetuneCents = kControl4
constexpr auto kZapRing = kControl5
constexpr auto kZapRingRatio = kControl6
constexpr auto kFmAlgorithm = kControl0
constexpr auto kFmDepth = kControl1
constexpr auto kFmFormantHz = kControl2
constexpr auto kFmFormantQ = kControl3
constexpr auto kFm6Feedback = kControl4
constexpr auto kFm8Transient = kControl4
constexpr auto kFm8NoiseLevel = kControl5
constexpr auto kFm8NoiseDecayMs = kControl6
constexpr auto kFm8ClickLevel = kControl7
constexpr auto kFm2Ratio = kControl0
constexpr auto kFm2Index = kControl1
constexpr auto kFm2IndexMs = kControl2
constexpr auto kFm2Feedback = kControl3
constexpr auto kFm2CarrierWave = kControl4
constexpr auto kFm2ModulatorWave = kControl5
constexpr auto kFm2CarrierWarp = kControl6
constexpr auto kFm2ModulatorWarp = kControl7
constexpr auto kFm2CarrierWarpMs = kControl8
constexpr auto kFm2ModulatorWarpMs = kControl9
constexpr auto kFm2LfoRateHz = kControl10
constexpr auto kFm2LfoDepthOctaves = kControl11
constexpr auto kFm2LfoDelayMs = kControl12
constexpr auto kFm2LfoFadeMs = kControl13
constexpr auto kFm2HardSync = kControl14
constexpr auto kFm2Transient = kControl15
constexpr auto kFm2NoiseLevel = kControl16
constexpr auto kFm2NoiseDecayMs = kControl17
constexpr auto kFm2CutoffHz = kControl18
constexpr auto kFm2Resonance = kControl19
constexpr auto kFm2Bandpass = kControl20
constexpr auto kFm2ClickLevel = kControl21
constexpr auto kFm2ClickCutoffHz = kControl22
constexpr float kHoldRateBypassHz = 192000.0f
 Top of every sample-and-hold rate range, and their shared default.
constexpr signal::drum::OutputOversampling kDrumNodeOversampling
 The output quality every drum node runs at, named once so the prepare hook and the declared latency derive from the same choice.
constexpr state::ParamID kOperatorRatioBase = 200
constexpr state::ParamID kOperatorLevelBase = 220
constexpr state::ParamID kOperatorDecayBase = 240
constexpr state::ParamID kOperatorFeedbackBase = 260
constexpr state::ParamID kOperatorWaveBase = 280

Enumeration Type Documentation

◆ EngineId

enum class pulp::signal::drum::EngineId
strong

Stable identities for the drum engines Pulp can describe.

An unavailable identity stays in this list when its provenance is useful to callers. That lets a preset loader distinguish "known but held" from an unknown engine without compiling or vendoring the held implementation.

Function Documentation

◆ drum_descriptor()

ForgeNodeDescriptor pulp::host::forge_drum::drum_descriptor ( EngineId id)
inline

◆ make_drum_node()

CustomNodeType pulp::host::forge_drum::make_drum_node ( EngineId id)
inline

Variable Documentation

◆ kChoke

state::ParamID pulp::host::forge_drum::kChoke = 3
inlineconstexpr

◆ kChokeMs

state::ParamID pulp::host::forge_drum::kChokeMs = 4
inlineconstexpr

◆ kCircuitC41

state::ParamID pulp::host::forge_drum::kCircuitC41 = 60
inlineconstexpr

◆ kCircuitC42

state::ParamID pulp::host::forge_drum::kCircuitC42 = 61
inlineconstexpr

◆ kCircuitR161

state::ParamID pulp::host::forge_drum::kCircuitR161 = 62
inlineconstexpr

◆ kCircuitR165

state::ParamID pulp::host::forge_drum::kCircuitR165 = 63
inlineconstexpr

◆ kCircuitR166

state::ParamID pulp::host::forge_drum::kCircuitR166 = 64
inlineconstexpr

◆ kCircuitR167

state::ParamID pulp::host::forge_drum::kCircuitR167 = 65
inlineconstexpr

◆ kCircuitR170

state::ParamID pulp::host::forge_drum::kCircuitR170 = 66
inlineconstexpr

◆ kClapAlternatePolarity

auto pulp::host::forge_drum::kClapAlternatePolarity = kControl5
inlineconstexpr

◆ kClapBodyHz

auto pulp::host::forge_drum::kClapBodyHz = kControl12
inlineconstexpr

◆ kClapBodyLevel

auto pulp::host::forge_drum::kClapBodyLevel = kControl11
inlineconstexpr

◆ kClapBurstCount

auto pulp::host::forge_drum::kClapBurstCount = kControl0
inlineconstexpr

◆ kClapBurstDecayMs

auto pulp::host::forge_drum::kClapBurstDecayMs = kControl2
inlineconstexpr

◆ kClapBurstFalloff

auto pulp::host::forge_drum::kClapBurstFalloff = kControl3
inlineconstexpr

◆ kClapBurstSpacingMs

auto pulp::host::forge_drum::kClapBurstSpacingMs = kControl1
inlineconstexpr

◆ kClapCutoffHz

auto pulp::host::forge_drum::kClapCutoffHz = kControl9
inlineconstexpr

◆ kClapGapJitter

auto pulp::host::forge_drum::kClapGapJitter = kControl4
inlineconstexpr

◆ kClapResonance

auto pulp::host::forge_drum::kClapResonance = kControl10
inlineconstexpr

◆ kClapStereoWidth

auto pulp::host::forge_drum::kClapStereoWidth = kControl6
inlineconstexpr

◆ kClapTailDecayMs

auto pulp::host::forge_drum::kClapTailDecayMs = kControl8
inlineconstexpr

◆ kClapTailLevel

auto pulp::host::forge_drum::kClapTailLevel = kControl7
inlineconstexpr

◆ kClapTypeId

const char* pulp::host::forge_drum::kClapTypeId = "drum.clap"
inlineconstexpr

◆ kControl0

state::ParamID pulp::host::forge_drum::kControl0 = 100
inlineconstexpr

◆ kControl1

state::ParamID pulp::host::forge_drum::kControl1 = 101
inlineconstexpr

◆ kControl10

state::ParamID pulp::host::forge_drum::kControl10 = 110
inlineconstexpr

◆ kControl11

state::ParamID pulp::host::forge_drum::kControl11 = 111
inlineconstexpr

◆ kControl12

state::ParamID pulp::host::forge_drum::kControl12 = 112
inlineconstexpr

◆ kControl13

state::ParamID pulp::host::forge_drum::kControl13 = 113
inlineconstexpr

◆ kControl14

state::ParamID pulp::host::forge_drum::kControl14 = 114
inlineconstexpr

◆ kControl15

state::ParamID pulp::host::forge_drum::kControl15 = 115
inlineconstexpr

◆ kControl16

state::ParamID pulp::host::forge_drum::kControl16 = 116
inlineconstexpr

◆ kControl17

state::ParamID pulp::host::forge_drum::kControl17 = 117
inlineconstexpr

◆ kControl18

state::ParamID pulp::host::forge_drum::kControl18 = 118
inlineconstexpr

◆ kControl19

state::ParamID pulp::host::forge_drum::kControl19 = 119
inlineconstexpr

◆ kControl2

state::ParamID pulp::host::forge_drum::kControl2 = 102
inlineconstexpr

◆ kControl20

state::ParamID pulp::host::forge_drum::kControl20 = 120
inlineconstexpr

◆ kControl21

state::ParamID pulp::host::forge_drum::kControl21 = 121
inlineconstexpr

◆ kControl22

state::ParamID pulp::host::forge_drum::kControl22 = 122
inlineconstexpr

◆ kControl3

state::ParamID pulp::host::forge_drum::kControl3 = 103
inlineconstexpr

◆ kControl4

state::ParamID pulp::host::forge_drum::kControl4 = 104
inlineconstexpr

◆ kControl5

state::ParamID pulp::host::forge_drum::kControl5 = 105
inlineconstexpr

◆ kControl6

state::ParamID pulp::host::forge_drum::kControl6 = 106
inlineconstexpr

◆ kControl7

state::ParamID pulp::host::forge_drum::kControl7 = 107
inlineconstexpr

◆ kControl8

state::ParamID pulp::host::forge_drum::kControl8 = 108
inlineconstexpr

◆ kControl9

state::ParamID pulp::host::forge_drum::kControl9 = 109
inlineconstexpr

◆ kCymbalDecayTilt

auto pulp::host::forge_drum::kCymbalDecayTilt = kControl0
inlineconstexpr

◆ kCymbalHighModeEmphasisDb

auto pulp::host::forge_drum::kCymbalHighModeEmphasisDb = kControl1
inlineconstexpr

◆ kCymbalHitLife

auto pulp::host::forge_drum::kCymbalHitLife = kControl14
inlineconstexpr

◆ kCymbalInharmonicity

auto pulp::host::forge_drum::kCymbalInharmonicity = kControl6
inlineconstexpr

◆ kCymbalLowCutHz

auto pulp::host::forge_drum::kCymbalLowCutHz = kControl12
inlineconstexpr

◆ kCymbalNoiseLevel

auto pulp::host::forge_drum::kCymbalNoiseLevel = kControl8
inlineconstexpr

◆ kCymbalShiftHz

auto pulp::host::forge_drum::kCymbalShiftHz = kControl7
inlineconstexpr

◆ kCymbalSpread

auto pulp::host::forge_drum::kCymbalSpread = kControl5
inlineconstexpr

◆ kCymbalStrikeLevel

auto pulp::host::forge_drum::kCymbalStrikeLevel = kControl9
inlineconstexpr

◆ kCymbalStrikeMs

auto pulp::host::forge_drum::kCymbalStrikeMs = kControl10
inlineconstexpr

◆ kCymbalToneHz

auto pulp::host::forge_drum::kCymbalToneHz = kControl11
inlineconstexpr

◆ kCymbalTypeId

const char* pulp::host::forge_drum::kCymbalTypeId = "drum.cymbal.comb"
inlineconstexpr

◆ kCymbalUpperHighpassHz

auto pulp::host::forge_drum::kCymbalUpperHighpassHz = kControl4
inlineconstexpr

◆ kCymbalVelocityFeedback

auto pulp::host::forge_drum::kCymbalVelocityFeedback = kControl2
inlineconstexpr

◆ kCymbalVelocityHighModeDb

auto pulp::host::forge_drum::kCymbalVelocityHighModeDb = kControl3
inlineconstexpr

◆ kDecay

state::ParamID pulp::host::forge_drum::kDecay = 11
inlineconstexpr

◆ kDrumNodeOversampling

signal::drum::OutputOversampling pulp::host::forge_drum::kDrumNodeOversampling
inlineconstexpr
Initial value:

The output quality every drum node runs at, named once so the prepare hook and the declared latency derive from the same choice.

See the header comment for why this is bypass and what to measure before changing it.

◆ kFm2Bandpass

auto pulp::host::forge_drum::kFm2Bandpass = kControl20
inlineconstexpr

◆ kFm2CarrierWarp

auto pulp::host::forge_drum::kFm2CarrierWarp = kControl6
inlineconstexpr

◆ kFm2CarrierWarpMs

auto pulp::host::forge_drum::kFm2CarrierWarpMs = kControl8
inlineconstexpr

◆ kFm2CarrierWave

auto pulp::host::forge_drum::kFm2CarrierWave = kControl4
inlineconstexpr

◆ kFm2ClickCutoffHz

auto pulp::host::forge_drum::kFm2ClickCutoffHz = kControl22
inlineconstexpr

◆ kFm2ClickLevel

auto pulp::host::forge_drum::kFm2ClickLevel = kControl21
inlineconstexpr

◆ kFm2CutoffHz

auto pulp::host::forge_drum::kFm2CutoffHz = kControl18
inlineconstexpr

◆ kFm2Feedback

auto pulp::host::forge_drum::kFm2Feedback = kControl3
inlineconstexpr

◆ kFm2HardSync

auto pulp::host::forge_drum::kFm2HardSync = kControl14
inlineconstexpr

◆ kFm2Index

auto pulp::host::forge_drum::kFm2Index = kControl1
inlineconstexpr

◆ kFm2IndexMs

auto pulp::host::forge_drum::kFm2IndexMs = kControl2
inlineconstexpr

◆ kFm2LfoDelayMs

auto pulp::host::forge_drum::kFm2LfoDelayMs = kControl12
inlineconstexpr

◆ kFm2LfoDepthOctaves

auto pulp::host::forge_drum::kFm2LfoDepthOctaves = kControl11
inlineconstexpr

◆ kFm2LfoFadeMs

auto pulp::host::forge_drum::kFm2LfoFadeMs = kControl13
inlineconstexpr

◆ kFm2LfoRateHz

auto pulp::host::forge_drum::kFm2LfoRateHz = kControl10
inlineconstexpr

◆ kFm2ModulatorWarp

auto pulp::host::forge_drum::kFm2ModulatorWarp = kControl7
inlineconstexpr

◆ kFm2ModulatorWarpMs

auto pulp::host::forge_drum::kFm2ModulatorWarpMs = kControl9
inlineconstexpr

◆ kFm2ModulatorWave

auto pulp::host::forge_drum::kFm2ModulatorWave = kControl5
inlineconstexpr

◆ kFm2NoiseDecayMs

auto pulp::host::forge_drum::kFm2NoiseDecayMs = kControl17
inlineconstexpr

◆ kFm2NoiseLevel

auto pulp::host::forge_drum::kFm2NoiseLevel = kControl16
inlineconstexpr

◆ kFm2Ratio

auto pulp::host::forge_drum::kFm2Ratio = kControl0
inlineconstexpr

◆ kFm2Resonance

auto pulp::host::forge_drum::kFm2Resonance = kControl19
inlineconstexpr

◆ kFm2Transient

auto pulp::host::forge_drum::kFm2Transient = kControl15
inlineconstexpr

◆ kFm2TypeId

const char* pulp::host::forge_drum::kFm2TypeId = "drum.fm2"
inlineconstexpr

◆ kFm6Feedback

auto pulp::host::forge_drum::kFm6Feedback = kControl4
inlineconstexpr

◆ kFm6TypeId

const char* pulp::host::forge_drum::kFm6TypeId = "drum.fm6"
inlineconstexpr

◆ kFm8ClickLevel

auto pulp::host::forge_drum::kFm8ClickLevel = kControl7
inlineconstexpr

◆ kFm8NoiseDecayMs

auto pulp::host::forge_drum::kFm8NoiseDecayMs = kControl6
inlineconstexpr

◆ kFm8NoiseLevel

auto pulp::host::forge_drum::kFm8NoiseLevel = kControl5
inlineconstexpr

◆ kFm8Transient

auto pulp::host::forge_drum::kFm8Transient = kControl4
inlineconstexpr

◆ kFm8TypeId

const char* pulp::host::forge_drum::kFm8TypeId = "drum.fm8"
inlineconstexpr

◆ kFmAlgorithm

auto pulp::host::forge_drum::kFmAlgorithm = kControl0
inlineconstexpr

◆ kFmDepth

auto pulp::host::forge_drum::kFmDepth = kControl1
inlineconstexpr

◆ kFmFormantHz

auto pulp::host::forge_drum::kFmFormantHz = kControl2
inlineconstexpr

◆ kFmFormantQ

auto pulp::host::forge_drum::kFmFormantQ = kControl3
inlineconstexpr

◆ kGateClosedHz

state::ParamID pulp::host::forge_drum::kGateClosedHz = 43
inlineconstexpr

◆ kGateColour

state::ParamID pulp::host::forge_drum::kGateColour = 42
inlineconstexpr

◆ kGateFallMs

state::ParamID pulp::host::forge_drum::kGateFallMs = 41
inlineconstexpr

◆ kGateGainExponent

state::ParamID pulp::host::forge_drum::kGateGainExponent = 45
inlineconstexpr

◆ kGateOpenHz

state::ParamID pulp::host::forge_drum::kGateOpenHz = 44
inlineconstexpr

◆ kGateRiseMs

state::ParamID pulp::host::forge_drum::kGateRiseMs = 40
inlineconstexpr

◆ kHatBandpass

auto pulp::host::forge_drum::kHatBandpass = kControl6
inlineconstexpr

◆ kHatCutoffHz

auto pulp::host::forge_drum::kHatCutoffHz = kControl4
inlineconstexpr

◆ kHatGrit

auto pulp::host::forge_drum::kHatGrit = kControl2
inlineconstexpr

◆ kHatGritRatio

auto pulp::host::forge_drum::kHatGritRatio = kControl3
inlineconstexpr

◆ kHatMetal

auto pulp::host::forge_drum::kHatMetal = kControl1
inlineconstexpr

◆ kHatResonance

auto pulp::host::forge_drum::kHatResonance = kControl5
inlineconstexpr

◆ kHatSpread

auto pulp::host::forge_drum::kHatSpread = kControl0
inlineconstexpr

◆ kHatTypeId

const char* pulp::host::forge_drum::kHatTypeId = "drum.hat"
inlineconstexpr

◆ kHoldRateBypassHz

float pulp::host::forge_drum::kHoldRateBypassHz = 192000.0f
inlineconstexpr

Top of every sample-and-hold rate range, and their shared default.

The reducer bypasses its hold whenever the requested rate reaches the sample rate, so this is "no hold" at every rate Pulp supports. A bounded value rather than an infinity keeps the control normalisable: a host automation lane and a UI can map the range, which neither can do against an implementation sentinel.

◆ kKickCircuitAttackMs

auto pulp::host::forge_drum::kKickCircuitAttackMs = kControl8
inlineconstexpr

◆ kKickCircuitDrive

auto pulp::host::forge_drum::kKickCircuitDrive = kControl7
inlineconstexpr

◆ kKickCircuitFeedback

auto pulp::host::forge_drum::kKickCircuitFeedback = kControl6
inlineconstexpr

◆ kKickCircuitHitLife

auto pulp::host::forge_drum::kKickCircuitHitLife = kControl11
inlineconstexpr

◆ kKickCircuitPulseMs

auto pulp::host::forge_drum::kKickCircuitPulseMs = kControl9
inlineconstexpr

◆ kKickCircuitSigh

auto pulp::host::forge_drum::kKickCircuitSigh = kControl10
inlineconstexpr

◆ kKickCircuitTypeId

const char* pulp::host::forge_drum::kKickCircuitTypeId = "drum.kick.circuit"
inlineconstexpr

◆ kKickClickDecayMs

auto pulp::host::forge_drum::kKickClickDecayMs = kControl2
inlineconstexpr

◆ kKickClickLevel

auto pulp::host::forge_drum::kKickClickLevel = kControl0
inlineconstexpr

◆ kKickClickToneHz

auto pulp::host::forge_drum::kKickClickToneHz = kControl1
inlineconstexpr

◆ kKickFmAmount

auto pulp::host::forge_drum::kKickFmAmount = kControl7
inlineconstexpr

◆ kKickFmRatio

auto pulp::host::forge_drum::kKickFmRatio = kControl8
inlineconstexpr

◆ kKickNoiseDecayMs

auto pulp::host::forge_drum::kKickNoiseDecayMs = kControl4
inlineconstexpr

◆ kKickNoiseLevel

auto pulp::host::forge_drum::kKickNoiseLevel = kControl3
inlineconstexpr

◆ kKickOscillatorTypeId

const char* pulp::host::forge_drum::kKickOscillatorTypeId = "drum.kick.oscillator"
inlineconstexpr

◆ kKickResonantTypeId

const char* pulp::host::forge_drum::kKickResonantTypeId = "drum.kick.resonant"
inlineconstexpr

◆ kKickSubLevel

auto pulp::host::forge_drum::kKickSubLevel = kControl5
inlineconstexpr

◆ kKickTriangle

auto pulp::host::forge_drum::kKickTriangle = kControl6
inlineconstexpr

◆ kMembraneAirDecayMs

auto pulp::host::forge_drum::kMembraneAirDecayMs = kControl11
inlineconstexpr

◆ kMembraneAirLevel

auto pulp::host::forge_drum::kMembraneAirLevel = kControl10
inlineconstexpr

◆ kMembraneBrightness

auto pulp::host::forge_drum::kMembraneBrightness = kControl3
inlineconstexpr

◆ kMembraneClickDecayMs

auto pulp::host::forge_drum::kMembraneClickDecayMs = kControl13
inlineconstexpr

◆ kMembraneClickLevel

auto pulp::host::forge_drum::kMembraneClickLevel = kControl12
inlineconstexpr

◆ kMembraneDamping

auto pulp::host::forge_drum::kMembraneDamping = kControl2
inlineconstexpr

◆ kMembraneExciter

auto pulp::host::forge_drum::kMembraneExciter = kControl8
inlineconstexpr

◆ kMembraneExciterCutoffHz

auto pulp::host::forge_drum::kMembraneExciterCutoffHz = kControl7
inlineconstexpr

◆ kMembraneExciterMs

auto pulp::host::forge_drum::kMembraneExciterMs = kControl6
inlineconstexpr

◆ kMembranePosition

auto pulp::host::forge_drum::kMembranePosition = kControl4
inlineconstexpr

◆ kMembraneSpread

auto pulp::host::forge_drum::kMembraneSpread = kControl5
inlineconstexpr

◆ kMembraneStretch

auto pulp::host::forge_drum::kMembraneStretch = kControl1
inlineconstexpr

◆ kMembraneStructure

auto pulp::host::forge_drum::kMembraneStructure = kControl0
inlineconstexpr

◆ kMembraneSubLevel

auto pulp::host::forge_drum::kMembraneSubLevel = kControl9
inlineconstexpr

◆ kMembraneTypeId

const char* pulp::host::forge_drum::kMembraneTypeId = "drum.membrane.modal"
inlineconstexpr

◆ kNoiseColor

state::ParamID pulp::host::forge_drum::kNoiseColor = 14
inlineconstexpr

◆ kNoiseLofiBits

state::ParamID pulp::host::forge_drum::kNoiseLofiBits = 55
inlineconstexpr

◆ kNoiseLofiDeadZone

state::ParamID pulp::host::forge_drum::kNoiseLofiDeadZone = 59
inlineconstexpr

◆ kNoiseLofiHoldRateHz

state::ParamID pulp::host::forge_drum::kNoiseLofiHoldRateHz = 56
inlineconstexpr

◆ kNoiseLofiJitter

state::ParamID pulp::host::forge_drum::kNoiseLofiJitter = 57
inlineconstexpr

◆ kNoiseLofiSmoothing

state::ParamID pulp::host::forge_drum::kNoiseLofiSmoothing = 58
inlineconstexpr

◆ kOperatorDecayBase

state::ParamID pulp::host::forge_drum::kOperatorDecayBase = 240
inlineconstexpr

◆ kOperatorFeedbackBase

state::ParamID pulp::host::forge_drum::kOperatorFeedbackBase = 260
inlineconstexpr

◆ kOperatorLevelBase

state::ParamID pulp::host::forge_drum::kOperatorLevelBase = 220
inlineconstexpr

◆ kOperatorRatioBase

state::ParamID pulp::host::forge_drum::kOperatorRatioBase = 200
inlineconstexpr

◆ kOperatorWaveBase

state::ParamID pulp::host::forge_drum::kOperatorWaveBase = 280
inlineconstexpr

◆ kOutputAhdEnabled

state::ParamID pulp::host::forge_drum::kOutputAhdEnabled = 23
inlineconstexpr

◆ kOutputAttackMs

state::ParamID pulp::host::forge_drum::kOutputAttackMs = 24
inlineconstexpr

◆ kOutputBits

state::ParamID pulp::host::forge_drum::kOutputBits = 27
inlineconstexpr

◆ kOutputDeadZone

state::ParamID pulp::host::forge_drum::kOutputDeadZone = 31
inlineconstexpr

◆ kOutputDecayMs

state::ParamID pulp::host::forge_drum::kOutputDecayMs = 26
inlineconstexpr

◆ kOutputDrive

state::ParamID pulp::host::forge_drum::kOutputDrive = 20
inlineconstexpr

◆ kOutputFold

state::ParamID pulp::host::forge_drum::kOutputFold = 21
inlineconstexpr

◆ kOutputHoldMs

state::ParamID pulp::host::forge_drum::kOutputHoldMs = 25
inlineconstexpr

◆ kOutputHoldRateHz

state::ParamID pulp::host::forge_drum::kOutputHoldRateHz = 28
inlineconstexpr

◆ kOutputJitter

state::ParamID pulp::host::forge_drum::kOutputJitter = 29
inlineconstexpr

◆ kOutputLevel

state::ParamID pulp::host::forge_drum::kOutputLevel = 22
inlineconstexpr

◆ kOutputSmoothing

state::ParamID pulp::host::forge_drum::kOutputSmoothing = 30
inlineconstexpr

◆ kPitchSweepMs

state::ParamID pulp::host::forge_drum::kPitchSweepMs = 13
inlineconstexpr

◆ kPitchSweepOctaves

state::ParamID pulp::host::forge_drum::kPitchSweepOctaves = 12
inlineconstexpr

◆ kSnareFmAmount

auto pulp::host::forge_drum::kSnareFmAmount = kControl2
inlineconstexpr

◆ kSnareNoiseCutoffHz

auto pulp::host::forge_drum::kSnareNoiseCutoffHz = kControl6
inlineconstexpr

◆ kSnareNoiseDecayMs

auto pulp::host::forge_drum::kSnareNoiseDecayMs = kControl5
inlineconstexpr

◆ kSnareNoiseLevel

auto pulp::host::forge_drum::kSnareNoiseLevel = kControl4
inlineconstexpr

◆ kSnareNoiseResonance

auto pulp::host::forge_drum::kSnareNoiseResonance = kControl7
inlineconstexpr

◆ kSnareNoiseSweepOctaves

auto pulp::host::forge_drum::kSnareNoiseSweepOctaves = kControl8
inlineconstexpr

◆ kSnareRattle

auto pulp::host::forge_drum::kSnareRattle = kControl9
inlineconstexpr

◆ kSnareRattleHz

auto pulp::host::forge_drum::kSnareRattleHz = kControl10
inlineconstexpr

◆ kSnareRing

auto pulp::host::forge_drum::kSnareRing = kControl3
inlineconstexpr

◆ kSnareShellLevel

auto pulp::host::forge_drum::kSnareShellLevel = kControl14
inlineconstexpr

◆ kSnareShellResonance

auto pulp::host::forge_drum::kSnareShellResonance = kControl15
inlineconstexpr

◆ kSnareSnapCutoffHz

auto pulp::host::forge_drum::kSnareSnapCutoffHz = kControl12
inlineconstexpr

◆ kSnareSnapDecayMs

auto pulp::host::forge_drum::kSnareSnapDecayMs = kControl13
inlineconstexpr

◆ kSnareSnapLevel

auto pulp::host::forge_drum::kSnareSnapLevel = kControl11
inlineconstexpr

◆ kSnareToneLevel

auto pulp::host::forge_drum::kSnareToneLevel = kControl1
inlineconstexpr

◆ kSnareToneRatio

auto pulp::host::forge_drum::kSnareToneRatio = kControl0
inlineconstexpr

◆ kSnareTypeId

const char* pulp::host::forge_drum::kSnareTypeId = "drum.snare"
inlineconstexpr

◆ kStringBrightnessHz

auto pulp::host::forge_drum::kStringBrightnessHz = kControl4
inlineconstexpr

◆ kStringDamping

auto pulp::host::forge_drum::kStringDamping = kControl0
inlineconstexpr

◆ kStringExciterMs

auto pulp::host::forge_drum::kStringExciterMs = kControl3
inlineconstexpr

◆ kStringFmDepthOctaves

auto pulp::host::forge_drum::kStringFmDepthOctaves = kControl10
inlineconstexpr

◆ kStringLpgAmount

auto pulp::host::forge_drum::kStringLpgAmount = kControl11
inlineconstexpr

◆ kStringModulation

auto pulp::host::forge_drum::kStringModulation = kControl7
inlineconstexpr

◆ kStringModulationMix

auto pulp::host::forge_drum::kStringModulationMix = kControl8
inlineconstexpr

◆ kStringModulationRatio

auto pulp::host::forge_drum::kStringModulationRatio = kControl9
inlineconstexpr

◆ kStringPickDirection

auto pulp::host::forge_drum::kStringPickDirection = kControl5
inlineconstexpr

◆ kStringPluckPosition

auto pulp::host::forge_drum::kStringPluckPosition = kControl2
inlineconstexpr

◆ kStringRestartOnHit

auto pulp::host::forge_drum::kStringRestartOnHit = kControl6
inlineconstexpr

◆ kStringStiffness

auto pulp::host::forge_drum::kStringStiffness = kControl1
inlineconstexpr

◆ kStringTypeId

const char* pulp::host::forge_drum::kStringTypeId = "drum.string.karplus-strong"
inlineconstexpr

◆ kTomClickCutoffHz

auto pulp::host::forge_drum::kTomClickCutoffHz = kControl5
inlineconstexpr

◆ kTomClickDecayMs

auto pulp::host::forge_drum::kTomClickDecayMs = kControl6
inlineconstexpr

◆ kTomClickLevel

auto pulp::host::forge_drum::kTomClickLevel = kControl4
inlineconstexpr

◆ kTomGenericTypeId

const char* pulp::host::forge_drum::kTomGenericTypeId = "drum.tom.generic"
inlineconstexpr

◆ kTomNoiseBalance

auto pulp::host::forge_drum::kTomNoiseBalance = kControl1
inlineconstexpr

◆ kTomNoiseCutoffHz

auto pulp::host::forge_drum::kTomNoiseCutoffHz = kControl2
inlineconstexpr

◆ kTomNoiseResonance

auto pulp::host::forge_drum::kTomNoiseResonance = kControl3
inlineconstexpr

◆ kTomSimmonsTypeId

const char* pulp::host::forge_drum::kTomSimmonsTypeId = "drum.tom.simmons"
inlineconstexpr

◆ kTomWave

auto pulp::host::forge_drum::kTomWave = kControl0
inlineconstexpr

◆ kToneLofiBits

state::ParamID pulp::host::forge_drum::kToneLofiBits = 50
inlineconstexpr

◆ kToneLofiDeadZone

state::ParamID pulp::host::forge_drum::kToneLofiDeadZone = 54
inlineconstexpr

◆ kToneLofiHoldRateHz

state::ParamID pulp::host::forge_drum::kToneLofiHoldRateHz = 51
inlineconstexpr

◆ kToneLofiJitter

state::ParamID pulp::host::forge_drum::kToneLofiJitter = 52
inlineconstexpr

◆ kToneLofiSmoothing

state::ParamID pulp::host::forge_drum::kToneLofiSmoothing = 53
inlineconstexpr

◆ kTrigger

state::ParamID pulp::host::forge_drum::kTrigger = 1
inlineconstexpr

◆ kTuneHz

state::ParamID pulp::host::forge_drum::kTuneHz = 10
inlineconstexpr

◆ kVelocity

state::ParamID pulp::host::forge_drum::kVelocity = 2
inlineconstexpr

◆ kVelocityBendOctaves

state::ParamID pulp::host::forge_drum::kVelocityBendOctaves = 6
inlineconstexpr

◆ kVelocityBrightnessOctaves

state::ParamID pulp::host::forge_drum::kVelocityBrightnessOctaves = 7
inlineconstexpr

◆ kVelocityLevelDb

state::ParamID pulp::host::forge_drum::kVelocityLevelDb = 5
inlineconstexpr

◆ kVelocityNoiseBalance

state::ParamID pulp::host::forge_drum::kVelocityNoiseBalance = 8
inlineconstexpr

◆ kZapDetuneCents

auto pulp::host::forge_drum::kZapDetuneCents = kControl4
inlineconstexpr

◆ kZapDistortion

auto pulp::host::forge_drum::kZapDistortion = kControl1
inlineconstexpr

◆ kZapDistortionMs

auto pulp::host::forge_drum::kZapDistortionMs = kControl2
inlineconstexpr

◆ kZapResonantDepth

auto pulp::host::forge_drum::kZapResonantDepth = kControl3
inlineconstexpr

◆ kZapRing

auto pulp::host::forge_drum::kZapRing = kControl5
inlineconstexpr

◆ kZapRingRatio

auto pulp::host::forge_drum::kZapRingRatio = kControl6
inlineconstexpr

◆ kZapShape

auto pulp::host::forge_drum::kZapShape = kControl0
inlineconstexpr

◆ kZapTypeId

const char* pulp::host::forge_drum::kZapTypeId = "drum.zap.cz"
inlineconstexpr