Remove lots of useless/misplaced includes (#7999)

Follow-Up of 7db3fa94a1 .

This was done by setting `CMAKE_C_INCLUDE_WHAT_YOU_USE` and
`CMAKE_CXX_INCLUDE_WHAT_YOU_USE` to (broken down into multiple lines here,
note, all below `FL/x.h` is not required for C):

```
include-what-you-use;
    -Xiwyu;--mapping_file=/usr/share/include-what-you-use/qt5_11.imp;
    -Xiwyu;--keep=*/xmmintrin.h;
    -Xiwyu;--keep=*/lmmsconfig.h;
    -Xiwyu;--keep=*/weak_libjack.h;
    -Xiwyu;--keep=*/sys/*;
    -Xiwyu;--keep=*/debug.h;
    -Xiwyu;--keep=*/SDL/*;
    -Xiwyu;--keep=*/alsa/*;
    -Xiwyu;--keep=*/FL/x.h;
    -Xiwyu;--keep=*/MidiApple.h;
    -Xiwyu;--keep=*/MidiWinMM.h;
    -Xiwyu;--keep=*/AudioSoundIo.h;
    -Xiwyu;--keep=*/OpulenZ/adplug/*;
    -Xiwyu;--keep=QPainterPath;
    -Xiwyu;--keep=QtTest
```

FAQ:

* Q: Does this speed-up a completely fresh compile?
* A: No, I measured it.

* Q: Does it speed up anything else?
* A: Yes. If you change one header, it can reduce the number of CPP files
     that your compiler needs to recompile, or your IDE has to re-scan.

* Q: What other reasons are for this PR?
* A: It's idiomatic to only include headers if you need them. Also, it will
     reduce output for those who want to use IWYU for new PRs.

Background:

This is just a remainder PR of what I planned. My original idea was to setup
a CI which warns you of useless includes (but not of all issues that IWYU
complains about). However, I could not see that this was favored on Discord.
A full IWYU CI also has the problem that it (possibly??) needs to compile
with `make -j 1`, which would make CI really slow.

However, for that plan, I had to fix the whole code base to be IWYU
compliant - which it now is.
This commit is contained in:
Johannes Lorenz
2025-07-21 23:39:17 +02:00
committed by GitHub
parent e79945ffc5
commit 71ce49d7ba
248 changed files with 333 additions and 562 deletions

View File

@@ -32,13 +32,10 @@ namespace lmms
{
class AmplifierControls;
class FloatModel;
namespace gui
{
class Knob;
class AmplifierControlDialog : public EffectControlDialog
{
Q_OBJECT

View File

@@ -23,7 +23,6 @@
*
*/
#include <QDomElement>
#include "AmplifierControls.h"
#include "Amplifier.h"

View File

@@ -34,11 +34,6 @@ namespace lmms
class AmplifierEffect;
namespace gui
{
class AmplifierControlDialog;
}
class AmplifierControls : public EffectControls
{
Q_OBJECT

View File

@@ -99,7 +99,7 @@ AudioFileProcessorView::AudioFileProcessorView(Instrument* instrument,
"loop_pingpong_off"));
m_loopPingPongButton->setToolTip(tr("Enable ping-pong loop"));
m_loopGroup = new automatableButtonGroup(this);
m_loopGroup = new AutomatableButtonGroup(this);
m_loopGroup->addButton(m_loopOffButton);
m_loopGroup->addButton(m_loopOnButton);
m_loopGroup->addButton(m_loopPingPongButton);

View File

@@ -34,7 +34,7 @@ namespace lmms
namespace gui
{
class automatableButtonGroup;
class AutomatableButtonGroup;
class Knob;
class PixmapButton;
class ComboBox;
@@ -73,7 +73,7 @@ private:
gui::PixmapButton* m_openAudioFileButton;
PixmapButton* m_reverseButton;
automatableButtonGroup* m_loopGroup;
AutomatableButtonGroup* m_loopGroup;
PixmapButton* m_stutterButton;
ComboBox* m_interpBox;
} ;

View File

@@ -38,8 +38,6 @@ class Sample;
namespace gui
{
class AudioFileProcessorView;
class AudioFileProcessorWaveView : public QWidget
{
Q_OBJECT

View File

@@ -23,7 +23,6 @@
*/
#include <QDomElement>
#include "BassBoosterControls.h"
#include "BassBooster.h"

View File

@@ -114,4 +114,4 @@ BitcrushControlDialog::BitcrushControlDialog( BitcrushControls * controls ) :
}
} // namespace lmms::gui
} // namespace lmms::gui

View File

@@ -24,7 +24,6 @@
*/
#include <QDomElement>
#include "BitcrushControls.h"
#include "Bitcrush.h"

View File

@@ -41,7 +41,7 @@
#include "carlabase_export.h"
#include <CarlaDefines.h>
#if CARLA_VERSION_HEX >= 0x010911
#include <CarlaNativePlugin.h>
#include <CarlaNativePlugin.h> // IWYU pragma: keep
#else
#include <CarlaBackend.h>
#include <CarlaNative.h>
@@ -65,7 +65,7 @@ class QCompleter;
class QGridLayout;
class QHBoxLayout;
class QLineEdit;
class QStringListModel;
class QStringListModel; // IWYU pragma: keep
class QScrollArea;

View File

@@ -195,7 +195,7 @@ CompressorControlDialog::CompressorControlDialog(CompressorControls* controls) :
peakButton->setInactiveGraphic(PLUGIN_NAME::getIconPixmap("peak_unsel"));
peakButton->setToolTip(tr("Use absolute value of the input"));
rmsPeakGroup = new automatableButtonGroup(this);
rmsPeakGroup = new AutomatableButtonGroup(this);
rmsPeakGroup->addButton(rmsButton);
rmsPeakGroup->addButton(peakButton);
rmsPeakGroup->setModel(&controls->m_peakmodeModel);
@@ -210,7 +210,7 @@ CompressorControlDialog::CompressorControlDialog(CompressorControls* controls) :
midSideButton->setInactiveGraphic(PLUGIN_NAME::getIconPixmap("midside_unsel"));
midSideButton->setToolTip(tr("Compress mid and side audio"));
leftRightMidSideGroup = new automatableButtonGroup(this);
leftRightMidSideGroup = new AutomatableButtonGroup(this);
leftRightMidSideGroup->addButton(leftRightButton);
leftRightMidSideGroup->addButton(midSideButton);
leftRightMidSideGroup->setModel(&controls->m_midsideModel);
@@ -225,7 +225,7 @@ CompressorControlDialog::CompressorControlDialog(CompressorControls* controls) :
limitButton->setInactiveGraphic(PLUGIN_NAME::getIconPixmap("limiter_unsel"));
limitButton->setToolTip(tr("Set Ratio to infinity (is not guaranteed to limit audio volume)"));
compressLimitGroup = new automatableButtonGroup(this);
compressLimitGroup = new AutomatableButtonGroup(this);
compressLimitGroup->addButton(compressButton);
compressLimitGroup->addButton(limitButton);
compressLimitGroup->setModel(&controls->m_limiterModel);
@@ -255,7 +255,7 @@ CompressorControlDialog::CompressorControlDialog(CompressorControls* controls) :
blendButton->setInactiveGraphic(PLUGIN_NAME::getIconPixmap("blend_unsel"));
blendButton->setToolTip(tr("Blend between stereo linking modes"));
stereoLinkGroup = new automatableButtonGroup(this);
stereoLinkGroup = new AutomatableButtonGroup(this);
stereoLinkGroup->addButton(unlinkedButton);
stereoLinkGroup->addButton(maximumButton);
stereoLinkGroup->addButton(averageButton);

View File

@@ -59,7 +59,7 @@ constexpr int COMP_BOX_Y = 280;
constexpr float COMP_GRID_SPACING = 3.f;// 3 db per grid line
constexpr float COMP_GRID_MAX = 96.f;// Can't zoom out past 96 db
class automatableButtonGroup;
class AutomatableButtonGroup;
class Knob;
class PixmapButton;
class EqFader;
@@ -196,22 +196,22 @@ private:
PixmapButton * rmsButton;
PixmapButton * peakButton;
automatableButtonGroup * rmsPeakGroup;
AutomatableButtonGroup * rmsPeakGroup;
PixmapButton * leftRightButton;
PixmapButton * midSideButton;
automatableButtonGroup * leftRightMidSideGroup;
AutomatableButtonGroup * leftRightMidSideGroup;
PixmapButton * compressButton;
PixmapButton * limitButton;
automatableButtonGroup * compressLimitGroup;
AutomatableButtonGroup * compressLimitGroup;
PixmapButton * unlinkedButton;
PixmapButton * maximumButton;
PixmapButton * averageButton;
PixmapButton * minimumButton;
PixmapButton * blendButton;
automatableButtonGroup * stereoLinkGroup;
AutomatableButtonGroup * stereoLinkGroup;
PixmapButton * autoMakeupButton;
PixmapButton * auditionButton;

View File

@@ -26,7 +26,6 @@
#include "CompressorControls.h"
#include "Compressor.h"
#include <QDomElement>
namespace lmms

View File

@@ -25,16 +25,14 @@
*/
#include "AutomatableButton.h"
#include "CrossoverEQControlDialog.h"
#include "CrossoverEQControls.h"
#include "embed.h"
#include "FontHelper.h"
#include "LedCheckBox.h"
#include "Knob.h"
#include "Fader.h"
#include "PixmapButton.h"
#include <QPixmap>
#include <QHBoxLayout>
#include <QVBoxLayout>

View File

@@ -22,7 +22,6 @@
*
*/
#include <QDomElement>
#include "DelayControls.h"
#include "DelayEffect.h"

View File

@@ -24,7 +24,6 @@
#include "StereoDelay.h"
#include "LmmsTypes.h"
#include "SampleFrame.h"
namespace lmms

View File

@@ -25,7 +25,6 @@
#ifndef STEREODELAY_H
#define STEREODELAY_H
#include "LmmsTypes.h"
namespace lmms

View File

@@ -24,6 +24,8 @@
#include "Dispersion.h"
#include <numbers>
#include "embed.h"
#include "plugin_export.h"

View File

@@ -29,7 +29,6 @@
#include "DispersionControls.h"
#include "Effect.h"
#include "lmms_math.h"
namespace lmms
{

View File

@@ -29,7 +29,6 @@
#include "AutomatableButton.h"
#include "DispersionControls.h"
#include "embed.h"
#include "Knob.h"
#include "LcdSpinBox.h"

View File

@@ -26,7 +26,6 @@
#include "DispersionControls.h"
#include "Dispersion.h"
#include <QDomElement>
namespace lmms
{

View File

@@ -33,12 +33,6 @@ namespace lmms
class DispersionEffect;
namespace gui
{
class DispersionControlDialog;
}
class DispersionControls : public EffectControls
{
Q_OBJECT

View File

@@ -24,7 +24,6 @@
*/
#include <QDomElement>
#include "BasicFilters.h"
#include "DualFilterControls.h"

View File

@@ -135,7 +135,7 @@ DynProcControlDialog::DynProcControlDialog(
smUnlButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "unl_inactive" ) );
smUnlButton->setToolTip(tr("Process each stereo channel independently"));
auto smGroup = new automatableButtonGroup(this);
auto smGroup = new AutomatableButtonGroup(this);
smGroup -> addButton( smMaxButton );
smGroup -> addButton( smAvgButton );
smGroup -> addButton( smUnlButton );

View File

@@ -24,7 +24,6 @@
#include "EqControls.h"
#include <QDomElement>
#include "EqControlsDialog.h"
#include "EqEffect.h"

View File

@@ -198,13 +198,13 @@ EqControlsDialog::EqControlsDialog( EqControls *controls ) :
QObject::connect( m_parameterWidget->getBandModels( 7 )->lp24 , SIGNAL ( dataChanged() ), m_parameterWidget, SLOT( updateHandle()));
QObject::connect( m_parameterWidget->getBandModels( 7 )->lp48 , SIGNAL ( dataChanged() ), m_parameterWidget, SLOT( updateHandle()));
auto lpBtnGrp = new automatableButtonGroup(this, tr("LP group"));
auto lpBtnGrp = new AutomatableButtonGroup(this, tr("LP group"));
lpBtnGrp->addButton( lp12Button );
lpBtnGrp->addButton( lp24Button );
lpBtnGrp->addButton( lp48Button );
lpBtnGrp->setModel(&m_controls->m_lpTypeModel);
auto hpBtnGrp = new automatableButtonGroup(this, tr("HP group"));
auto hpBtnGrp = new AutomatableButtonGroup(this, tr("HP group"));
hpBtnGrp->addButton( hp12Button );
hpBtnGrp->addButton( hp24Button );
hpBtnGrp->addButton( hp48Button );

View File

@@ -23,18 +23,15 @@
*
*/
#include "EqParameterWidget.h"
#include <cmath>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QPainter>
#include <QPen>
#include <QWidget>
#include "AutomatableModel.h"
#include "EqCurve.h"
#include "EqParameterWidget.h"
namespace lmms::gui

View File

@@ -22,7 +22,6 @@
*
*/
#include <QDomElement>
#include "FlangerControls.h"
#include "FlangerEffect.h"

View File

@@ -24,13 +24,13 @@
#include "FlangerControlsDialog.h"
#include <QVBoxLayout>
#include "embed.h"
#include "FlangerControls.h"
#include "LedCheckBox.h"
#include "TempoSyncKnob.h"
#include <QBoxLayout>
namespace lmms::gui
{

View File

@@ -26,7 +26,6 @@
#ifndef LMMS_FREEBOY_H
#define LMMS_FREEBOY_H
#include <Blip_Buffer.h>
#include "AutomatableModel.h"
#include "Instrument.h"
@@ -36,7 +35,7 @@
namespace lmms
{
class NotePlayHandle;
class NotePlayHandle; // IWYU pragma: keep
namespace gui

View File

@@ -22,11 +22,13 @@
*
*/
#include "embed.h"
#include "ComboBox.h"
#include "GranularPitchShifterControlDialog.h"
#include "GranularPitchShifterControls.h"
#include "embed.h"
#include "LcdFloatSpinBox.h"
#include "Knob.h"
#include "LcdFloatSpinBox.h"
#include "MainWindow.h"
#include "GuiApplication.h"
#include "PixmapButton.h"

View File

@@ -28,21 +28,15 @@
#include "EffectControlDialog.h"
#include <QTextEdit>
#include "ComboBox.h"
#include "GuiApplication.h"
#include "MainWindow.h"
namespace lmms
{
class GranularPitchShifterControls;
class FloatModel;
namespace gui
{
class Knob;
class GranularPitchShifterControlDialog : public EffectControlDialog
{
Q_OBJECT

View File

@@ -22,7 +22,6 @@
*
*/
#include <QDomElement>
#include "GranularPitchShifterControls.h"
#include "GranularPitchShifterEffect.h"

View File

@@ -25,6 +25,7 @@
#ifndef LMMS_GRANULAR_PITCH_SHIFTER_CONTROL_DIALOG_H
#define LMMS_GRANULAR_PITCH_SHIFTER_CONTROL_DIALOG_H
#include "ComboBoxModel.h"
#include "EffectControls.h"
#include "GranularPitchShifterControlDialog.h"
@@ -33,11 +34,6 @@ namespace lmms
class GranularPitchShifterEffect;
namespace gui
{
class GranularPitchShifterControlDialog;
}
class GranularPitchShifterControls : public EffectControls
{
Q_OBJECT

View File

@@ -30,7 +30,6 @@
#include "Effect.h"
#include "GranularPitchShifterControls.h"
#include "BasicFilters.h"
#include "interpolation.h"
namespace lmms

View File

@@ -1,10 +1,6 @@
#ifndef LFILEMNG_H
#define LFILEMNG_H
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <QDomDocument>
namespace lmms

View File

@@ -38,7 +38,7 @@ namespace lmms
#define KICKER_PRESET_VERSION 1
class NotePlayHandle;
class NotePlayHandle; // IWYU pragma: keep
namespace gui
{

View File

@@ -23,9 +23,15 @@
*/
#include "LOMM.h"
#include "LOMMControlDialog.h"
#include <QMouseEvent>
#include <QPainter>
#include "GuiApplication.h"
#include "LOMM.h"
#include "LOMMControls.h"
#include "MainWindow.h"
namespace lmms::gui

View File

@@ -27,16 +27,10 @@
#include "EffectControlDialog.h"
#include <QMouseEvent>
#include <QPainter>
#include "embed.h"
#include "GuiApplication.h"
#include "Knob.h"
#include "LcdFloatSpinBox.h"
#include "LcdSpinBox.h"
#include "LedCheckBox.h"
#include "MainWindow.h"
#include "PixmapButton.h"
namespace lmms

View File

@@ -26,7 +26,6 @@
#include "LOMMControls.h"
#include "LOMM.h"
#include <QDomElement>
#include <QMessageBox>
namespace lmms

View File

@@ -32,11 +32,6 @@ namespace lmms
{
class LOMMEffect;
namespace gui
{
class LOMMControlDialog;
}
class LOMMControls : public EffectControls
{
Q_OBJECT

View File

@@ -30,10 +30,9 @@
#include <QScrollArea>
#include <QVBoxLayout>
#include "AudioDevice.h"
#include "AudioEngine.h"
#include "Engine.h"
#include "Ladspa2LMMS.h"
#include "lmms_constants.h"
namespace lmms::gui

View File

@@ -26,7 +26,6 @@
#define LADSPA_CONTROLS_H
#include "EffectControls.h"
#include "LadspaControlDialog.h"
#include "LadspaMatrixControlDialog.h"
namespace lmms
@@ -35,7 +34,9 @@ namespace lmms
class LadspaControl;
using control_list_t = QVector<LadspaControl*>;
namespace gui {
class LadspaControlDialog;
}
class LadspaEffect;

View File

@@ -29,7 +29,6 @@
#include "LadspaEffect.h"
#include "DataFile.h"
#include "AudioDevice.h"
#include "AudioEngine.h"
#include "Ladspa2LMMS.h"
#include "LadspaBase.h"

View File

@@ -24,21 +24,17 @@
*/
#include <QGroupBox>
#include <QLayout>
#include <QLabel>
#include <QScrollArea>
#include <QScrollBar>
#include <QSpacerItem>
#include <QMdiArea>
#include <QVBoxLayout>
#include "LadspaBase.h"
#include "LadspaControl.h"
#include "LadspaEffect.h"
#include "LadspaControls.h"
#include "LadspaMatrixControlDialog.h"
#include "LadspaWidgetFactory.h"
#include "LadspaControlView.h"
#include "LedCheckBox.h"

View File

@@ -29,11 +29,11 @@
#include <QLabel>
#include "LadspaSubPluginFeatures.h"
#include "AudioDevice.h"
#include "AudioEngine.h"
#include "Engine.h"
#include "Ladspa2LMMS.h"
#include "LadspaBase.h"
#include "lmms_constants.h"
namespace lmms
{

View File

@@ -34,6 +34,7 @@
#include "Lb302.h"
#include "AutomatableButton.h"
#include "DspEffectLibrary.h"
#include "Engine.h"
#include "InstrumentPlayHandle.h"
#include "InstrumentTrack.h"
@@ -982,7 +983,7 @@ Lb302SynthView::Lb302SynthView( Instrument * _instrument, QWidget * _parent ) :
tr( "Click here for bandlimited moog saw wave." ) );
m_waveBtnGrp = new automatableButtonGroup( this );
m_waveBtnGrp = new AutomatableButtonGroup( this );
m_waveBtnGrp->addButton( sawWaveBtn );
m_waveBtnGrp->addButton( triangleWaveBtn );
m_waveBtnGrp->addButton( sqrWaveBtn );

View File

@@ -32,7 +32,6 @@
#ifndef LB302_H
#define LB302_H
#include "DspEffectLibrary.h"
#include "Instrument.h"
#include "InstrumentView.h"
#include "NotePlayHandle.h"
@@ -44,12 +43,15 @@ namespace lmms
static const int NUM_FILTERS = 2;
class NotePlayHandle;
namespace DspEffectLibrary
{
class Distortion;
}
namespace gui
{
class automatableButtonGroup;
class AutomatableButtonGroup;
class Knob;
class Lb302SynthView;
class LedCheckBox;
@@ -278,7 +280,7 @@ private:
Knob * m_distKnob;
Knob * m_slideDecKnob;
automatableButtonGroup * m_waveBtnGrp;
AutomatableButtonGroup * m_waveBtnGrp;
LedCheckBox * m_slideToggle;
/*LedCheckBox * m_accentToggle;*/ // removed pending accent implementation

View File

@@ -24,7 +24,6 @@
#include "Lv2FxControls.h"
#include <QDomElement>
#include "Engine.h"
#include "Lv2Effect.h"

View File

@@ -27,7 +27,6 @@
#include "MidiExport.h"
#include "Engine.h"
#include "TrackContainer.h"
#include "DataFile.h"
#include "InstrumentTrack.h"

View File

@@ -26,7 +26,6 @@
#ifndef _MIDI_EXPORT_H
#define _MIDI_EXPORT_H
#include <QString>
#include "ExportFilter.h"
#include "MidiFile.hpp"

View File

@@ -9,19 +9,15 @@
04 apr 03 -- fixed bug in add_track that caused infinite loop
*/
#include "assert.h"
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "memory.h"
#include <iostream>
#include <cassert>
#include <cstdio>
#include <cmath>
#include <fstream>
using namespace std;
#include "allegro.h"
#include "algrd_internal.h"
#include "algsmfrd_internal.h"
// #include "trace.h" -- only needed for debugging
#include "math.h"
#define STREQL(x, y) (strcmp(x, y) == 0)
#define MAX(x, y) ((x) > (y) ? (x) : (y))

View File

@@ -52,7 +52,6 @@
#include <cstdint>
#include <cstring>
#include <istream>
#include <ostream>
#define ALG_EPS 0.000001 // epsilon
#define ALG_DEFAULT_BPM 100.0 // default tempo

View File

@@ -2,7 +2,6 @@
#include "stdlib.h"
#include "string.h"
#include "ctype.h"
#include "trace.h"
#include <string>
#include <fstream>
#include <algorithm>

View File

@@ -1,15 +1,12 @@
// midifile reader
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "assert.h"
#include <string>
#include <fstream>
#include "allegro.h"
#include "algsmfrd_internal.h"
#include "mfmidi.h"
#include "trace.h"
using namespace std;

View File

@@ -2,10 +2,6 @@
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <errno.h>
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
#include "allegro.h"

View File

@@ -1,13 +1,9 @@
// allegrowr.cpp -- write sequence to an Allegro file (text)
#include "assert.h"
#include "stdlib.h"
#include <iostream>
#include <fstream>
#include <iomanip>
#include <errno.h>
#include <string>
#include "memory.h"
using namespace std;
#include "strparse.h"
#include "allegro.h"

View File

@@ -24,7 +24,6 @@
#include "Monstro.h"
#include <QDomElement>
#include "ComboBox.h"
#include "Engine.h"
@@ -1503,7 +1502,7 @@ MonstroView::MonstroView( Instrument * _instrument,
m_matViewButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "matview_inactive" ) );
m_matViewButton->setToolTip(tr("Matrix view"));
m_selectedViewGroup = new automatableButtonGroup( this );
m_selectedViewGroup = new AutomatableButtonGroup( this );
m_selectedViewGroup -> addButton( m_opViewButton );
m_selectedViewGroup -> addButton( m_matViewButton );
@@ -1767,7 +1766,7 @@ QWidget * MonstroView::setupOperatorsView( QWidget * _parent )
m_pmButton -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "pm_inactive" ) );
m_pmButton->setToolTip(tr("Modulate phase of osc 3 by osc 2"));
m_o23ModGroup = new automatableButtonGroup( view );
m_o23ModGroup = new AutomatableButtonGroup( view );
m_o23ModGroup-> addButton( m_mixButton );
m_o23ModGroup-> addButton( m_amButton );
m_o23ModGroup-> addButton( m_fmButton );

View File

@@ -666,9 +666,9 @@ private:
TempoSyncKnob * m_env2RelKnob;
Knob * m_env2SlopeKnob;
automatableButtonGroup * m_o23ModGroup;
AutomatableButtonGroup * m_o23ModGroup;
automatableButtonGroup * m_selectedViewGroup;
AutomatableButtonGroup * m_selectedViewGroup;
QWidget * m_operatorsView;
QWidget * m_matrixView;

View File

@@ -22,7 +22,6 @@
*
*/
#include <QDomElement>
#include "Nes.h"
@@ -767,7 +766,7 @@ NesInstrumentView::NesInstrumentView( Instrument * instrument, QWidget * parent
dcx += 13;
makedcled( ch1_dc4, dcx, 42, tr( "75% Duty cycle" ), "nesdc4_on" )
m_ch1DutyCycleGrp = new automatableButtonGroup( this );
m_ch1DutyCycleGrp = new AutomatableButtonGroup( this );
m_ch1DutyCycleGrp -> addButton( ch1_dc1 );
m_ch1DutyCycleGrp -> addButton( ch1_dc2 );
m_ch1DutyCycleGrp -> addButton( ch1_dc3 );
@@ -798,7 +797,7 @@ NesInstrumentView::NesInstrumentView( Instrument * instrument, QWidget * parent
dcx += 13;
makedcled( ch2_dc4, dcx, 99, tr( "75% Duty cycle" ), "nesdc4_on" )
m_ch2DutyCycleGrp = new automatableButtonGroup( this );
m_ch2DutyCycleGrp = new AutomatableButtonGroup( this );
m_ch2DutyCycleGrp -> addButton( ch2_dc1 );
m_ch2DutyCycleGrp -> addButton( ch2_dc2 );
m_ch2DutyCycleGrp -> addButton( ch2_dc3 );

View File

@@ -25,7 +25,6 @@
#ifndef NES_H
#define NES_H
#include <cmath>
#include "Instrument.h"
#include "InstrumentView.h"
@@ -84,7 +83,7 @@ class NesInstrument;
namespace gui
{
class Knob;
class Knob; // IWYU pragma: keep
class NesInstrumentView;
} // namespace gui
@@ -318,7 +317,7 @@ private:
PixmapButton * m_ch1EnvLoopedBtn;
Knob * m_ch1EnvLenKnob;
automatableButtonGroup * m_ch1DutyCycleGrp;
AutomatableButtonGroup * m_ch1DutyCycleGrp;
PixmapButton * m_ch1SweepEnabledBtn;
Knob * m_ch1SweepAmtKnob;
@@ -333,7 +332,7 @@ private:
PixmapButton * m_ch2EnvLoopedBtn;
Knob * m_ch2EnvLenKnob;
automatableButtonGroup * m_ch2DutyCycleGrp;
AutomatableButtonGroup * m_ch2DutyCycleGrp;
PixmapButton * m_ch2SweepEnabledBtn;
Knob * m_ch2SweepAmtKnob;

View File

@@ -711,7 +711,7 @@ OpulenzInstrumentView::OpulenzInstrumentView( Instrument * _instrument,
BUTTON_GEN(op1_vib_btn, "Vibrato", 93, 87);
KNOB_GEN(feedback_kn, "Feedback", "", 128, 48);
op1_waveform = new automatableButtonGroup( this );
op1_waveform = new AutomatableButtonGroup( this );
WAVEBUTTON_GEN(op1_w0_btn,"Sine", 154, 86, "wave1_on", "wave1_off", op1_waveform);
WAVEBUTTON_GEN(op1_w1_btn,"Half sine", 178, 86, "wave2_on", "wave2_off", op1_waveform);
WAVEBUTTON_GEN(op1_w2_btn,"Absolute sine", 199, 86, "wave3_on", "wave3_off", op1_waveform);
@@ -731,7 +731,7 @@ OpulenzInstrumentView::OpulenzInstrumentView( Instrument * _instrument,
BUTTON_GEN(op2_trem_btn, "Tremolo", 65, 177);
BUTTON_GEN(op2_vib_btn, "Vibrato", 93, 177);
op2_waveform = new automatableButtonGroup( this );
op2_waveform = new AutomatableButtonGroup( this );
WAVEBUTTON_GEN(op2_w0_btn,"Sine", 154, 176, "wave1_on", "wave1_off", op2_waveform);
WAVEBUTTON_GEN(op2_w1_btn,"Half sine", 178, 176, "wave2_on", "wave2_off", op2_waveform);
WAVEBUTTON_GEN(op2_w2_btn,"Absolute sine", 199, 176, "wave3_on", "wave3_off", op2_waveform);

View File

@@ -25,7 +25,6 @@
#ifndef OPULENZ_H
#define OPULENZ_H
#include <QMutex>
#include "AutomatableModel.h"
#include "Instrument.h"
@@ -42,7 +41,7 @@ namespace gui
class Knob;
class LcdSpinBox;
class PixmapButton;
class automatableButtonGroup;
class AutomatableButtonGroup;
}
@@ -178,7 +177,7 @@ public:
PixmapButton *op1_w1_btn;
PixmapButton *op1_w2_btn;
PixmapButton *op1_w3_btn;
automatableButtonGroup *op1_waveform;
AutomatableButtonGroup *op1_waveform;
Knob *op2_a_kn;
@@ -196,7 +195,7 @@ public:
PixmapButton *op2_w1_btn;
PixmapButton *op2_w2_btn;
PixmapButton *op2_w3_btn;
automatableButtonGroup *op2_waveform;
AutomatableButtonGroup *op2_waveform;
PixmapButton *fm_btn;

View File

@@ -31,13 +31,12 @@
#include "InstrumentView.h"
#include "AutomatableModel.h"
class QPixmap;
namespace lmms
{
class NotePlayHandle;
class NotePlayHandle; // IWYU pragma: keep
class Oscillator;
namespace gui

View File

@@ -29,7 +29,6 @@
#include "Instrument.h"
#include "InstrumentView.h"
#include "Sample.h"
#include "SampleBuffer.h"
#include "AutomatableModel.h"
namespace lmms

View File

@@ -20,7 +20,6 @@
*
*/
#include <cmath>
#include "ReverbSC.h"
#include "embed.h"

View File

@@ -23,7 +23,6 @@
*/
#include <QDomElement>
#include "ReverbSCControls.h"
#include "ReverbSC.h"

View File

@@ -42,7 +42,6 @@ namespace lmms
{
class Sf2Font;
struct Sf2PluginData;
class NotePlayHandle;

View File

@@ -662,7 +662,7 @@ SfxrInstrumentView::SfxrInstrumentView( Instrument * _instrument,
createButtonLocalGraphic(m_sinWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*2, WAVEFORM_BASE_Y, "Sine Wave", "sfxr_sin_wave");
createButtonLocalGraphic(m_noiseWaveBtn, KNOBS_BASE_X+WAVEFORM_BUTTON_WIDTH*3, WAVEFORM_BASE_Y, "Noise", "sfxr_white_noise_wave");
m_waveBtnGroup = new automatableButtonGroup( this );
m_waveBtnGroup = new AutomatableButtonGroup( this );
m_waveBtnGroup->addButton(m_sqrWaveBtn);
m_waveBtnGroup->addButton(m_sawWaveBtn);
m_waveBtnGroup->addButton(m_sinWaveBtn);

View File

@@ -69,7 +69,7 @@ class SfxrInstrument;
namespace gui
{
class automatableButtonGroup;
class AutomatableButtonGroup;
class Knob;
class PixmapButton;
class SfxrInstrumentView;
@@ -288,7 +288,7 @@ private:
Knob * m_hpFilCutKnob; //HP Filter Cutoff
Knob * m_hpFilCutSweepKnob; //HP Filter Cutoff Sweep
automatableButtonGroup * m_waveBtnGroup;
AutomatableButtonGroup * m_waveBtnGroup;
PixmapButton * m_sqrWaveBtn; //NOTE: This button has Square Duty
//and Square Speed configurable
PixmapButton * m_sawWaveBtn;

View File

@@ -24,7 +24,6 @@
*/
#include <QDomElement>
#include <cmath>
#include <cstdio>
@@ -511,7 +510,7 @@ SidInstrumentView::SidInstrumentView( Instrument * _instrument,
lp_btn->setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "lp" ) );
lp_btn->setToolTip(tr("Low-pass filter "));
m_passBtnGrp = new automatableButtonGroup( this );
m_passBtnGrp = new AutomatableButtonGroup( this );
m_passBtnGrp->addButton( hp_btn );
m_passBtnGrp->addButton( bp_btn );
m_passBtnGrp->addButton( lp_btn );
@@ -535,7 +534,7 @@ SidInstrumentView::SidInstrumentView( Instrument * _instrument,
mos8580_btn->setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "8580" ) );
mos8580_btn->setToolTip(tr("MOS8580 SID "));
m_sidTypeBtnGrp = new automatableButtonGroup( this );
m_sidTypeBtnGrp = new AutomatableButtonGroup( this );
m_sidTypeBtnGrp->addButton( mos6581_btn );
m_sidTypeBtnGrp->addButton( mos8580_btn );
@@ -597,7 +596,7 @@ SidInstrumentView::SidInstrumentView( Instrument * _instrument,
PLUGIN_NAME::getIconPixmap( "noise" ) );
noise_btn->setToolTip(tr("Noise"));
auto wfbg = new automatableButtonGroup(this);
auto wfbg = new AutomatableButtonGroup(this);
wfbg->addButton( pulse_btn );
wfbg->addButton( triangle_btn );

View File

@@ -35,12 +35,12 @@ namespace lmms
{
class NotePlayHandle;
class NotePlayHandle; // IWYU pragma: keep
namespace gui
{
class Knob;
class automatableButtonGroup;
class AutomatableButtonGroup;
class SidInstrumentView;
class PixmapButton;
}
@@ -154,8 +154,8 @@ public:
private:
void modelChanged() override;
automatableButtonGroup * m_passBtnGrp;
automatableButtonGroup * m_sidTypeBtnGrp;
AutomatableButtonGroup * m_passBtnGrp;
AutomatableButtonGroup * m_sidTypeBtnGrp;
struct voiceKnobs
{
@@ -165,7 +165,7 @@ private:
Knob * r,
Knob * pw,
Knob * crs,
automatableButtonGroup * wfbg,
AutomatableButtonGroup * wfbg,
PixmapButton * syncb,
PixmapButton * ringb,
PixmapButton * filterb,
@@ -190,7 +190,7 @@ private:
Knob * m_relKnob;
Knob * m_pwKnob;
Knob * m_crsKnob;
automatableButtonGroup * m_waveFormBtnGrp;
AutomatableButtonGroup * m_waveFormBtnGrp;
PixmapButton * m_syncButton;
PixmapButton * m_ringModButton;
PixmapButton * m_filterButton;

View File

@@ -32,6 +32,7 @@
#include "InstrumentTrack.h"
#include "PathUtil.h"
#include "SampleLoader.h"
#include "SlicerTView.h"
#include "Song.h"
#include "embed.h"
#include "interpolation.h"

View File

@@ -25,21 +25,22 @@
#ifndef LMMS_SLICERT_H
#define LMMS_SLICERT_H
#include <algorithm>
#include <fftw3.h>
#include <stdexcept>
#include "AutomatableModel.h"
#include "ComboBoxModel.h"
#include "Instrument.h"
#include "InstrumentView.h"
#include "Note.h"
#include "Sample.h"
#include "SampleBuffer.h"
#include "SlicerTView.h"
#include "LmmsTypes.h"
namespace lmms {
class InstrumentTrack;
namespace gui {
class SlicerTView;
class SlicerTWaveform;
}
class PlaybackState
{
public:

View File

@@ -25,16 +25,19 @@
#include "SlicerTView.h"
#include <QDropEvent>
#include <qpixmap.h>
#include <qpushbutton.h>
#include <QPainter>
#include <QPushButton>
#include "Clipboard.h"
#include "ComboBox.h"
#include "DataFile.h"
#include "InstrumentTrack.h"
#include "InstrumentView.h"
#include "Knob.h"
#include "LcdSpinBox.h"
#include "PixmapButton.h"
#include "SampleLoader.h"
#include "SlicerT.h"
#include "SlicerTWaveform.h"
#include "StringPairDrag.h"
#include "Track.h"
#include "embed.h"

View File

@@ -25,16 +25,10 @@
#ifndef LMMS_GUI_SLICERT_VIEW_H
#define LMMS_GUI_SLICERT_VIEW_H
#include <QPushButton>
#include <qpixmap.h>
#include "ComboBox.h"
#include "InstrumentView.h"
#include "Knob.h"
#include "LcdSpinBox.h"
#include "LedCheckBox.h"
#include "PixmapButton.h"
#include "SlicerTWaveform.h"
class QPushButton;
namespace lmms {
@@ -42,6 +36,12 @@ class SlicerT;
namespace gui {
class ComboBox;
class Knob;
class LcdSpinBox;
class PixmapButton;
class SlicerTWaveform;
class SlicerTView : public InstrumentView
{
Q_OBJECT

View File

@@ -25,7 +25,9 @@
#include "SlicerTWaveform.h"
#include <QBitmap>
#include <qpainterpath.h>
#include <QMouseEvent>
#include <QPainter>
#include <QPainterPath>
#include "SampleThumbnail.h"
#include "SlicerT.h"

View File

@@ -25,12 +25,8 @@
#ifndef LMMS_GUI_SLICERT_WAVEFORM_H
#define LMMS_GUI_SLICERT_WAVEFORM_H
#include <QApplication>
#include <QElapsedTimer>
#include <QFontMetrics>
#include <QInputDialog>
#include <QMouseEvent>
#include <QPainter>
#include <QWidget>
#include "SampleThumbnail.h"

View File

@@ -24,9 +24,9 @@
#include "SaControls.h"
#include <QDomElement>
#include "Analyzer.h"
#include "fft_helpers.h"
#include "SaControlsDialog.h"
namespace lmms

View File

@@ -26,6 +26,7 @@
#include <QGridLayout>
#include <QLabel>
#include <QPainterPath>
#include <QSizePolicy>
#include <QSplitter>
#include <QWidget>

View File

@@ -26,7 +26,6 @@
#define SACONTROLSDIALOG_H
#include "EffectControlDialog.h"
#include "fft_helpers.h"
namespace lmms
{

View File

@@ -33,7 +33,6 @@
#include <QRgb>
#include <vector>
#include "LmmsTypes.h"
namespace lmms

View File

@@ -26,11 +26,11 @@
#include "SaSpectrumView.h"
#include <algorithm>
#include <cmath>
#include <QMouseEvent>
#include <QMutexLocker>
#include <QPainter>
#include <QPainterPath>
#include <QString>
#include "fft_helpers.h"

View File

@@ -34,8 +34,6 @@
#include <QPainterPath>
#include <QWidget>
class QMouseEvent;
class QPainter;
namespace lmms
{

View File

@@ -29,7 +29,6 @@
#include <QWidget>
class QMouseEvent;
namespace lmms
{

View File

@@ -23,7 +23,6 @@
*/
#include <QDomElement>
#include "StereoEnhancerControls.h"
#include "StereoEnhancer.h"

View File

@@ -23,7 +23,6 @@
*/
#include <QDomElement>
#include "StereoMatrixControls.h"
#include "StereoMatrix.h"

View File

@@ -26,20 +26,8 @@
#include "TapTempo.h"
#include <QFont>
#include <QKeyEvent>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
#include <cfloat>
#include <cmath>
#include <string>
#include "AudioEngine.h"
#include "Engine.h"
#include "LedCheckBox.h"
#include "SamplePlayHandle.h"
#include "Song.h"
#include "embed.h"
#include "plugin_export.h"

View File

@@ -31,7 +31,6 @@
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
#include <QVariant>
#include <QWidget>
#include "Engine.h"

View File

@@ -29,13 +29,8 @@
#include "ToolPluginView.h"
class QVBoxLayout;
class QHBoxLayout;
class QPushButton;
class QLabel;
class QCloseEvent;
class QKeyEvent;
class QCheckBox;
namespace lmms {
class TapTempo;

View File

@@ -490,7 +490,7 @@ TripleOscillatorView::TripleOscillatorView( Instrument * _instrument,
"fm_inactive" ) );
fm_osc1_btn->setToolTip(tr("Modulate frequency of oscillator 1 by oscillator 2"));
m_mod1BtnGrp = new automatableButtonGroup( this );
m_mod1BtnGrp = new AutomatableButtonGroup( this );
m_mod1BtnGrp->addButton( pm_osc1_btn );
m_mod1BtnGrp->addButton( am_osc1_btn );
m_mod1BtnGrp->addButton( mix_osc1_btn );
@@ -537,7 +537,7 @@ TripleOscillatorView::TripleOscillatorView( Instrument * _instrument,
"fm_inactive" ) );
fm_osc2_btn->setToolTip(tr("Modulate frequency of oscillator 2 by oscillator 3"));
m_mod2BtnGrp = new automatableButtonGroup( this );
m_mod2BtnGrp = new AutomatableButtonGroup( this );
m_mod2BtnGrp->addButton( pm_osc2_btn );
m_mod2BtnGrp->addButton( am_osc2_btn );
@@ -679,7 +679,7 @@ TripleOscillatorView::TripleOscillatorView( Instrument * _instrument,
uwt->setCheckable(true);
uwt->setToolTip(tr("Use alias-free wavetable oscillators."));
auto wsbg = new automatableButtonGroup(this);
auto wsbg = new AutomatableButtonGroup(this);
wsbg->addButton( sin_wave_btn );
wsbg->addButton( triangle_wave_btn );

View File

@@ -38,14 +38,13 @@ namespace lmms
{
class NotePlayHandle;
class SampleBuffer;
class NotePlayHandle; // IWYU pragma: keep
class Oscillator;
namespace gui
{
class automatableButtonGroup;
class AutomatableButtonGroup;
class Knob;
class PixmapButton;
class TripleOscillatorView;
@@ -163,8 +162,8 @@ public:
private:
void modelChanged() override;
automatableButtonGroup * m_mod1BtnGrp;
automatableButtonGroup * m_mod2BtnGrp;
AutomatableButtonGroup * m_mod1BtnGrp;
AutomatableButtonGroup * m_mod2BtnGrp;
struct OscillatorKnobs
{
@@ -176,7 +175,7 @@ private:
Knob * po,
Knob * spd,
PixmapButton * uwb,
automatableButtonGroup * wsbg,
AutomatableButtonGroup * wsbg,
PixmapButton * wt) :
m_volKnob( v ),
m_panKnob( p ),
@@ -199,7 +198,7 @@ private:
Knob * m_phaseOffsetKnob;
Knob * m_stereoPhaseDetuningKnob;
PixmapButton * m_userWaveButton;
automatableButtonGroup * m_waveShapeBtnGrp;
AutomatableButtonGroup * m_waveShapeBtnGrp;
PixmapButton * m_multiBandWaveTableButton;
} ;

View File

@@ -24,7 +24,6 @@
#include "VecControls.h"
#include <QDomElement>
#include "VecControlsDialog.h"
#include "Vectorscope.h"

View File

@@ -25,7 +25,6 @@
#ifndef VECCONTROLS_H
#define VECCONTROLS_H
#include <QColor>
#include "EffectControls.h"
@@ -38,7 +37,6 @@ class Vectorscope;
namespace gui
{
class VecControlsDialog;
class VectorView;
}
// Holds all the configuration values

View File

@@ -28,7 +28,6 @@
#include <QHBoxLayout>
#include <QVBoxLayout>
#include "Knob.h"
#include "LedCheckBox.h"
#include "VecControls.h"
#include "Vectorscope.h"

View File

@@ -27,7 +27,6 @@
#include <chrono>
#include <cmath>
#include <QImage>
#include <QPainter>
#include "ColorChooser.h"

View File

@@ -27,17 +27,16 @@
#define _VESTIGE_H
#include <QMdiSubWindow>
#include <QMutex>
#include "Instrument.h"
#include "InstrumentView.h"
class QPixmap;
class QGridLayout;
class QMdiSubWindow;
class QPushButton;
class QScrollArea;
class QGridLayout;
namespace lmms
{

View File

@@ -26,12 +26,13 @@
#include "NineButtonSelector.h"
#include "CaptionMenu.h"
#include "PixmapButton.h"
namespace lmms::gui
{
NineButtonSelector::NineButtonSelector(std::array<QPixmap, 18> onOffIcons, int defaultButton, int x, int y, QWidget* parent) :
NineButtonSelector::NineButtonSelector(const std::array<QPixmap, 18>& onOffIcons, int defaultButton, int x, int y, QWidget* parent) :
QWidget{parent},
IntModelView{new NineButtonSelectorModel{defaultButton, 0, 8, nullptr, QString{}, true}, this}
{
@@ -40,17 +41,17 @@ NineButtonSelector::NineButtonSelector(std::array<QPixmap, 18> onOffIcons, int d
for (int i = 0; i < 9; ++i)
{
m_buttons[i] = std::make_unique<PixmapButton>(this, nullptr);
m_buttons[i] = new PixmapButton(this);
const int buttonX = 1 + (i % 3) * 17;
const int buttonY = 1 + (i / 3) * 17;
m_buttons[i]->move(buttonX, buttonY);
m_buttons[i]->setActiveGraphic(onOffIcons[i * 2]);
m_buttons[i]->setInactiveGraphic(onOffIcons[(i * 2) + 1]);
m_buttons[i]->setChecked(false);
connect(m_buttons[i].get(), &PixmapButton::clicked, this, [=, this](){ buttonClicked(i); });
connect(m_buttons[i], &PixmapButton::clicked, this, [=, this](){ buttonClicked(i); });
}
m_lastBtn = m_buttons[defaultButton].get();
m_lastBtn = m_buttons[defaultButton];
m_lastBtn->setChecked(true);
}
@@ -75,7 +76,7 @@ void NineButtonSelector::updateButton(int newButton)
m_lastBtn->setChecked(false);
m_lastBtn->update();
m_lastBtn = m_buttons[newButton].get();
m_lastBtn = m_buttons[newButton];
m_lastBtn->setChecked(true);
m_lastBtn->update();

View File

@@ -27,11 +27,9 @@
#define LMMS_GUI_NINE_BUTTON_SELECTOR_H
#include <array>
#include <memory>
#include <QWidget>
#include "AutomatableModelView.h"
#include "PixmapButton.h"
namespace lmms
{
@@ -40,12 +38,14 @@ namespace lmms
namespace gui
{
class PixmapButton;
class NineButtonSelector : public QWidget, public IntModelView
{
Q_OBJECT
public:
NineButtonSelector(std::array<QPixmap, 18> onOffIcons, int defaultButton, int x, int y, QWidget* parent);
NineButtonSelector(const std::array<QPixmap, 18>& onOffIcons, int defaultButton, int x, int y, QWidget* parent);
~NineButtonSelector() override = default;
protected:
@@ -62,7 +62,7 @@ private:
void modelChanged() override;
void updateButton(int);
std::array<std::unique_ptr<PixmapButton>, 9> m_buttons;
std::array<PixmapButton*, 9> m_buttons;
PixmapButton* m_lastBtn;
};

View File

@@ -40,13 +40,10 @@ namespace lmms
{
class NotePlayHandle;
class graphModel;
class NotePlayHandle; // IWYU pragma: keep
namespace gui
{
class Graph;
class LedCheckBox;
class VibedView;
}

Some files were not shown because too many files have changed in this diff Show More