mirror of
https://codeberg.org/armin/chromaflock.git
synced 2026-09-01 04:10:47 +02:00
Wire up remaining FX members, param layout, and section bounds
This commit is contained in:
parent
270abe2cc0
commit
758016634f
4 changed files with 18 additions and 6 deletions
|
|
@ -922,9 +922,9 @@ void MainContentComponent::paint(juce::Graphics& g) {
|
||||||
drawSection(10, 128, 498, 200);
|
drawSection(10, 128, 498, 200);
|
||||||
drawSection(518, 128, 624, 200);
|
drawSection(518, 128, 624, 200);
|
||||||
drawSection(1152, 128, 498, 200);
|
drawSection(1152, 128, 498, 200);
|
||||||
drawSection(75, 338, 498, 160);
|
drawSection(10, 338, 563, 160);
|
||||||
drawSection(583, 338, 502, 160);
|
drawSection(583, 338, 502, 160);
|
||||||
drawSection(1095, 338, 490, 160);
|
drawSection(1095, 338, 555, 160);
|
||||||
drawSection(10, 956, 1640, 136);
|
drawSection(10, 956, 1640, 136);
|
||||||
|
|
||||||
// FX sub-sections
|
// FX sub-sections
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,12 @@ private:
|
||||||
|
|
||||||
class PatchLCD : public juce::Component {
|
class PatchLCD : public juce::Component {
|
||||||
public:
|
public:
|
||||||
|
std::function<void()> onClick;
|
||||||
void setText(const juce::String& t) { text = t; repaint(); }
|
void setText(const juce::String& t) { text = t; repaint(); }
|
||||||
|
const juce::String& getText() const { return text; }
|
||||||
void paint(juce::Graphics& g) override;
|
void paint(juce::Graphics& g) override;
|
||||||
|
void mouseEnter(const juce::MouseEvent&) override { setMouseCursor(juce::MouseCursor::PointingHandCursor); }
|
||||||
|
void mouseDown(const juce::MouseEvent&) override { if (onClick) onClick(); }
|
||||||
private:
|
private:
|
||||||
juce::String text = "INIT";
|
juce::String text = "INIT";
|
||||||
};
|
};
|
||||||
|
|
@ -92,6 +96,7 @@ private:
|
||||||
int lastTriggeredNote = -1;
|
int lastTriggeredNote = -1;
|
||||||
int currentPitchBend = 64; // 0..127, 64 = center
|
int currentPitchBend = 64; // 0..127, 64 = center
|
||||||
bool pitchBendDragging = false;
|
bool pitchBendDragging = false;
|
||||||
|
int pitchBendStartY = 0;
|
||||||
|
|
||||||
bool pitchBendGliding = false;
|
bool pitchBendGliding = false;
|
||||||
float pitchBendGlideStart = 0.0f;
|
float pitchBendGlideStart = 0.0f;
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,9 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
||||||
// OSC 1
|
// OSC 1
|
||||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||||
juce::ParameterID{"osc1Wave", 1}, "OSC1 Wave",
|
juce::ParameterID{"osc1Wave", 1}, "OSC1 Wave",
|
||||||
juce::StringArray{"Sine", "Saw", "Square", "Triangle", "Noise"}, 1));
|
juce::StringArray{"Sine", "Saw", "Square", "Triangle", "Noise",
|
||||||
|
"Pulse 25%", "Pulse 12%", "Rev Saw", "Full Rect", "Half Rect",
|
||||||
|
"Stair 4", "Stair 8", "Soft Sine", "Sinc", "Exp Pulse", "Double Sine"}, 1));
|
||||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||||
juce::ParameterID{"osc1Oct", 1}, "OSC1 Octave",
|
juce::ParameterID{"osc1Oct", 1}, "OSC1 Octave",
|
||||||
juce::NormalisableRange<float>(-3.0f, 3.0f, 1.0f), 0.0f));
|
juce::NormalisableRange<float>(-3.0f, 3.0f, 1.0f), 0.0f));
|
||||||
|
|
@ -69,7 +71,9 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
||||||
// OSC 2
|
// OSC 2
|
||||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||||
juce::ParameterID{"osc2Wave", 1}, "OSC2 Wave",
|
juce::ParameterID{"osc2Wave", 1}, "OSC2 Wave",
|
||||||
juce::StringArray{"Sine", "Saw", "Square", "Triangle", "Noise"}, 3));
|
juce::StringArray{"Sine", "Saw", "Square", "Triangle", "Noise",
|
||||||
|
"Pulse 25%", "Pulse 12%", "Rev Saw", "Full Rect", "Half Rect",
|
||||||
|
"Stair 4", "Stair 8", "Soft Sine", "Sinc", "Exp Pulse", "Double Sine"}, 3));
|
||||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||||
juce::ParameterID{"osc2Oct", 1}, "OSC2 Octave",
|
juce::ParameterID{"osc2Oct", 1}, "OSC2 Octave",
|
||||||
juce::NormalisableRange<float>(-3.0f, 3.0f, 1.0f), -1.0f));
|
juce::NormalisableRange<float>(-3.0f, 3.0f, 1.0f), -1.0f));
|
||||||
|
|
@ -206,7 +210,7 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
||||||
juce::StringArray{"Sine", "Triangle", "Saw", "Square"}, 0));
|
juce::StringArray{"Sine", "Triangle", "Saw", "Square"}, 0));
|
||||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||||
juce::ParameterID{"lfo1Dest", 1}, "LFO1 Dest",
|
juce::ParameterID{"lfo1Dest", 1}, "LFO1 Dest",
|
||||||
juce::StringArray{"Filter", "OSC1", "OSC2", "Both OSC"}, 0));
|
juce::StringArray{"Filter", "OSC1", "OSC2", "Both OSC", "OSC2 Phase"}, 0));
|
||||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||||
juce::ParameterID{"lfo1Sync", 1}, "LFO1 Sync",
|
juce::ParameterID{"lfo1Sync", 1}, "LFO1 Sync",
|
||||||
juce::StringArray{"Sync Off", "Sync On"}, 0));
|
juce::StringArray{"Sync Off", "Sync On"}, 0));
|
||||||
|
|
@ -227,7 +231,7 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
||||||
juce::StringArray{"Sine", "Triangle", "Saw", "Square"}, 0));
|
juce::StringArray{"Sine", "Triangle", "Saw", "Square"}, 0));
|
||||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||||
juce::ParameterID{"lfo2Dest", 1}, "LFO2 Dest",
|
juce::ParameterID{"lfo2Dest", 1}, "LFO2 Dest",
|
||||||
juce::StringArray{"Filter", "OSC1", "OSC2", "Both OSC"}, 0));
|
juce::StringArray{"Filter", "OSC1", "OSC2", "Both OSC", "OSC2 Phase"}, 0));
|
||||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||||
juce::ParameterID{"lfo2Sync", 1}, "LFO2 Sync",
|
juce::ParameterID{"lfo2Sync", 1}, "LFO2 Sync",
|
||||||
juce::StringArray{"Sync Off", "Sync On"}, 0));
|
juce::StringArray{"Sync Off", "Sync On"}, 0));
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
#include "DSP/Voice.h"
|
#include "DSP/Voice.h"
|
||||||
#include "DSP/Distortion.h"
|
#include "DSP/Distortion.h"
|
||||||
#include "DSP/Compressor.h"
|
#include "DSP/Compressor.h"
|
||||||
|
#include "DSP/Limiter.h"
|
||||||
#include "DSP/Delay.h"
|
#include "DSP/Delay.h"
|
||||||
#include "DSP/Reverb.h"
|
#include "DSP/Reverb.h"
|
||||||
#include "PresetManager.h"
|
#include "PresetManager.h"
|
||||||
|
|
@ -88,9 +89,11 @@ private:
|
||||||
|
|
||||||
Distortion distortion;
|
Distortion distortion;
|
||||||
Compressor compressor;
|
Compressor compressor;
|
||||||
|
Limiter limiter;
|
||||||
Delay delay;
|
Delay delay;
|
||||||
ReverbFX reverbFX;
|
ReverbFX reverbFX;
|
||||||
float autoPanPhase = 0.0f;
|
float autoPanPhase = 0.0f;
|
||||||
|
float autoPanPhaseOffset = 0.0f;
|
||||||
|
|
||||||
double currentSampleRate = 44100.0;
|
double currentSampleRate = 44100.0;
|
||||||
double currentBpm = 120.0;
|
double currentBpm = 120.0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue