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

Method buildUI

src/gui/ClientTubeApplet.cpp:61–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59}
60
61void ClientTubeApplet::buildUI()
62{
63 setStyleSheet("QWidget { background: transparent; }");
64
65 auto* outer = new QVBoxLayout(this);
66 outer->setContentsMargins(4, 4, 4, 4);
67 outer->setSpacing(4);
68
69 m_curve = new ClientTubeCurveWidget;
70 m_curve->setCompactMode(true);
71 m_curve->setMinimumHeight(90);
72 outer->addWidget(m_curve, 1);
73
74 // Enable / Edit buttons removed — CHAIN widget handles bypass
75 // (single-click) and editor-open (double-click).
76
77 // Five-knob tuning row — Drive, Tone, Bias, Output, Mix. Mappings
78 // mirror ClientTubeEditor.
79 {
80 auto* row = new QHBoxLayout;
81 row->setSpacing(4);
82
83 auto makeKnob = [](const QString& label) {
84 auto* k = new ClientCompKnob;
85 k->setLabel(label);
86 k->setCenterLabelMode(true);
87 k->setInlineEditEnabled(false);
88 k->setFixedSize(38, 48);
89 return k;
90 };
91
92 m_drive = makeKnob("Drive");
93 m_drive->setRange(0.0f, 24.0f);
94 m_drive->setDefault(0.0f);
95 m_drive->setValueFromNorm([](float n) { return n * 24.0f; });
96 m_drive->setNormFromValue([](float v) { return v / 24.0f; });
97 m_drive->setLabelFormat([](float v) {
98 return QString::number(v, 'f', 1) + " dB";
99 });
100 row->addWidget(m_drive);
101
102 m_tone = makeKnob("Tone");
103 m_tone->setRange(-1.0f, 1.0f);
104 m_tone->setDefault(0.0f);
105 m_tone->setValueFromNorm([](float n) { return -1.0f + n * 2.0f; });
106 m_tone->setNormFromValue([](float v) { return (v + 1.0f) / 2.0f; });
107 m_tone->setLabelFormat([](float v) {
108 return QString::number(v, 'f', 2);
109 });
110 row->addWidget(m_tone);
111
112 m_bias = makeKnob("Bias");
113 m_bias->setRange(0.0f, 1.0f);
114 m_bias->setDefault(0.0f);
115 m_bias->setValueFromNorm([](float n) { return n; });
116 m_bias->setNormFromValue([](float v) { return v; });
117 m_bias->setLabelFormat([](float v) {
118 return QString::number(static_cast<int>(v * 100.0f + 0.5f)) + " %";

Callers

nothing calls this directly

Calls 9

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

Tested by

no test coverage detected