Skip to content

Commit 986d08a

Browse files
committed
Add Amp slider
1 parent 56b8660 commit 986d08a

File tree

5 files changed

+20
-13
lines changed

5 files changed

+20
-13
lines changed

app/nodes/node_oscillator.cpp

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,20 +84,22 @@ void Oscillator::BuildNode(Canvas& canvas)
8484
spSocket->SetConstraints(glm::uvec2(LayoutConstraint::Preferred, LayoutConstraint::Expanding));
8585
spHorzLayout->AddChild(spSocket);
8686

87-
sliderVal.step = 0.2f;
88-
sliderVal.units = "dB";
87+
sliderVal.step = 0.1f;
88+
sliderVal.units = "";
8989
sliderVal.valueFlags = WidgetValueFlags::Default;
90+
sliderVal.value = 1.0f;
9091

91-
auto spSlider = std::make_shared<Slider>("Amp", sliderVal);
92-
spSlider->SetRect(NRectf(0.0f, 0.0f, 0.0f, 0.0f));
93-
spHorzLayout->AddChild(spSlider);
92+
m_spAmplitude = std::make_shared<Slider>("Amp", sliderVal);
93+
spHorzLayout->AddChild(m_spAmplitude);
94+
m_connections.push_back(m_spAmplitude->ValueUpdatedSignal.connect([=]() {
95+
UpdateWave();
96+
}));
9497

9598
sliderVal.units = "Hz";
9699
sliderVal.name = "Freq";
97100
sliderVal.valueText = "Freq";
98101

99-
spSlider = std::make_shared<Slider>("Freq", sliderVal);
100-
spSlider->SetRect(NRectf(0.0f, 0.0f, 0.0f, 0.0f));
102+
auto spSlider = std::make_shared<Slider>("Freq", sliderVal);
101103
spHorzLayout->AddChild(spSlider);
102104

103105
spSocket = std::make_shared<Socket>("Amp", SocketType::Right);
@@ -125,12 +127,15 @@ void Oscillator::UpdateWave()
125127
pOsc->enableBandlimit = 1;
126128
pOsc->bandlimitIndexOverride = -1;
127129

128-
SliderValue val;
129-
m_spWaveSlider->GetCB()->UpdateSlider(m_spWaveSlider.get(), SliderOp::Get, val);
130+
SliderValue sliderType;
131+
m_spWaveSlider->GetCB()->UpdateSlider(m_spWaveSlider.get(), SliderOp::Get, sliderType);
132+
133+
SliderValue amplitude;
134+
m_spAmplitude->GetCB()->UpdateSlider(m_spAmplitude.get(), SliderOp::Get, amplitude);
130135

131-
pOsc->wtpos = val.value;
136+
pOsc->wtpos = sliderType.value;
132137

133-
pOsc->amp = 1.0;
138+
pOsc->amp = amplitude.value;
134139
pOsc->iphs = 0;
135140

136141
pOsc->freq = 100;

app/nodes/node_oscillator.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ namespace NodeGraph
2020
class Node;
2121
class Canvas;
2222
class WaveSlider;
23+
class Slider;
2324
}
2425

2526
class Oscillator
@@ -77,5 +78,6 @@ class Oscillator
7778

7879
std::shared_ptr<NodeGraph::Node> m_spNode;
7980
std::shared_ptr<NodeGraph::WaveSlider> m_spWaveSlider;
81+
std::shared_ptr<NodeGraph::Slider> m_spAmplitude;
8082
};
8183

File renamed without changes.

libs/zing

Submodule zing updated 1 file

settings.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,4 @@ s_sliderTipBorderSize = 0.0
5656
s_sliderTipFontPad = 7.0
5757
s_sliderTipFontSize = 36.0
5858
s_sliderTipShadowSize = 4.0
59-
s_windowSize = [ 3840.0, 2036.0 ]
59+
s_windowSize = [ 3840.0, 2224.0 ]

0 commit comments

Comments
 (0)