Vital
Loading...
Searching...
No Matches
portamento_slope.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "processor.h"
9
10namespace vital {
11
33 class PortamentoSlope : public Processor {
34 public:
36 static constexpr float kMinPortamentoTime = 0.001f;
37
42 enum {
52 };
53
58
62 virtual ~PortamentoSlope() { }
63
68 virtual Processor* clone() const override {
69 return new PortamentoSlope(*this);
70 }
71
77 void processBypass(int start);
78
84 virtual void process(int num_samples) override;
85
86 private:
88 poly_float position_;
89
90 JUCE_LEAK_DETECTOR(PortamentoSlope)
91 };
92} // namespace vital
A processor that smoothly transitions (portamento) from a source value to a target value over a speci...
Definition portamento_slope.h:33
virtual void process(int num_samples) override
Processes the portamento over the given number of samples.
Definition portamento_slope.cpp:23
@ kRunSeconds
Duration of portamento in seconds input index.
Definition portamento_slope.h:47
@ kPortamentoScale
Scale portamento by interval input index.
Definition portamento_slope.h:46
@ kNumNotesPressed
Number of notes currently pressed input index.
Definition portamento_slope.h:50
@ kSlopePower
Power/curve of the slope input index.
Definition portamento_slope.h:48
@ kSource
Source value input index.
Definition portamento_slope.h:44
@ kReset
Reset trigger input index.
Definition portamento_slope.h:49
@ kTarget
Target value input index.
Definition portamento_slope.h:43
@ kNumInputs
Total number of inputs.
Definition portamento_slope.h:51
@ kPortamentoForce
Force portamento on/off input index.
Definition portamento_slope.h:45
void processBypass(int start)
Processes a block when the portamento is effectively bypassed.
Definition portamento_slope.cpp:16
virtual Processor * clone() const override
Clones this PortamentoSlope processor.
Definition portamento_slope.h:68
virtual ~PortamentoSlope()
Destructor.
Definition portamento_slope.h:62
PortamentoSlope()
Constructs a new PortamentoSlope processor.
Definition portamento_slope.cpp:12
static constexpr float kMinPortamentoTime
Minimum portamento time in seconds.
Definition portamento_slope.h:36
Base class for all signal-processing units in Vital.
Definition processor.h:212
Contains classes and functions used within the Vital synthesizer framework.
Declares the Processor class and related structures for handling audio processing in a polyphonic con...
Represents a vector of floating-point values using SIMD instructions.
Definition poly_values.h:600