Skip to content

Commit

Permalink
Decrease the label size of some knobs
Browse files Browse the repository at this point in the history
Decrease the size of the following knob labels to 8 pixels:
* "VOL" and "PAN" in the instrument and sample track views
* "W/D", "DECAY" and "GATE" in the effect view

Technically this is accomplished by introducing
`Knob::buildKnobWithFixedPixelFont` and
`TempoSyncKnob::buildKnobWithFixedPixelFont`.

Both versions of `buildKnobWithSmallPixelFont` now also delegate to
the new methods.
  • Loading branch information
michaelgregorius committed Mar 9, 2025
1 parent 4d95ec8 commit 5f55bd8
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 23 deletions.
1 change: 1 addition & 0 deletions include/Knob.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ class LMMS_EXPORT Knob : public FloatModelEditorBase
Knob( const Knob& other ) = delete;

static Knob* buildLegacyKnob(KnobType knobNum, const QString& label, QWidget* parent, const QString& name = QString());
static Knob* buildKnobWithFixedPixelFont(KnobType knobNum, const QString& label, int pixelSize, QWidget* parent, const QString& name = QString());
static Knob* buildKnobWithSmallPixelFont(KnobType knobNum, const QString& label, QWidget* parent, const QString& name = QString());

void setLabel(const QString& txt);
Expand Down
1 change: 1 addition & 0 deletions include/TempoSyncKnob.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class LMMS_EXPORT TempoSyncKnob : public Knob
~TempoSyncKnob() override;

static TempoSyncKnob* buildLegacyKnob(KnobType knobNum, const QString& label, QWidget* parent);
static TempoSyncKnob* buildKnobWithFixedPixelFont(KnobType knobNum, const QString& label, int pixelSize, QWidget* parent, const QString& name = QString());
static TempoSyncKnob* buildKnobWithSmallPixelFont(KnobType knobNum, const QString& label, QWidget* parent);

const QString & syncDescription();
Expand Down
7 changes: 4 additions & 3 deletions src/gui/EffectView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,20 +63,21 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :

m_bypass->setToolTip(tr("On/Off"));

constexpr int knobLabelSize = 8;

m_wetDry = Knob::buildKnobWithSmallPixelFont(KnobType::Bright26, tr("W/D"), this);
m_wetDry = Knob::buildKnobWithFixedPixelFont(KnobType::Bright26, tr("W/D"), knobLabelSize, this);
m_wetDry->move( 40 - m_wetDry->width() / 2, 5 );
m_wetDry->setEnabled( isEnabled );
m_wetDry->setHintText( tr( "Wet Level:" ), "" );


m_autoQuit = TempoSyncKnob::buildKnobWithSmallPixelFont(KnobType::Bright26, tr("DECAY"), this);
m_autoQuit = TempoSyncKnob::buildKnobWithFixedPixelFont(KnobType::Bright26, tr("DECAY"), knobLabelSize, this);
m_autoQuit->move( 78 - m_autoQuit->width() / 2, 5 );
m_autoQuit->setEnabled( isEnabled && !effect()->m_autoQuitDisabled );
m_autoQuit->setHintText( tr( "Time:" ), "ms" );


m_gate = Knob::buildKnobWithSmallPixelFont(KnobType::Bright26, tr("GATE"), this);
m_gate = Knob::buildKnobWithFixedPixelFont(KnobType::Bright26, tr("GATE"), knobLabelSize, this);
m_gate->move( 116 - m_gate->width() / 2, 5 );
m_gate->setEnabled( isEnabled && !effect()->m_autoQuitDisabled );
m_gate->setHintText( tr( "Gate:" ), "" );
Expand Down
10 changes: 3 additions & 7 deletions src/gui/tracks/InstrumentTrackView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,19 +78,15 @@ InstrumentTrackView::InstrumentTrackView( InstrumentTrack * _it, TrackContainerV
m_mixerChannelNumber = new MixerChannelLcdSpinBox(2, getTrackSettingsWidget(), tr("Mixer channel"), this);
m_mixerChannelNumber->show();

const auto f = adjustedToPixelSize(font(), 9);
constexpr int knobLabelPixelSize = 8;

m_volumeKnob = new Knob(KnobType::Small17, getTrackSettingsWidget(), tr("Volume"));
m_volumeKnob->setFont(f);
m_volumeKnob->setLabel(tr("VOL"));
m_volumeKnob = Knob::buildKnobWithFixedPixelFont(KnobType::Small17, tr("VOL"), knobLabelPixelSize, getTrackSettingsWidget(), tr("VOL"));
m_volumeKnob->setVolumeKnob( true );
m_volumeKnob->setModel( &_it->m_volumeModel );
m_volumeKnob->setHintText( tr( "Volume:" ), "%" );
m_volumeKnob->show();

m_panningKnob = new Knob(KnobType::Small17, getTrackSettingsWidget(), tr("Panning"));
m_panningKnob->setFont(f);
m_panningKnob->setLabel(tr("PAN"));
m_panningKnob = Knob::buildKnobWithFixedPixelFont(KnobType::Small17, tr("PAN"), knobLabelPixelSize, getTrackSettingsWidget(), tr("Panning"));
m_panningKnob->setModel( &_it->m_panningModel );
m_panningKnob->setHintText(tr("Panning:"), "%");
m_panningKnob->show();
Expand Down
11 changes: 3 additions & 8 deletions src/gui/tracks/SampleTrackView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,15 @@ SampleTrackView::SampleTrackView( SampleTrack * _t, TrackContainerView* tcv ) :
m_mixerChannelNumber = new MixerChannelLcdSpinBox(2, getTrackSettingsWidget(), tr("Mixer channel"), this);
m_mixerChannelNumber->show();

const auto f = adjustedToPixelSize(font(), 9);
constexpr int knobLabelPixelSize = 8;

m_volumeKnob = new Knob(KnobType::Small17, getTrackSettingsWidget(), tr("Track volume"));
m_volumeKnob->setFont(f);
m_volumeKnob->setLabel(tr("VOL"));
m_volumeKnob = Knob::buildKnobWithFixedPixelFont(KnobType::Small17, tr("VOL"), knobLabelPixelSize, getTrackSettingsWidget(), tr("Track volume"));
m_volumeKnob->setVolumeKnob( true );
m_volumeKnob->setModel( &_t->m_volumeModel );
m_volumeKnob->setHintText( tr( "Channel volume:" ), "%" );

m_volumeKnob->show();

m_panningKnob = new Knob(KnobType::Small17, getTrackSettingsWidget(), tr("Panning"));
m_panningKnob->setFont(f);
m_panningKnob->setLabel(tr("PAN"));
m_panningKnob = Knob::buildKnobWithFixedPixelFont(KnobType::Small17, tr("PAN"), knobLabelPixelSize, getTrackSettingsWidget(), tr("Panning"));
m_panningKnob->setModel( &_t->m_panningModel );
m_panningKnob->setHintText( tr( "Panning:" ), "%" );
m_panningKnob->show();
Expand Down
9 changes: 7 additions & 2 deletions src/gui/widgets/Knob.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,20 @@ Knob* Knob::buildLegacyKnob(KnobType knobNum, const QString& label, QWidget* par
return result;
}

Knob* Knob::buildKnobWithSmallPixelFont(KnobType knobNum, const QString& label, QWidget* parent, const QString& name)
Knob* Knob::buildKnobWithFixedPixelFont(KnobType knobNum, const QString& label, int pixelSize, QWidget* parent, const QString& name)
{
auto result = new Knob(knobNum, parent, name);
result->setFont(adjustedToPixelSize(result->font(), SMALL_FONT_SIZE));
result->setFont(adjustedToPixelSize(result->font(), pixelSize));
result->setLabel(label);

return result;
}

Knob* Knob::buildKnobWithSmallPixelFont(KnobType knobNum, const QString& label, QWidget* parent, const QString& name)
{
return buildKnobWithFixedPixelFont(knobNum, label, SMALL_FONT_SIZE, parent, name);
}


void Knob::initUi( const QString & _name )
{
Expand Down
11 changes: 8 additions & 3 deletions src/gui/widgets/TempoSyncKnob.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,16 +75,21 @@ TempoSyncKnob* TempoSyncKnob::buildLegacyKnob(KnobType knobNum, const QString& l
return result;
}

TempoSyncKnob* TempoSyncKnob::buildKnobWithSmallPixelFont(KnobType knobNum, const QString& label, QWidget* parent)
TempoSyncKnob* TempoSyncKnob::buildKnobWithFixedPixelFont(KnobType knobNum, const QString& label, int pixelSize, QWidget* parent, const QString& name)
{
auto result = new TempoSyncKnob(knobNum, parent);
auto result = new TempoSyncKnob(knobNum, parent, name);

result->setFont(adjustedToPixelSize(result->font(), SMALL_FONT_SIZE));
result->setFont(adjustedToPixelSize(result->font(), pixelSize));
result->setLabel(label);

return result;
}

TempoSyncKnob* TempoSyncKnob::buildKnobWithSmallPixelFont(KnobType knobNum, const QString& label, QWidget* parent)
{
return buildKnobWithFixedPixelFont(knobNum, label, SMALL_FONT_SIZE, parent);
}


void TempoSyncKnob::modelChanged()
{
Expand Down

0 comments on commit 5f55bd8

Please sign in to comment.