MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / buildUI

Method buildUI

src/gui/ClientDeEssApplet.cpp:112–211  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

110}
111
112void ClientDeEssApplet::buildUI()
113{
114 setStyleSheet("QWidget { background: transparent; }");
115
116 auto* outer = new QVBoxLayout(this);
117 outer->setContentsMargins(4, 4, 4, 4);
118 outer->setSpacing(4);
119
120 m_curve = new ClientDeEssCurveWidget;
121 m_curve->setCompactMode(true);
122 m_curve->setMinimumHeight(90);
123 outer->addWidget(m_curve, 1);
124
125 m_grBar = new ClientDeEssGrBar;
126 outer->addWidget(m_grBar);
127
128 // Enable / Edit buttons removed — CHAIN widget handles bypass
129 // (single-click) and editor-open (double-click).
130
131 // Four-knob tuning row — Freq, Q, Thresh, Amount. Mappings mirror
132 // ClientDeEssEditor.
133 {
134 auto* row = new QHBoxLayout;
135 row->setSpacing(4);
136
137 auto makeKnob = [](const QString& label) {
138 auto* k = new ClientCompKnob;
139 k->setLabel(label);
140 k->setCenterLabelMode(true);
141 k->setInlineEditEnabled(false);
142 k->setFixedSize(38, 48);
143 return k;
144 };
145
146 m_freq = makeKnob("Freq");
147 m_freq->setRange(1000.0f, 12000.0f);
148 m_freq->setDefault(6000.0f);
149 m_freq->setValueFromNorm([](float n) {
150 return 1000.0f * std::pow(12.0f, n);
151 });
152 m_freq->setNormFromValue([](float v) {
153 return std::log(std::max(1000.0f, v) / 1000.0f)
154 / std::log(12.0f);
155 });
156 m_freq->setLabelFormat([](float v) {
157 return (v >= 1000.0f)
158 ? QString::number(v / 1000.0f, 'f', 1) + " kHz"
159 : QString::number(v, 'f', 0) + " Hz";
160 });
161 row->addWidget(m_freq);
162
163 m_q = makeKnob("Q");
164 m_q->setRange(0.5f, 5.0f);
165 m_q->setDefault(2.0f);
166 m_q->setValueFromNorm([](float n) { return 0.5f + n * 4.5f; });
167 m_q->setNormFromValue([](float v) { return (v - 0.5f) / 4.5f; });
168 m_q->setLabelFormat([](float v) {
169 return QString::number(v, 'f', 2);

Callers

nothing calls this directly

Calls 12

logFunction · 0.85
setCenterLabelModeMethod · 0.80
setInlineEditEnabledMethod · 0.80
setDefaultMethod · 0.80
setValueFromNormMethod · 0.80
setNormFromValueMethod · 0.80
setLabelFormatMethod · 0.80
clientDeEssTxMethod · 0.80
setCompactModeMethod · 0.45
setLabelMethod · 0.45
setRangeMethod · 0.45

Tested by

no test coverage detected