Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
6863e01
Knob with correct label rendering
michaelgregorius Sep 28, 2024
845b51f
Switch from `setLabel` to `setLabelLegacy`
michaelgregorius Sep 28, 2024
bbca164
Remove parameter `legacyMode` from `setLabel`
michaelgregorius Sep 28, 2024
21ba9f3
Extract methods
michaelgregorius Sep 28, 2024
01a46d0
Introduce legacy knob builders
michaelgregorius Sep 28, 2024
f72290a
Legacy knob builders in GUI
michaelgregorius Sep 28, 2024
eb6d27f
Remove `Knob::setLabelLegacy`
michaelgregorius Sep 28, 2024
ee2ccb6
Use descent to calculate base line
michaelgregorius Sep 28, 2024
e065d24
Extract `Knob::drawLabel`
michaelgregorius Sep 28, 2024
86a5ca0
Use non-legacy knobs for instrument and sample track
michaelgregorius Sep 28, 2024
b891120
Introduce `buildKnobWithSmallPixelFont`
michaelgregorius Sep 29, 2024
cd43423
Non-legacy knobs for VSTs
michaelgregorius Sep 29, 2024
d31c90e
Fix styled knobs
michaelgregorius Sep 29, 2024
39e1e9f
Code review changes
michaelgregorius Sep 30, 2024
3991612
Code review changes
michaelgregorius Oct 10, 2024
e66d841
Add documentation for legacy mode
michaelgregorius Oct 10, 2024
c4077e9
Code review
michaelgregorius Oct 10, 2024
4d95ec8
Merge remote-tracking branch 'upstream/master' into KnobFlexibleLabels
michaelgregorius Feb 22, 2025
5f55bd8
Decrease the label size of some knobs
michaelgregorius Mar 9, 2025
b2cd6f4
Merge branch 'master' into KnobFlexibleLabels
michaelgregorius Mar 19, 2025
1ecdc89
Merge remote-tracking branch 'upstream/master' into KnobFlexibleLabels
michaelgregorius Mar 22, 2025
794bce5
Adjustments to CrossoverEQControlDialog
michaelgregorius Mar 22, 2025
02602d1
Fix formatting of CrossoverEQControlDialog
michaelgregorius Mar 22, 2025
e32d0ce
Code review changes
michaelgregorius Apr 1, 2025
caac12c
Protected legacy mode methods
michaelgregorius Apr 1, 2025
0e55ba3
Merge remote-tracking branch 'upstream/master' into KnobFlexibleLabels
michaelgregorius Apr 1, 2025
61c436c
Code review: remove indexed access
michaelgregorius Apr 18, 2025
ba2e8a5
Fix u_int16_t to uint16_t
michaelgregorius Apr 18, 2025
24e172a
Merge remote-tracking branch 'upstream/master' into KnobFlexibleLabels
michaelgregorius Apr 19, 2025
84b5458
Fix AudioFileProcessor knobs
michaelgregorius Apr 19, 2025
662bd98
Use legacy knobs in EffectView
michaelgregorius Apr 19, 2025
7037a74
Legacy knobs for instrument & sample
michaelgregorius Apr 19, 2025
181d5cc
Add documentation to Knob builder methods
michaelgregorius Apr 30, 2025
2e576d4
Ensure legancy rendering for legacy knobs
michaelgregorius May 12, 2025
8d1ae33
Merge remote-tracking branch 'upstream/master' into KnobFlexibleLabels
michaelgregorius May 17, 2025
176a165
Remove unused constructor
michaelgregorius May 17, 2025
d404709
Remove Knob::buildKnobWithSmallPixelFont
michaelgregorius May 17, 2025
967f80a
Remove Knob::buildKnobWithFixedPixelFont
michaelgregorius May 17, 2025
2825716
Constructor for knobs with pixel size labels
michaelgregorius May 17, 2025
18e7d3c
Remove TempoSyncKnob::buildKnobWithSmallPixelFont
michaelgregorius May 17, 2025
43a31aa
Remove CustomTextKnob::buildKnobWithSmallPixelFont
michaelgregorius May 17, 2025
440cea1
Knob constructors whichKnob constructors which take labels
michaelgregorius May 17, 2025
41c4f6e
Remove Knob::buildLegacyKnob
michaelgregorius May 17, 2025
9ca18e0
Remove TempoSyncKnob::buildLegacyKnob
michaelgregorius May 17, 2025
ede67e3
Vertical spacing for Peak Controller
michaelgregorius May 17, 2025
4d03777
Peak Controller: use default margins
michaelgregorius May 17, 2025
89cd2f5
Rename the enum `Knob::Mode`
michaelgregorius May 29, 2025
85aa471
Add TempoSyncKnob documentation
michaelgregorius May 29, 2025
a3fe16e
Name adjustments and parameter removal
michaelgregorius May 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Adjustments to CrossoverEQControlDialog
Commit the adjustments that were done to `CrossoverEQControlDialog` which I had forgotten to add after fixing the merge.
  • Loading branch information
michaelgregorius committed Mar 22, 2025
commit 794bce525e9f62c6c653b9b54c75e400d11efb05
180 changes: 92 additions & 88 deletions plugins/CrossoverEQ/CrossoverEQControlDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,91 +25,95 @@
*/


#include "CrossoverEQControlDialog.h"
#include "CrossoverEQControls.h"
#include "embed.h"
#include "LedCheckBox.h"
#include "Knob.h"
#include "Fader.h"

#include <QPixmap>


namespace lmms::gui
{


CrossoverEQControlDialog::CrossoverEQControlDialog(CrossoverEQControls *controls) :
EffectControlDialog(controls)
{
setAutoFillBackground(true);
QPalette pal;
pal.setBrush(backgroundRole(), PLUGIN_NAME::getIconPixmap("artwork"));
setPalette(pal);
setFixedSize(167, 218);
auto layout = new QVBoxLayout(this);

auto knobsLayout = new QHBoxLayout();
layout->addLayout(knobsLayout);

const auto makeKnob = [this, knobsLayout](
FloatModel *model,
const QString &label,
const QString &txt_before
) {
auto k = Knob::buildKnobWithSmallPixelFont(KnobType::Bright26, label, this);
k->setModel(model);
k->setHintText(txt_before, "Hz");
knobsLayout->addWidget(k, 0, Qt::AlignHCenter);
};

makeKnob(&controls->m_xover12, "1/2", tr("Band 1/2 crossover"));
makeKnob(&controls->m_xover23, "2/3", tr("Band 2/3 crossover"));
makeKnob(&controls->m_xover34, "3/4", tr("Band 3/4 crossover"));

auto bandsLayout = new QGridLayout();
bandsLayout->setContentsMargins(4, 10, 4, 5);
layout->addLayout(bandsLayout);

const auto makeFader = [this, bandsLayout](
FloatModel *model,
const QString &label,
int column
) {
auto f = new Fader(model, label, this, false);
f->setHintText(label, "dBFS");
f->setDisplayConversion(false);
f->setRenderUnityLine(false);
bandsLayout->addWidget(f, 0, column, Qt::AlignHCenter);
};

makeFader(&controls->m_gain1, tr("Band 1 gain"), 0);
makeFader(&controls->m_gain2, tr("Band 2 gain"), 1);
makeFader(&controls->m_gain3, tr("Band 3 gain"), 2);
makeFader(&controls->m_gain4, tr("Band 4 gain"), 3);

const auto muteOn = embed::getIconPixmap("mute_active");
const auto muteOff = embed::getIconPixmap("mute_inactive");

const auto makeMuteBtn = [this, bandsLayout, muteOn, muteOff](
BoolModel *model,
const QString &label,
int column
) {
auto b = new PixmapButton(this, label);
b->setActiveGraphic(muteOff);
b->setInactiveGraphic(muteOn);
b->setCheckable(true);
b->setModel(model);
b->setToolTip(label);
bandsLayout->addWidget(b, 1, column, Qt::AlignCenter);
};

makeMuteBtn(&controls->m_mute1, tr("Mute band 1"), 0);
makeMuteBtn(&controls->m_mute2, tr("Mute band 2"), 1);
makeMuteBtn(&controls->m_mute3, tr("Mute band 3"), 2);
makeMuteBtn(&controls->m_mute4, tr("Mute band 4"), 3);
}


} // namespace lmms::gui
#include "CrossoverEQControlDialog.h"
#include "CrossoverEQControls.h"
#include "embed.h"
#include "LedCheckBox.h"
#include "Knob.h"
#include "Fader.h"
#include "PixmapButton.h"

#include <QPixmap>
#include <QHBoxLayout>
#include <QVBoxLayout>


namespace lmms::gui
{


CrossoverEQControlDialog::CrossoverEQControlDialog(CrossoverEQControls *controls) :
EffectControlDialog(controls)
{
setAutoFillBackground(true);
QPalette pal;
pal.setBrush(backgroundRole(), PLUGIN_NAME::getIconPixmap("artwork"));
setPalette(pal);
setFixedSize(167, 218);
auto layout = new QVBoxLayout(this);

auto knobsLayout = new QHBoxLayout();
layout->addLayout(knobsLayout);

const auto makeKnob = [this, knobsLayout](
FloatModel *model,
const QString &label,
const QString &txt_before
) {
auto k = Knob::buildKnobWithSmallPixelFont(KnobType::Bright26, label, this);
k->setModel(model);
k->setHintText(txt_before, "Hz");
knobsLayout->addWidget(k, 0, Qt::AlignHCenter);
};

makeKnob(&controls->m_xover12, "1/2", tr("Band 1/2 crossover"));
makeKnob(&controls->m_xover23, "2/3", tr("Band 2/3 crossover"));
makeKnob(&controls->m_xover34, "3/4", tr("Band 3/4 crossover"));

auto bandsLayout = new QGridLayout();
bandsLayout->setContentsMargins(4, 10, 4, 5);
layout->addLayout(bandsLayout);

const auto makeFader = [this, bandsLayout](
FloatModel *model,
const QString &label,
int column
) {
auto f = new Fader(model, label, this, false);
f->setHintText(label, "dBFS");
f->setDisplayConversion(false);
f->setRenderUnityLine(false);
bandsLayout->addWidget(f, 0, column, Qt::AlignHCenter);
};

makeFader(&controls->m_gain1, tr("Band 1 gain"), 0);
makeFader(&controls->m_gain2, tr("Band 2 gain"), 1);
makeFader(&controls->m_gain3, tr("Band 3 gain"), 2);
makeFader(&controls->m_gain4, tr("Band 4 gain"), 3);

const auto muteOn = embed::getIconPixmap("mute_active");
const auto muteOff = embed::getIconPixmap("mute_inactive");

const auto makeMuteBtn = [this, bandsLayout, muteOn, muteOff](
BoolModel *model,
const QString &label,
int column
) {
auto b = new PixmapButton(this, label);
b->setActiveGraphic(muteOff);
b->setInactiveGraphic(muteOn);
b->setCheckable(true);
b->setModel(model);
b->setToolTip(label);
bandsLayout->addWidget(b, 1, column, Qt::AlignCenter);
};

makeMuteBtn(&controls->m_mute1, tr("Mute band 1"), 0);
makeMuteBtn(&controls->m_mute2, tr("Mute band 2"), 1);
makeMuteBtn(&controls->m_mute3, tr("Mute band 3"), 2);
makeMuteBtn(&controls->m_mute4, tr("Mute band 4"), 3);
}


} // namespace lmms::gui

Loading