71 "Werner, Abel, and Smith bridged-T model",
true,
true,
false},
83 "Original implementation of the published Simmons topology",
true,
true,
false},
86 "Original implementation informed by the zionjaymes comb tutorial",
true,
true,
true},
89 "Fletcher and Rossing circular-membrane modal ratios",
true,
true,
false},
92 "Karplus and Strong; Jaffe and Smith extensions",
true,
true,
false},
95 "Original implementation of Casio phase distortion",
true,
true,
false},
98 "Original implementation of Chowning FM synthesis",
true,
true,
false},
101 "Original implementation of Chowning FM synthesis",
true,
true,
false},
104 "Original implementation of Chowning FM synthesis",
true,
true,
false},
107 "Unavailable: MSFA vendored license-file mismatch must be resolved",
false,
false,
113 if (engine.name == name)
return &engine;
123 auto voice = std::make_unique<KickVoice>();
128 auto voice = std::make_unique<KickVoice>();
133 auto voice = std::make_unique<KickVoice>();
138 return std::make_unique<SnareVoice>();
140 return std::make_unique<HatVoice>();
142 return std::make_unique<ClapVoice>();
144 auto voice = std::make_unique<TomVoice>();
149 auto voice = std::make_unique<TomVoice>();
154 return std::make_unique<CymbalVoice>();
156 return std::make_unique<MembraneVoice>();
158 return std::make_unique<StringVoice>();
160 return std::make_unique<ZapVoice>();
162 return std::make_unique<FmDrumVoice>();
164 return std::make_unique<Fm6DrumVoice>();
166 return std::make_unique<Fm8DrumVoice>();
@ generic_tom
Definition tom.hpp:68
@ low_tom
Definition tom.hpp:69
std::unique_ptr< Voice > create_engine(EngineId id)
Construct a configured engine by stable identity.
Definition engine_registry.hpp:120
constexpr std::array< EngineMetadata, 16 > engine_registry
The authoritative engine inventory.
Definition engine_registry.hpp:64
const EngineMetadata * find_engine(std::string_view name) noexcept
Definition engine_registry.hpp:111
EngineId
Stable identities for the drum engines Pulp can describe.
Definition engine_registry.hpp:26
@ membrane_modal
Definition engine_registry.hpp:36
@ fm6
Definition engine_registry.hpp:40
@ kick_resonant
Definition engine_registry.hpp:28
@ cymbal_comb
Definition engine_registry.hpp:35
@ hat
Definition engine_registry.hpp:31
@ fm2
Definition engine_registry.hpp:39
@ snare
Definition engine_registry.hpp:30
@ zap_cz
Definition engine_registry.hpp:38
@ dx7_msfa
Definition engine_registry.hpp:42
@ tom_generic
Definition engine_registry.hpp:33
@ tom_simmons
Definition engine_registry.hpp:34
@ kick_circuit
Definition engine_registry.hpp:29
@ clap
Definition engine_registry.hpp:32
@ fm8
Definition engine_registry.hpp:41
@ string_karplus_strong
Definition engine_registry.hpp:37
@ kick_oscillator
Definition engine_registry.hpp:27
EngineProvenance
Definition engine_registry.hpp:45
@ license_hold
Definition engine_registry.hpp:48
@ pulp_original
Definition engine_registry.hpp:46
@ published_technique
Definition engine_registry.hpp:47
@ resonant
A struck resonance.
Definition kick.hpp:29
@ oscillator
A swept oscillator.
Definition kick.hpp:24
@ circuit
The TR-808's bridged-T network in its op-amp feedback loop.
Definition kick.hpp:37