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

Classes

struct  AnalogVcfInstance
struct  AnalogVcfIdentity
struct  DelayInstance
struct  FilterInstance
struct  WaveshaperInstance
struct  DryWetInstance
struct  NoiseInstance
struct  BitcrushInstance
struct  TrimInstance
struct  PingPongInstance
struct  ReverbInstance
struct  CompressorInstance
struct  GateInstance
struct  LfoInstance
struct  EnvFollowerInstance
struct  FilterCvInstance
struct  DelayCvInstance
struct  AutoPanInstance
struct  WidthInstance
struct  PhaserInstance

Enumerations

enum class  LfoShape : int { sine = 0 , triangle = 1 , saw = 2 , square = 3 }

Functions

AnalogVcfIdentity analog_vcf_identity (signal::AnalogVcf::Voicing voicing) noexcept
CustomNodeType make_analog_vcf_node (signal::AnalogVcf::Voicing voicing)
ForgeNodeDescriptor analog_vcf_descriptor ()
CustomNodeType make_delay_node ()
CustomNodeType make_filter_node (signal::Svf::Mode mode=signal::Svf::Mode::lowpass)
CustomNodeType make_waveshaper_node ()
CustomNodeType make_drywet_node ()
float forge_white_next (std::uint64_t &state) noexcept
CustomNodeType make_noise_node ()
CustomNodeType make_bitcrush_node (signal::DitherMode dither=signal::DitherMode::none, signal::NoiseShapingOrder shaping=signal::NoiseShapingOrder::none)
CustomNodeType make_trim_node ()
CustomNodeType make_ping_pong_node ()
CustomNodeType make_reverb_node ()
CustomNodeType make_compressor_node ()
CustomNodeType make_gate_node ()
float forge_lfo_osc (float phase, int shape) noexcept
CustomNodeType make_lfo_node ()
CustomNodeType make_vca_node ()
CustomNodeType make_env_follower_node ()
CustomNodeType make_filter_cv_node ()
CustomNodeType make_delay_cv_node ()
CustomNodeType make_auto_pan_node ()
CustomNodeType make_width_node ()
CustomNodeType make_phaser_node ()

Variables

constexpr const char * kAnalogVcfJunoTypeId = "vcf.juno"
constexpr const char * kAnalogVcfJupiterTypeId = "vcf.jupiter"
constexpr const char * kAnalogVcfProphet5TypeId = "vcf.prophet5"
constexpr const char * kAnalogVcfMinimoogTypeId = "vcf.minimoog"
constexpr state::ParamID kAnalogVcfCutoff = 1
constexpr state::ParamID kAnalogVcfCutoffMod = 2
constexpr state::ParamID kAnalogVcfResonance = 3
constexpr state::ParamID kAnalogVcfDriveDb = 4
constexpr int kAnalogVcfOversampling = 2
constexpr const char * kDelayTypeId = "forge_lofi_delay"
constexpr const char * kFilterTypeId = "forge_lofi_filter"
constexpr const char * kWaveshaperTypeId = "forge_lofi_waveshaper"
constexpr const char * kDryWetTypeId = "forge_lofi_drywet"
constexpr const char * kNoiseTypeId = "forge_lofi_noise"
constexpr const char * kBitcrushTypeId = "forge_lofi_bitcrush"
constexpr const char * kBitcrushTpdfTypeId = "forge_lofi_bitcrush_tpdf"
constexpr const char * kBitcrushTpdfFirstTypeId = "forge_lofi_bitcrush_tpdf_first"
constexpr const char * kBitcrushTpdfSecondTypeId = "forge_lofi_bitcrush_tpdf_second"
constexpr const char * kTrimTypeId = "forge_lofi_trim"
constexpr const char * kPingPongTypeId = "forge_lofi_ping_pong"
constexpr const char * kReverbTypeId = "forge_lofi_reverb"
constexpr const char * kCompressorTypeId = "forge_lofi_compressor"
constexpr const char * kGateTypeId = "forge_lofi_gate"
constexpr const char * kFilterHighpassTypeId = "forge_lofi_filter_highpass"
constexpr const char * kFilterBandpassTypeId = "forge_lofi_filter_bandpass"
constexpr const char * kFilterNotchTypeId = "forge_lofi_filter_notch"
constexpr state::ParamID kDelayTimeMs = 1
constexpr state::ParamID kDelayFeedback = 2
constexpr state::ParamID kFilterCutoffHz = 1
constexpr state::ParamID kFilterResonance = 2
constexpr state::ParamID kWaveshaperDrive = 1
constexpr state::ParamID kDryWetMix = 1
constexpr state::ParamID kNoiseLevel = 1
constexpr state::ParamID kBitcrushBitDepth = 1
constexpr state::ParamID kBitcrushRateDiv = 2
constexpr state::ParamID kTrimGainDb = 1
constexpr state::ParamID kPingPongTimeMs = 1
constexpr state::ParamID kPingPongFeedback = 2
constexpr state::ParamID kPingPongWidth = 3
constexpr state::ParamID kReverbDecay = 1
constexpr state::ParamID kReverbDamping = 2
constexpr state::ParamID kReverbMix = 3
constexpr state::ParamID kCompThresholdDb = 1
constexpr state::ParamID kCompRatio = 2
constexpr state::ParamID kCompAttackMs = 3
constexpr state::ParamID kCompReleaseMs = 4
constexpr state::ParamID kCompBallistics = 5
constexpr state::ParamID kGateThresholdDb = 1
constexpr state::ParamID kGateAttackMs = 2
constexpr state::ParamID kGateHoldMs = 3
constexpr state::ParamID kGateReleaseMs = 4
constexpr float kDelayMaxMs = 2000.0f
constexpr float kReverbWetNormalization = 1.0f / 48.0f
constexpr const char * kLfoTypeId = "forge_lofi_lfo"
constexpr const char * kVcaTypeId = "forge_lofi_vca"
constexpr const char * kEnvFollowerTypeId = "forge_lofi_env_follower"
constexpr const char * kFilterCvTypeId = "forge_lofi_filter_cv"
constexpr const char * kDelayCvTypeId = "forge_lofi_delay_cv"
constexpr state::ParamID kLfoRateHz = 1
constexpr state::ParamID kLfoDepth = 2
constexpr state::ParamID kLfoShape = 3
constexpr state::ParamID kVcaGain = 1
constexpr state::ParamID kEnvAttackMs = 1
constexpr state::ParamID kEnvReleaseMs = 2
constexpr state::ParamID kEnvSensitivity = 3
constexpr state::ParamID kEnvInvert = 4
constexpr state::ParamID kFilterCvBaseHz = 1
constexpr state::ParamID kFilterCvAmountOct = 2
constexpr state::ParamID kFilterCvResonance = 3
constexpr state::ParamID kDelayCvBaseMs = 1
constexpr state::ParamID kDelayCvDepthMs = 2
constexpr state::ParamID kDelayCvFeedback = 3
constexpr state::ParamID kDelayCvMix = 4
constexpr const char * kAutoPanTypeId = "forge_lofi_auto_pan"
constexpr const char * kWidthTypeId = "forge_lofi_width"
constexpr const char * kPhaserTypeId = "forge_lofi_phaser"
constexpr state::ParamID kAutoPanRateHz = 1
constexpr state::ParamID kAutoPanDepth = 2
constexpr state::ParamID kAutoPanShape = 3
constexpr state::ParamID kWidthAmount = 1
constexpr state::ParamID kPhaserRateHz = 1
constexpr state::ParamID kPhaserDepth = 2
constexpr state::ParamID kPhaserFeedback = 3
constexpr state::ParamID kPhaserStages = 4

Enumeration Type Documentation

◆ LfoShape

enum class pulp::host::forge_lofi::LfoShape : int
strong
Enumerator
sine 
triangle 
saw 
square 

Function Documentation

◆ analog_vcf_descriptor()

ForgeNodeDescriptor pulp::host::forge_lofi::analog_vcf_descriptor ( )
inline

◆ analog_vcf_identity()

AnalogVcfIdentity pulp::host::forge_lofi::analog_vcf_identity ( signal::AnalogVcf::Voicing voicing)
inlinenoexcept

◆ forge_lfo_osc()

float pulp::host::forge_lofi::forge_lfo_osc ( float phase,
int shape )
inlinenoexcept

◆ forge_white_next()

float pulp::host::forge_lofi::forge_white_next ( std::uint64_t & state)
inlinenoexcept

◆ make_analog_vcf_node()

CustomNodeType pulp::host::forge_lofi::make_analog_vcf_node ( signal::AnalogVcf::Voicing voicing)
inline

◆ make_auto_pan_node()

CustomNodeType pulp::host::forge_lofi::make_auto_pan_node ( )

◆ make_bitcrush_node()

◆ make_compressor_node()

CustomNodeType pulp::host::forge_lofi::make_compressor_node ( )

◆ make_delay_cv_node()

CustomNodeType pulp::host::forge_lofi::make_delay_cv_node ( )

◆ make_delay_node()

CustomNodeType pulp::host::forge_lofi::make_delay_node ( )

◆ make_drywet_node()

CustomNodeType pulp::host::forge_lofi::make_drywet_node ( )

◆ make_env_follower_node()

CustomNodeType pulp::host::forge_lofi::make_env_follower_node ( )

◆ make_filter_cv_node()

CustomNodeType pulp::host::forge_lofi::make_filter_cv_node ( )

◆ make_filter_node()

CustomNodeType pulp::host::forge_lofi::make_filter_node ( signal::Svf::Mode mode = signal::Svf::Mode::lowpass)

◆ make_gate_node()

CustomNodeType pulp::host::forge_lofi::make_gate_node ( )

◆ make_lfo_node()

CustomNodeType pulp::host::forge_lofi::make_lfo_node ( )

◆ make_noise_node()

CustomNodeType pulp::host::forge_lofi::make_noise_node ( )

◆ make_phaser_node()

CustomNodeType pulp::host::forge_lofi::make_phaser_node ( )

◆ make_ping_pong_node()

CustomNodeType pulp::host::forge_lofi::make_ping_pong_node ( )

◆ make_reverb_node()

CustomNodeType pulp::host::forge_lofi::make_reverb_node ( )

◆ make_trim_node()

CustomNodeType pulp::host::forge_lofi::make_trim_node ( )

◆ make_vca_node()

CustomNodeType pulp::host::forge_lofi::make_vca_node ( )

◆ make_waveshaper_node()

CustomNodeType pulp::host::forge_lofi::make_waveshaper_node ( )

◆ make_width_node()

CustomNodeType pulp::host::forge_lofi::make_width_node ( )

Variable Documentation

◆ kAnalogVcfCutoff

state::ParamID pulp::host::forge_lofi::kAnalogVcfCutoff = 1
inlineconstexpr

◆ kAnalogVcfCutoffMod

state::ParamID pulp::host::forge_lofi::kAnalogVcfCutoffMod = 2
inlineconstexpr

◆ kAnalogVcfDriveDb

state::ParamID pulp::host::forge_lofi::kAnalogVcfDriveDb = 4
inlineconstexpr

◆ kAnalogVcfJunoTypeId

const char* pulp::host::forge_lofi::kAnalogVcfJunoTypeId = "vcf.juno"
inlineconstexpr

◆ kAnalogVcfJupiterTypeId

const char* pulp::host::forge_lofi::kAnalogVcfJupiterTypeId = "vcf.jupiter"
inlineconstexpr

◆ kAnalogVcfMinimoogTypeId

const char* pulp::host::forge_lofi::kAnalogVcfMinimoogTypeId = "vcf.minimoog"
inlineconstexpr

◆ kAnalogVcfOversampling

int pulp::host::forge_lofi::kAnalogVcfOversampling = 2
inlineconstexpr

◆ kAnalogVcfProphet5TypeId

const char* pulp::host::forge_lofi::kAnalogVcfProphet5TypeId = "vcf.prophet5"
inlineconstexpr

◆ kAnalogVcfResonance

state::ParamID pulp::host::forge_lofi::kAnalogVcfResonance = 3
inlineconstexpr

◆ kAutoPanDepth

state::ParamID pulp::host::forge_lofi::kAutoPanDepth = 2
inlineconstexpr

◆ kAutoPanRateHz

state::ParamID pulp::host::forge_lofi::kAutoPanRateHz = 1
inlineconstexpr

◆ kAutoPanShape

state::ParamID pulp::host::forge_lofi::kAutoPanShape = 3
inlineconstexpr

◆ kAutoPanTypeId

const char* pulp::host::forge_lofi::kAutoPanTypeId = "forge_lofi_auto_pan"
inlineconstexpr

◆ kBitcrushBitDepth

state::ParamID pulp::host::forge_lofi::kBitcrushBitDepth = 1
inlineconstexpr

◆ kBitcrushRateDiv

state::ParamID pulp::host::forge_lofi::kBitcrushRateDiv = 2
inlineconstexpr

◆ kBitcrushTpdfFirstTypeId

const char* pulp::host::forge_lofi::kBitcrushTpdfFirstTypeId = "forge_lofi_bitcrush_tpdf_first"
inlineconstexpr

◆ kBitcrushTpdfSecondTypeId

const char* pulp::host::forge_lofi::kBitcrushTpdfSecondTypeId = "forge_lofi_bitcrush_tpdf_second"
inlineconstexpr

◆ kBitcrushTpdfTypeId

const char* pulp::host::forge_lofi::kBitcrushTpdfTypeId = "forge_lofi_bitcrush_tpdf"
inlineconstexpr

◆ kBitcrushTypeId

const char* pulp::host::forge_lofi::kBitcrushTypeId = "forge_lofi_bitcrush"
inlineconstexpr

◆ kCompAttackMs

state::ParamID pulp::host::forge_lofi::kCompAttackMs = 3
inlineconstexpr

◆ kCompBallistics

state::ParamID pulp::host::forge_lofi::kCompBallistics = 5
inlineconstexpr

◆ kCompRatio

state::ParamID pulp::host::forge_lofi::kCompRatio = 2
inlineconstexpr

◆ kCompReleaseMs

state::ParamID pulp::host::forge_lofi::kCompReleaseMs = 4
inlineconstexpr

◆ kCompressorTypeId

const char* pulp::host::forge_lofi::kCompressorTypeId = "forge_lofi_compressor"
inlineconstexpr

◆ kCompThresholdDb

state::ParamID pulp::host::forge_lofi::kCompThresholdDb = 1
inlineconstexpr

◆ kDelayCvBaseMs

state::ParamID pulp::host::forge_lofi::kDelayCvBaseMs = 1
inlineconstexpr

◆ kDelayCvDepthMs

state::ParamID pulp::host::forge_lofi::kDelayCvDepthMs = 2
inlineconstexpr

◆ kDelayCvFeedback

state::ParamID pulp::host::forge_lofi::kDelayCvFeedback = 3
inlineconstexpr

◆ kDelayCvMix

state::ParamID pulp::host::forge_lofi::kDelayCvMix = 4
inlineconstexpr

◆ kDelayCvTypeId

const char* pulp::host::forge_lofi::kDelayCvTypeId = "forge_lofi_delay_cv"
inlineconstexpr

◆ kDelayFeedback

state::ParamID pulp::host::forge_lofi::kDelayFeedback = 2
inlineconstexpr

◆ kDelayMaxMs

float pulp::host::forge_lofi::kDelayMaxMs = 2000.0f
inlineconstexpr

◆ kDelayTimeMs

state::ParamID pulp::host::forge_lofi::kDelayTimeMs = 1
inlineconstexpr

◆ kDelayTypeId

const char* pulp::host::forge_lofi::kDelayTypeId = "forge_lofi_delay"
inlineconstexpr

◆ kDryWetMix

state::ParamID pulp::host::forge_lofi::kDryWetMix = 1
inlineconstexpr

◆ kDryWetTypeId

const char* pulp::host::forge_lofi::kDryWetTypeId = "forge_lofi_drywet"
inlineconstexpr

◆ kEnvAttackMs

state::ParamID pulp::host::forge_lofi::kEnvAttackMs = 1
inlineconstexpr

◆ kEnvFollowerTypeId

const char* pulp::host::forge_lofi::kEnvFollowerTypeId = "forge_lofi_env_follower"
inlineconstexpr

◆ kEnvInvert

state::ParamID pulp::host::forge_lofi::kEnvInvert = 4
inlineconstexpr

◆ kEnvReleaseMs

state::ParamID pulp::host::forge_lofi::kEnvReleaseMs = 2
inlineconstexpr

◆ kEnvSensitivity

state::ParamID pulp::host::forge_lofi::kEnvSensitivity = 3
inlineconstexpr

◆ kFilterBandpassTypeId

const char* pulp::host::forge_lofi::kFilterBandpassTypeId = "forge_lofi_filter_bandpass"
inlineconstexpr

◆ kFilterCutoffHz

state::ParamID pulp::host::forge_lofi::kFilterCutoffHz = 1
inlineconstexpr

◆ kFilterCvAmountOct

state::ParamID pulp::host::forge_lofi::kFilterCvAmountOct = 2
inlineconstexpr

◆ kFilterCvBaseHz

state::ParamID pulp::host::forge_lofi::kFilterCvBaseHz = 1
inlineconstexpr

◆ kFilterCvResonance

state::ParamID pulp::host::forge_lofi::kFilterCvResonance = 3
inlineconstexpr

◆ kFilterCvTypeId

const char* pulp::host::forge_lofi::kFilterCvTypeId = "forge_lofi_filter_cv"
inlineconstexpr

◆ kFilterHighpassTypeId

const char* pulp::host::forge_lofi::kFilterHighpassTypeId = "forge_lofi_filter_highpass"
inlineconstexpr

◆ kFilterNotchTypeId

const char* pulp::host::forge_lofi::kFilterNotchTypeId = "forge_lofi_filter_notch"
inlineconstexpr

◆ kFilterResonance

state::ParamID pulp::host::forge_lofi::kFilterResonance = 2
inlineconstexpr

◆ kFilterTypeId

const char* pulp::host::forge_lofi::kFilterTypeId = "forge_lofi_filter"
inlineconstexpr

◆ kGateAttackMs

state::ParamID pulp::host::forge_lofi::kGateAttackMs = 2
inlineconstexpr

◆ kGateHoldMs

state::ParamID pulp::host::forge_lofi::kGateHoldMs = 3
inlineconstexpr

◆ kGateReleaseMs

state::ParamID pulp::host::forge_lofi::kGateReleaseMs = 4
inlineconstexpr

◆ kGateThresholdDb

state::ParamID pulp::host::forge_lofi::kGateThresholdDb = 1
inlineconstexpr

◆ kGateTypeId

const char* pulp::host::forge_lofi::kGateTypeId = "forge_lofi_gate"
inlineconstexpr

◆ kLfoDepth

state::ParamID pulp::host::forge_lofi::kLfoDepth = 2
inlineconstexpr

◆ kLfoRateHz

state::ParamID pulp::host::forge_lofi::kLfoRateHz = 1
inlineconstexpr

◆ kLfoShape

state::ParamID pulp::host::forge_lofi::kLfoShape = 3
inlineconstexpr

◆ kLfoTypeId

const char* pulp::host::forge_lofi::kLfoTypeId = "forge_lofi_lfo"
inlineconstexpr

◆ kNoiseLevel

state::ParamID pulp::host::forge_lofi::kNoiseLevel = 1
inlineconstexpr

◆ kNoiseTypeId

const char* pulp::host::forge_lofi::kNoiseTypeId = "forge_lofi_noise"
inlineconstexpr

◆ kPhaserDepth

state::ParamID pulp::host::forge_lofi::kPhaserDepth = 2
inlineconstexpr

◆ kPhaserFeedback

state::ParamID pulp::host::forge_lofi::kPhaserFeedback = 3
inlineconstexpr

◆ kPhaserRateHz

state::ParamID pulp::host::forge_lofi::kPhaserRateHz = 1
inlineconstexpr

◆ kPhaserStages

state::ParamID pulp::host::forge_lofi::kPhaserStages = 4
inlineconstexpr

◆ kPhaserTypeId

const char* pulp::host::forge_lofi::kPhaserTypeId = "forge_lofi_phaser"
inlineconstexpr

◆ kPingPongFeedback

state::ParamID pulp::host::forge_lofi::kPingPongFeedback = 2
inlineconstexpr

◆ kPingPongTimeMs

state::ParamID pulp::host::forge_lofi::kPingPongTimeMs = 1
inlineconstexpr

◆ kPingPongTypeId

const char* pulp::host::forge_lofi::kPingPongTypeId = "forge_lofi_ping_pong"
inlineconstexpr

◆ kPingPongWidth

state::ParamID pulp::host::forge_lofi::kPingPongWidth = 3
inlineconstexpr

◆ kReverbDamping

state::ParamID pulp::host::forge_lofi::kReverbDamping = 2
inlineconstexpr

◆ kReverbDecay

state::ParamID pulp::host::forge_lofi::kReverbDecay = 1
inlineconstexpr

◆ kReverbMix

state::ParamID pulp::host::forge_lofi::kReverbMix = 3
inlineconstexpr

◆ kReverbTypeId

const char* pulp::host::forge_lofi::kReverbTypeId = "forge_lofi_reverb"
inlineconstexpr

◆ kReverbWetNormalization

float pulp::host::forge_lofi::kReverbWetNormalization = 1.0f / 48.0f
inlineconstexpr

◆ kTrimGainDb

state::ParamID pulp::host::forge_lofi::kTrimGainDb = 1
inlineconstexpr

◆ kTrimTypeId

const char* pulp::host::forge_lofi::kTrimTypeId = "forge_lofi_trim"
inlineconstexpr

◆ kVcaGain

state::ParamID pulp::host::forge_lofi::kVcaGain = 1
inlineconstexpr

◆ kVcaTypeId

const char* pulp::host::forge_lofi::kVcaTypeId = "forge_lofi_vca"
inlineconstexpr

◆ kWaveshaperDrive

state::ParamID pulp::host::forge_lofi::kWaveshaperDrive = 1
inlineconstexpr

◆ kWaveshaperTypeId

const char* pulp::host::forge_lofi::kWaveshaperTypeId = "forge_lofi_waveshaper"
inlineconstexpr

◆ kWidthAmount

state::ParamID pulp::host::forge_lofi::kWidthAmount = 1
inlineconstexpr

◆ kWidthTypeId

const char* pulp::host::forge_lofi::kWidthTypeId = "forge_lofi_width"
inlineconstexpr