From 7a5812af73ade4d3d4781bc39df9bfa6ae4eb391 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Mon, 17 Nov 2014 20:13:16 +0100 Subject: [PATCH 01/11] Add includes parameter to fix warnings when generating a translation file. When generating a translation file with e.g. "make de.ts" more than 150 warnings like the following appeared. /home/daniel/Lmms/src/tracks/Pattern.cpp:642: Qualifying with unknown namespace/class ::PatternView /home/daniel/Lmms/src/tracks/Pattern.cpp:701: Qualifying with unknown namespace/class ::PatternView /home/daniel/Lmms/src/tracks/AutomationTrack.cpp:40: Qualifying with unknown namespace/class ::AutomationTrack ... --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 12ab33f18..ea82530ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -517,7 +517,7 @@ FOREACH(_ts_file ${lmms_LOCALES}) STRING(REPLACE "${CMAKE_SOURCE_DIR}/data/locale/" "" _ts_target "${_ts_file}") STRING(REPLACE ".ts" ".qm" _qm_file "${_ts_file}") STRING(REPLACE ".ts" ".qm" _qm_target "${_ts_target}") - ADD_CUSTOM_TARGET(${_ts_target} COMMAND "${QT_LUPDATE_EXECUTABLE}" -locations none -no-obsolete ${lmms_SOURCES} ${lmms_UI} `find "\"${CMAKE_SOURCE_DIR}/plugins/\"" -type f -name '*.cpp'` -ts "\"${_ts_file}\"") + ADD_CUSTOM_TARGET(${_ts_target} COMMAND "${QT_LUPDATE_EXECUTABLE}" -locations none -no-obsolete -I ${CMAKE_SOURCE_DIR}/include/ ${lmms_SOURCES} ${lmms_UI} `find "\"${CMAKE_SOURCE_DIR}/plugins/\"" -type f -name '*.cpp'` -ts "\"${_ts_file}\"") ADD_CUSTOM_TARGET(${_qm_target} COMMAND "${QT_LRELEASE_EXECUTABLE}" "\"${_ts_file}\"" -qm "\"${_qm_file}\"") LIST(APPEND ts_targets "${_ts_target}") LIST(APPEND qm_targets "${_qm_target}") From e1bb2988a12dd5e33e1593bf9a5b923c55ede8a3 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Mon, 17 Nov 2014 21:00:28 +0100 Subject: [PATCH 02/11] Move definitions to fix 26 errors which adds new translatable strings Fixes the following 26 errors when generating a translation file with e.g. "make de.ts": /home/daniel/Lmms/plugins/monstro/Monstro.h:69: tr() cannot be called without context /home/daniel/Lmms/plugins/monstro/Monstro.h:70: tr() cannot be called without context ... /home/daniel/Lmms/plugins/monstro/Monstro.h:96: tr() cannot be called without context /home/daniel/Lmms/plugins/monstro/Monstro.h:97: tr() cannot be called without context --- plugins/monstro/Monstro.cpp | 31 +++++++++++++++++++++++++++++++ plugins/monstro/Monstro.h | 31 ------------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/plugins/monstro/Monstro.cpp b/plugins/monstro/Monstro.cpp index 1d0d25812..9e46fa529 100644 --- a/plugins/monstro/Monstro.cpp +++ b/plugins/monstro/Monstro.cpp @@ -835,6 +835,37 @@ inline sample_t MonstroSynth::calcSlope2( sample_t s ) MonstroInstrument::MonstroInstrument( InstrumentTrack * _instrument_track ) : Instrument( _instrument_track, &monstro_plugin_descriptor ), +#define setwavemodel( name ) \ + name .addItem( tr( "Sine wave" ), static_cast( new PluginPixmapLoader( "sin" ) ) ); \ + name .addItem( tr( "Bandlimited Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ + name .addItem( tr( "Bandlimited Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ + name .addItem( tr( "Bandlimited Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ + name .addItem( tr( "Bandlimited Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ + name .addItem( tr( "Bandlimited Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ + name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ + name .addItem( tr( "Absolute sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ + name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ + name .addItem( tr( "White noise" ), static_cast( new PluginPixmapLoader( "noise" ) ) ); \ + name .addItem( tr( "Digital Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ + name .addItem( tr( "Digital Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ + name .addItem( tr( "Digital Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ + name .addItem( tr( "Digital Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ + name .addItem( tr( "Digital Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); + + +#define setlfowavemodel( name ) \ + name .addItem( tr( "Sine wave" ), static_cast( new PluginPixmapLoader( "sin" ) ) ); \ + name .addItem( tr( "Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ + name .addItem( tr( "Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ + name .addItem( tr( "Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ + name .addItem( tr( "Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ + name .addItem( tr( "Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ + name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ + name .addItem( tr( "Abs. sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ + name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ + name .addItem( tr( "Random" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); \ + name .addItem( tr( "Random smooth" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); + m_osc1Vol( 33.0, 0.0, 200.0, 0.1, this, tr( "Osc 1 Volume" ) ), m_osc1Pan( 0.0, -100.0, 100.0, 0.1, this, tr( "Osc 1 Panning" ) ), m_osc1Crs( 0.0, -24.0, 24.0, 1.0, this, tr( "Osc 1 Coarse detune" ) ), diff --git a/plugins/monstro/Monstro.h b/plugins/monstro/Monstro.h index fe9a1508c..5aa0b1c63 100644 --- a/plugins/monstro/Monstro.h +++ b/plugins/monstro/Monstro.h @@ -65,37 +65,6 @@ name -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "tinyled_off" ) ); \ toolTip::add( name, tr( ttip ) ); -#define setwavemodel( name ) \ - name .addItem( tr( "Sine wave" ), static_cast( new PluginPixmapLoader( "sin" ) ) ); \ - name .addItem( tr( "Bandlimited Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ - name .addItem( tr( "Bandlimited Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ - name .addItem( tr( "Bandlimited Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ - name .addItem( tr( "Bandlimited Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ - name .addItem( tr( "Bandlimited Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ - name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ - name .addItem( tr( "Absolute sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ - name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ - name .addItem( tr( "White noise" ), static_cast( new PluginPixmapLoader( "noise" ) ) ); \ - name .addItem( tr( "Digital Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ - name .addItem( tr( "Digital Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ - name .addItem( tr( "Digital Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ - name .addItem( tr( "Digital Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ - name .addItem( tr( "Digital Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ - - -#define setlfowavemodel( name ) \ - name .addItem( tr( "Sine wave" ), static_cast( new PluginPixmapLoader( "sin" ) ) ); \ - name .addItem( tr( "Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ - name .addItem( tr( "Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ - name .addItem( tr( "Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ - name .addItem( tr( "Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ - name .addItem( tr( "Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ - name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ - name .addItem( tr( "Abs. sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ - name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ - name .addItem( tr( "Random" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); \ - name .addItem( tr( "Random smooth" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); - // UI constants const int O1ROW = 22; const int O2ROW = 22 + 39; From 337003a3b0fc8c43e44d42fbd5cf394a983ce055 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Tue, 18 Nov 2014 19:38:26 +0100 Subject: [PATCH 03/11] Add missing Q_OBJECT macros in header files Fixes 20 warnings similar to the following ones when generating a translation file with e.g. "make de.ts": /home/daniel/Lmms/src/tracks/AutomationTrack.cpp:40: Class 'AutomationTrack' lacks Q_OBJECT macro /home/daniel/Lmms/src/core/FxMixer.cpp:41: Class 'FxRoute' lacks Q_OBJECT macro /home/daniel/Lmms/src/core/FxMixer.cpp:554: Class 'FxMixer' lacks Q_OBJECT macro /home/daniel/Lmms/src/gui/widgets/MeterDialog.cpp:52: Class 'MeterDialog' lacks Q_OBJECT macro ... --- include/AutomationTrack.h | 1 + include/InstrumentMidiIOView.h | 1 + include/MeterDialog.h | 1 + plugins/Amplifier/AmplifierControlDialog.h | 1 + plugins/BassBooster/BassBoosterControlDialog.h | 1 + plugins/DualFilter/DualFilterControlDialog.h | 1 + plugins/MidiImport/MidiImport.h | 1 + plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h | 1 + plugins/VstEffect/VstEffectControlDialog.h | 1 + plugins/dynamics_processor/dynamics_processor_control_dialog.h | 1 + plugins/kicker/kicker.h | 1 + plugins/lb302/lb302.h | 1 + plugins/lb303/lb303.h | 1 + .../peak_controller_effect_control_dialog.h | 1 + plugins/stereo_enhancer/stereoenhancer_control_dialog.h | 1 + plugins/stereo_matrix/stereomatrix_control_dialog.h | 1 + plugins/stk/mallets/mallets.h | 1 + plugins/waveshaper/waveshaper_control_dialog.h | 1 + src/gui/widgets/InstrumentMidiIOView.cpp | 2 +- src/gui/widgets/MeterDialog.cpp | 2 +- src/tracks/AutomationTrack.cpp | 2 +- 21 files changed, 21 insertions(+), 3 deletions(-) diff --git a/include/AutomationTrack.h b/include/AutomationTrack.h index bdee33286..57a1b45db 100644 --- a/include/AutomationTrack.h +++ b/include/AutomationTrack.h @@ -32,6 +32,7 @@ class AutomationTrack : public track { + Q_OBJECT public: AutomationTrack( TrackContainer* tc, bool _hidden = false ); virtual ~AutomationTrack(); diff --git a/include/InstrumentMidiIOView.h b/include/InstrumentMidiIOView.h index 6da0bce60..a2be6ae8d 100644 --- a/include/InstrumentMidiIOView.h +++ b/include/InstrumentMidiIOView.h @@ -38,6 +38,7 @@ class QToolButton; class InstrumentMidiIOView : public QWidget, public ModelView { + Q_OBJECT public: InstrumentMidiIOView( QWidget* parent ); virtual ~InstrumentMidiIOView(); diff --git a/include/MeterDialog.h b/include/MeterDialog.h index 2c9f78fe1..eba7bff63 100644 --- a/include/MeterDialog.h +++ b/include/MeterDialog.h @@ -35,6 +35,7 @@ class LcdSpinBox; class MeterDialog : public QWidget, public ModelView { + Q_OBJECT public: MeterDialog( QWidget * _parent, bool _simple = false ); virtual ~MeterDialog(); diff --git a/plugins/Amplifier/AmplifierControlDialog.h b/plugins/Amplifier/AmplifierControlDialog.h index 4a3079e4a..f9ee9e61b 100644 --- a/plugins/Amplifier/AmplifierControlDialog.h +++ b/plugins/Amplifier/AmplifierControlDialog.h @@ -34,6 +34,7 @@ class AmplifierControls; class AmplifierControlDialog : public EffectControlDialog { + Q_OBJECT public: AmplifierControlDialog( AmplifierControls* controls ); virtual ~AmplifierControlDialog() diff --git a/plugins/BassBooster/BassBoosterControlDialog.h b/plugins/BassBooster/BassBoosterControlDialog.h index b21f15a9f..218ec7cb7 100644 --- a/plugins/BassBooster/BassBoosterControlDialog.h +++ b/plugins/BassBooster/BassBoosterControlDialog.h @@ -33,6 +33,7 @@ class BassBoosterControls; class BassBoosterControlDialog : public EffectControlDialog { + Q_OBJECT public: BassBoosterControlDialog( BassBoosterControls* controls ); virtual ~BassBoosterControlDialog() diff --git a/plugins/DualFilter/DualFilterControlDialog.h b/plugins/DualFilter/DualFilterControlDialog.h index 224c3c481..aef0ad47f 100644 --- a/plugins/DualFilter/DualFilterControlDialog.h +++ b/plugins/DualFilter/DualFilterControlDialog.h @@ -34,6 +34,7 @@ class DualFilterControls; class DualFilterControlDialog : public EffectControlDialog { + Q_OBJECT public: DualFilterControlDialog( DualFilterControls* controls ); virtual ~DualFilterControlDialog() diff --git a/plugins/MidiImport/MidiImport.h b/plugins/MidiImport/MidiImport.h index 32aab2a33..1dfb57e2f 100644 --- a/plugins/MidiImport/MidiImport.h +++ b/plugins/MidiImport/MidiImport.h @@ -35,6 +35,7 @@ class MidiImport : public ImportFilter { + Q_OBJECT public: MidiImport( const QString & _file ); virtual ~MidiImport(); diff --git a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h index a27ac46ca..fd940496a 100644 --- a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h +++ b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h @@ -33,6 +33,7 @@ class SpectrumAnalyzerControls; class SpectrumAnalyzerControlDialog : public EffectControlDialog { + Q_OBJECT public: SpectrumAnalyzerControlDialog( SpectrumAnalyzerControls* controls ); virtual ~SpectrumAnalyzerControlDialog() diff --git a/plugins/VstEffect/VstEffectControlDialog.h b/plugins/VstEffect/VstEffectControlDialog.h index 843c72ac3..40e22edf7 100644 --- a/plugins/VstEffect/VstEffectControlDialog.h +++ b/plugins/VstEffect/VstEffectControlDialog.h @@ -42,6 +42,7 @@ class pixmapButton; class VstEffectControlDialog : public EffectControlDialog { + Q_OBJECT public: VstEffectControlDialog( VstEffectControls * _controls ); virtual ~VstEffectControlDialog(); diff --git a/plugins/dynamics_processor/dynamics_processor_control_dialog.h b/plugins/dynamics_processor/dynamics_processor_control_dialog.h index cb9fa0a47..9504766d2 100644 --- a/plugins/dynamics_processor/dynamics_processor_control_dialog.h +++ b/plugins/dynamics_processor/dynamics_processor_control_dialog.h @@ -34,6 +34,7 @@ class dynProcControls; class dynProcControlDialog : public EffectControlDialog { + Q_OBJECT public: dynProcControlDialog( dynProcControls * _controls ); virtual ~dynProcControlDialog() diff --git a/plugins/kicker/kicker.h b/plugins/kicker/kicker.h index 498031fc2..edf0b7dd7 100644 --- a/plugins/kicker/kicker.h +++ b/plugins/kicker/kicker.h @@ -44,6 +44,7 @@ class NotePlayHandle; class kickerInstrument : public Instrument { + Q_OBJECT public: kickerInstrument( InstrumentTrack * _instrument_track ); virtual ~kickerInstrument(); diff --git a/plugins/lb302/lb302.h b/plugins/lb302/lb302.h index dbef4e190..635215128 100644 --- a/plugins/lb302/lb302.h +++ b/plugins/lb302/lb302.h @@ -252,6 +252,7 @@ private: class lb302SynthView : public InstrumentView { + Q_OBJECT public: lb302SynthView( Instrument * _instrument, QWidget * _parent ); diff --git a/plugins/lb303/lb303.h b/plugins/lb303/lb303.h index 3a7f347d0..be780cd29 100644 --- a/plugins/lb303/lb303.h +++ b/plugins/lb303/lb303.h @@ -241,6 +241,7 @@ private: class lb303SynthView : public InstrumentView { + Q_OBJECT public: lb303SynthView( Instrument * _instrument, QWidget * _parent ); diff --git a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h index b161a64c5..e9b4ba6d4 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h +++ b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h @@ -35,6 +35,7 @@ class ledCheckBox; class PeakControllerEffectControlDialog : public EffectControlDialog { + Q_OBJECT public: PeakControllerEffectControlDialog( PeakControllerEffectControls * _controls ); diff --git a/plugins/stereo_enhancer/stereoenhancer_control_dialog.h b/plugins/stereo_enhancer/stereoenhancer_control_dialog.h index c7f3c6d8f..3a98771a2 100644 --- a/plugins/stereo_enhancer/stereoenhancer_control_dialog.h +++ b/plugins/stereo_enhancer/stereoenhancer_control_dialog.h @@ -32,6 +32,7 @@ class stereoEnhancerControls; class stereoEnhancerControlDialog : public EffectControlDialog { + Q_OBJECT public: stereoEnhancerControlDialog( stereoEnhancerControls * _controls ); virtual ~stereoEnhancerControlDialog() diff --git a/plugins/stereo_matrix/stereomatrix_control_dialog.h b/plugins/stereo_matrix/stereomatrix_control_dialog.h index d123aa53e..82d79c598 100644 --- a/plugins/stereo_matrix/stereomatrix_control_dialog.h +++ b/plugins/stereo_matrix/stereomatrix_control_dialog.h @@ -32,6 +32,7 @@ class stereoMatrixControls; class stereoMatrixControlDialog : public EffectControlDialog { + Q_OBJECT public: stereoMatrixControlDialog( stereoMatrixControls * _controls ); virtual ~stereoMatrixControlDialog() diff --git a/plugins/stk/mallets/mallets.h b/plugins/stk/mallets/mallets.h index 2213d9666..ef7b0f0c9 100644 --- a/plugins/stk/mallets/mallets.h +++ b/plugins/stk/mallets/mallets.h @@ -133,6 +133,7 @@ protected: class malletsInstrument : public Instrument { + Q_OBJECT public: malletsInstrument( InstrumentTrack * _instrument_track ); virtual ~malletsInstrument(); diff --git a/plugins/waveshaper/waveshaper_control_dialog.h b/plugins/waveshaper/waveshaper_control_dialog.h index faed7b1e8..37d08b3a7 100644 --- a/plugins/waveshaper/waveshaper_control_dialog.h +++ b/plugins/waveshaper/waveshaper_control_dialog.h @@ -34,6 +34,7 @@ class waveShaperControls; class waveShaperControlDialog : public EffectControlDialog { + Q_OBJECT public: waveShaperControlDialog( waveShaperControls * _controls ); virtual ~waveShaperControlDialog() diff --git a/src/gui/widgets/InstrumentMidiIOView.cpp b/src/gui/widgets/InstrumentMidiIOView.cpp index 30069eb66..133486712 100644 --- a/src/gui/widgets/InstrumentMidiIOView.cpp +++ b/src/gui/widgets/InstrumentMidiIOView.cpp @@ -201,4 +201,4 @@ void InstrumentMidiIOView::modelChanged() } } - +#include "moc_InstrumentMidiIOView.cxx" diff --git a/src/gui/widgets/MeterDialog.cpp b/src/gui/widgets/MeterDialog.cpp index 7517856e3..0fd1764e5 100644 --- a/src/gui/widgets/MeterDialog.cpp +++ b/src/gui/widgets/MeterDialog.cpp @@ -113,4 +113,4 @@ void MeterDialog::modelChanged() m_denominator->setModel( &mm->denominatorModel() ); } - +#include "moc_MeterDialog.cxx" diff --git a/src/tracks/AutomationTrack.cpp b/src/tracks/AutomationTrack.cpp index 5c4ff97b1..4ca402dd7 100644 --- a/src/tracks/AutomationTrack.cpp +++ b/src/tracks/AutomationTrack.cpp @@ -192,4 +192,4 @@ void AutomationTrackView::dropEvent( QDropEvent * _de ) } - +#include "moc_AutomationTrack.cxx" From 1a1e012632c17ce5d1bbd8356fb4a01c1eb9b942 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Tue, 18 Nov 2014 20:20:10 +0100 Subject: [PATCH 04/11] Revert "Add missing Q_OBJECT macros in header files" This reverts commit 337003a3b0fc8c43e44d42fbd5cf394a983ce055. Seams to break Windows builds. --- include/AutomationTrack.h | 1 - include/InstrumentMidiIOView.h | 1 - include/MeterDialog.h | 1 - plugins/Amplifier/AmplifierControlDialog.h | 1 - plugins/BassBooster/BassBoosterControlDialog.h | 1 - plugins/DualFilter/DualFilterControlDialog.h | 1 - plugins/MidiImport/MidiImport.h | 1 - plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h | 1 - plugins/VstEffect/VstEffectControlDialog.h | 1 - plugins/dynamics_processor/dynamics_processor_control_dialog.h | 1 - plugins/kicker/kicker.h | 1 - plugins/lb302/lb302.h | 1 - plugins/lb303/lb303.h | 1 - .../peak_controller_effect_control_dialog.h | 1 - plugins/stereo_enhancer/stereoenhancer_control_dialog.h | 1 - plugins/stereo_matrix/stereomatrix_control_dialog.h | 1 - plugins/stk/mallets/mallets.h | 1 - plugins/waveshaper/waveshaper_control_dialog.h | 1 - src/gui/widgets/InstrumentMidiIOView.cpp | 2 +- src/gui/widgets/MeterDialog.cpp | 2 +- src/tracks/AutomationTrack.cpp | 2 +- 21 files changed, 3 insertions(+), 21 deletions(-) diff --git a/include/AutomationTrack.h b/include/AutomationTrack.h index 57a1b45db..bdee33286 100644 --- a/include/AutomationTrack.h +++ b/include/AutomationTrack.h @@ -32,7 +32,6 @@ class AutomationTrack : public track { - Q_OBJECT public: AutomationTrack( TrackContainer* tc, bool _hidden = false ); virtual ~AutomationTrack(); diff --git a/include/InstrumentMidiIOView.h b/include/InstrumentMidiIOView.h index a2be6ae8d..6da0bce60 100644 --- a/include/InstrumentMidiIOView.h +++ b/include/InstrumentMidiIOView.h @@ -38,7 +38,6 @@ class QToolButton; class InstrumentMidiIOView : public QWidget, public ModelView { - Q_OBJECT public: InstrumentMidiIOView( QWidget* parent ); virtual ~InstrumentMidiIOView(); diff --git a/include/MeterDialog.h b/include/MeterDialog.h index eba7bff63..2c9f78fe1 100644 --- a/include/MeterDialog.h +++ b/include/MeterDialog.h @@ -35,7 +35,6 @@ class LcdSpinBox; class MeterDialog : public QWidget, public ModelView { - Q_OBJECT public: MeterDialog( QWidget * _parent, bool _simple = false ); virtual ~MeterDialog(); diff --git a/plugins/Amplifier/AmplifierControlDialog.h b/plugins/Amplifier/AmplifierControlDialog.h index f9ee9e61b..4a3079e4a 100644 --- a/plugins/Amplifier/AmplifierControlDialog.h +++ b/plugins/Amplifier/AmplifierControlDialog.h @@ -34,7 +34,6 @@ class AmplifierControls; class AmplifierControlDialog : public EffectControlDialog { - Q_OBJECT public: AmplifierControlDialog( AmplifierControls* controls ); virtual ~AmplifierControlDialog() diff --git a/plugins/BassBooster/BassBoosterControlDialog.h b/plugins/BassBooster/BassBoosterControlDialog.h index 218ec7cb7..b21f15a9f 100644 --- a/plugins/BassBooster/BassBoosterControlDialog.h +++ b/plugins/BassBooster/BassBoosterControlDialog.h @@ -33,7 +33,6 @@ class BassBoosterControls; class BassBoosterControlDialog : public EffectControlDialog { - Q_OBJECT public: BassBoosterControlDialog( BassBoosterControls* controls ); virtual ~BassBoosterControlDialog() diff --git a/plugins/DualFilter/DualFilterControlDialog.h b/plugins/DualFilter/DualFilterControlDialog.h index aef0ad47f..224c3c481 100644 --- a/plugins/DualFilter/DualFilterControlDialog.h +++ b/plugins/DualFilter/DualFilterControlDialog.h @@ -34,7 +34,6 @@ class DualFilterControls; class DualFilterControlDialog : public EffectControlDialog { - Q_OBJECT public: DualFilterControlDialog( DualFilterControls* controls ); virtual ~DualFilterControlDialog() diff --git a/plugins/MidiImport/MidiImport.h b/plugins/MidiImport/MidiImport.h index 1dfb57e2f..32aab2a33 100644 --- a/plugins/MidiImport/MidiImport.h +++ b/plugins/MidiImport/MidiImport.h @@ -35,7 +35,6 @@ class MidiImport : public ImportFilter { - Q_OBJECT public: MidiImport( const QString & _file ); virtual ~MidiImport(); diff --git a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h index fd940496a..a27ac46ca 100644 --- a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h +++ b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h @@ -33,7 +33,6 @@ class SpectrumAnalyzerControls; class SpectrumAnalyzerControlDialog : public EffectControlDialog { - Q_OBJECT public: SpectrumAnalyzerControlDialog( SpectrumAnalyzerControls* controls ); virtual ~SpectrumAnalyzerControlDialog() diff --git a/plugins/VstEffect/VstEffectControlDialog.h b/plugins/VstEffect/VstEffectControlDialog.h index 40e22edf7..843c72ac3 100644 --- a/plugins/VstEffect/VstEffectControlDialog.h +++ b/plugins/VstEffect/VstEffectControlDialog.h @@ -42,7 +42,6 @@ class pixmapButton; class VstEffectControlDialog : public EffectControlDialog { - Q_OBJECT public: VstEffectControlDialog( VstEffectControls * _controls ); virtual ~VstEffectControlDialog(); diff --git a/plugins/dynamics_processor/dynamics_processor_control_dialog.h b/plugins/dynamics_processor/dynamics_processor_control_dialog.h index 9504766d2..cb9fa0a47 100644 --- a/plugins/dynamics_processor/dynamics_processor_control_dialog.h +++ b/plugins/dynamics_processor/dynamics_processor_control_dialog.h @@ -34,7 +34,6 @@ class dynProcControls; class dynProcControlDialog : public EffectControlDialog { - Q_OBJECT public: dynProcControlDialog( dynProcControls * _controls ); virtual ~dynProcControlDialog() diff --git a/plugins/kicker/kicker.h b/plugins/kicker/kicker.h index edf0b7dd7..498031fc2 100644 --- a/plugins/kicker/kicker.h +++ b/plugins/kicker/kicker.h @@ -44,7 +44,6 @@ class NotePlayHandle; class kickerInstrument : public Instrument { - Q_OBJECT public: kickerInstrument( InstrumentTrack * _instrument_track ); virtual ~kickerInstrument(); diff --git a/plugins/lb302/lb302.h b/plugins/lb302/lb302.h index 635215128..dbef4e190 100644 --- a/plugins/lb302/lb302.h +++ b/plugins/lb302/lb302.h @@ -252,7 +252,6 @@ private: class lb302SynthView : public InstrumentView { - Q_OBJECT public: lb302SynthView( Instrument * _instrument, QWidget * _parent ); diff --git a/plugins/lb303/lb303.h b/plugins/lb303/lb303.h index be780cd29..3a7f347d0 100644 --- a/plugins/lb303/lb303.h +++ b/plugins/lb303/lb303.h @@ -241,7 +241,6 @@ private: class lb303SynthView : public InstrumentView { - Q_OBJECT public: lb303SynthView( Instrument * _instrument, QWidget * _parent ); diff --git a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h index e9b4ba6d4..b161a64c5 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h +++ b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h @@ -35,7 +35,6 @@ class ledCheckBox; class PeakControllerEffectControlDialog : public EffectControlDialog { - Q_OBJECT public: PeakControllerEffectControlDialog( PeakControllerEffectControls * _controls ); diff --git a/plugins/stereo_enhancer/stereoenhancer_control_dialog.h b/plugins/stereo_enhancer/stereoenhancer_control_dialog.h index 3a98771a2..c7f3c6d8f 100644 --- a/plugins/stereo_enhancer/stereoenhancer_control_dialog.h +++ b/plugins/stereo_enhancer/stereoenhancer_control_dialog.h @@ -32,7 +32,6 @@ class stereoEnhancerControls; class stereoEnhancerControlDialog : public EffectControlDialog { - Q_OBJECT public: stereoEnhancerControlDialog( stereoEnhancerControls * _controls ); virtual ~stereoEnhancerControlDialog() diff --git a/plugins/stereo_matrix/stereomatrix_control_dialog.h b/plugins/stereo_matrix/stereomatrix_control_dialog.h index 82d79c598..d123aa53e 100644 --- a/plugins/stereo_matrix/stereomatrix_control_dialog.h +++ b/plugins/stereo_matrix/stereomatrix_control_dialog.h @@ -32,7 +32,6 @@ class stereoMatrixControls; class stereoMatrixControlDialog : public EffectControlDialog { - Q_OBJECT public: stereoMatrixControlDialog( stereoMatrixControls * _controls ); virtual ~stereoMatrixControlDialog() diff --git a/plugins/stk/mallets/mallets.h b/plugins/stk/mallets/mallets.h index ef7b0f0c9..2213d9666 100644 --- a/plugins/stk/mallets/mallets.h +++ b/plugins/stk/mallets/mallets.h @@ -133,7 +133,6 @@ protected: class malletsInstrument : public Instrument { - Q_OBJECT public: malletsInstrument( InstrumentTrack * _instrument_track ); virtual ~malletsInstrument(); diff --git a/plugins/waveshaper/waveshaper_control_dialog.h b/plugins/waveshaper/waveshaper_control_dialog.h index 37d08b3a7..faed7b1e8 100644 --- a/plugins/waveshaper/waveshaper_control_dialog.h +++ b/plugins/waveshaper/waveshaper_control_dialog.h @@ -34,7 +34,6 @@ class waveShaperControls; class waveShaperControlDialog : public EffectControlDialog { - Q_OBJECT public: waveShaperControlDialog( waveShaperControls * _controls ); virtual ~waveShaperControlDialog() diff --git a/src/gui/widgets/InstrumentMidiIOView.cpp b/src/gui/widgets/InstrumentMidiIOView.cpp index 133486712..30069eb66 100644 --- a/src/gui/widgets/InstrumentMidiIOView.cpp +++ b/src/gui/widgets/InstrumentMidiIOView.cpp @@ -201,4 +201,4 @@ void InstrumentMidiIOView::modelChanged() } } -#include "moc_InstrumentMidiIOView.cxx" + diff --git a/src/gui/widgets/MeterDialog.cpp b/src/gui/widgets/MeterDialog.cpp index 0fd1764e5..7517856e3 100644 --- a/src/gui/widgets/MeterDialog.cpp +++ b/src/gui/widgets/MeterDialog.cpp @@ -113,4 +113,4 @@ void MeterDialog::modelChanged() m_denominator->setModel( &mm->denominatorModel() ); } -#include "moc_MeterDialog.cxx" + diff --git a/src/tracks/AutomationTrack.cpp b/src/tracks/AutomationTrack.cpp index 4ca402dd7..5c4ff97b1 100644 --- a/src/tracks/AutomationTrack.cpp +++ b/src/tracks/AutomationTrack.cpp @@ -192,4 +192,4 @@ void AutomationTrackView::dropEvent( QDropEvent * _de ) } -#include "moc_AutomationTrack.cxx" + From 3ca76d40eda29b552f8e6c8f5c1a1624d7a06279 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Tue, 18 Nov 2014 19:38:26 +0100 Subject: [PATCH 05/11] Add missing Q_OBJECT macros in header files Fixes 20 warnings similar to the following ones when generating a translation file with e.g. "make de.ts": /home/daniel/Lmms/src/tracks/AutomationTrack.cpp:40: Class 'AutomationTrack' lacks Q_OBJECT macro /home/daniel/Lmms/src/core/FxMixer.cpp:41: Class 'FxRoute' lacks Q_OBJECT macro /home/daniel/Lmms/src/core/FxMixer.cpp:554: Class 'FxMixer' lacks Q_OBJECT macro /home/daniel/Lmms/src/gui/widgets/MeterDialog.cpp:52: Class 'MeterDialog' lacks Q_OBJECT macro ... --- include/AutomationTrack.h | 1 + include/InstrumentMidiIOView.h | 1 + include/MeterDialog.h | 1 + plugins/Amplifier/AmplifierControlDialog.h | 1 + plugins/BassBooster/BassBoosterControlDialog.h | 1 + plugins/DualFilter/DualFilterControlDialog.h | 1 + plugins/MidiImport/MidiImport.h | 1 + plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h | 1 + plugins/VstEffect/VstEffectControlDialog.h | 1 + plugins/dynamics_processor/dynamics_processor_control_dialog.h | 1 + plugins/kicker/kicker.h | 1 + plugins/lb302/lb302.h | 1 + plugins/lb303/lb303.h | 1 + .../peak_controller_effect_control_dialog.h | 1 + plugins/stereo_enhancer/stereoenhancer_control_dialog.h | 1 + plugins/stereo_matrix/stereomatrix_control_dialog.h | 1 + plugins/stk/mallets/mallets.h | 1 + plugins/waveshaper/waveshaper_control_dialog.h | 1 + src/gui/widgets/InstrumentMidiIOView.cpp | 2 +- src/gui/widgets/MeterDialog.cpp | 2 +- src/tracks/AutomationTrack.cpp | 2 +- 21 files changed, 21 insertions(+), 3 deletions(-) diff --git a/include/AutomationTrack.h b/include/AutomationTrack.h index bdee33286..57a1b45db 100644 --- a/include/AutomationTrack.h +++ b/include/AutomationTrack.h @@ -32,6 +32,7 @@ class AutomationTrack : public track { + Q_OBJECT public: AutomationTrack( TrackContainer* tc, bool _hidden = false ); virtual ~AutomationTrack(); diff --git a/include/InstrumentMidiIOView.h b/include/InstrumentMidiIOView.h index 6da0bce60..a2be6ae8d 100644 --- a/include/InstrumentMidiIOView.h +++ b/include/InstrumentMidiIOView.h @@ -38,6 +38,7 @@ class QToolButton; class InstrumentMidiIOView : public QWidget, public ModelView { + Q_OBJECT public: InstrumentMidiIOView( QWidget* parent ); virtual ~InstrumentMidiIOView(); diff --git a/include/MeterDialog.h b/include/MeterDialog.h index 2c9f78fe1..eba7bff63 100644 --- a/include/MeterDialog.h +++ b/include/MeterDialog.h @@ -35,6 +35,7 @@ class LcdSpinBox; class MeterDialog : public QWidget, public ModelView { + Q_OBJECT public: MeterDialog( QWidget * _parent, bool _simple = false ); virtual ~MeterDialog(); diff --git a/plugins/Amplifier/AmplifierControlDialog.h b/plugins/Amplifier/AmplifierControlDialog.h index 4a3079e4a..f9ee9e61b 100644 --- a/plugins/Amplifier/AmplifierControlDialog.h +++ b/plugins/Amplifier/AmplifierControlDialog.h @@ -34,6 +34,7 @@ class AmplifierControls; class AmplifierControlDialog : public EffectControlDialog { + Q_OBJECT public: AmplifierControlDialog( AmplifierControls* controls ); virtual ~AmplifierControlDialog() diff --git a/plugins/BassBooster/BassBoosterControlDialog.h b/plugins/BassBooster/BassBoosterControlDialog.h index b21f15a9f..218ec7cb7 100644 --- a/plugins/BassBooster/BassBoosterControlDialog.h +++ b/plugins/BassBooster/BassBoosterControlDialog.h @@ -33,6 +33,7 @@ class BassBoosterControls; class BassBoosterControlDialog : public EffectControlDialog { + Q_OBJECT public: BassBoosterControlDialog( BassBoosterControls* controls ); virtual ~BassBoosterControlDialog() diff --git a/plugins/DualFilter/DualFilterControlDialog.h b/plugins/DualFilter/DualFilterControlDialog.h index 224c3c481..aef0ad47f 100644 --- a/plugins/DualFilter/DualFilterControlDialog.h +++ b/plugins/DualFilter/DualFilterControlDialog.h @@ -34,6 +34,7 @@ class DualFilterControls; class DualFilterControlDialog : public EffectControlDialog { + Q_OBJECT public: DualFilterControlDialog( DualFilterControls* controls ); virtual ~DualFilterControlDialog() diff --git a/plugins/MidiImport/MidiImport.h b/plugins/MidiImport/MidiImport.h index 32aab2a33..1dfb57e2f 100644 --- a/plugins/MidiImport/MidiImport.h +++ b/plugins/MidiImport/MidiImport.h @@ -35,6 +35,7 @@ class MidiImport : public ImportFilter { + Q_OBJECT public: MidiImport( const QString & _file ); virtual ~MidiImport(); diff --git a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h index a27ac46ca..fd940496a 100644 --- a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h +++ b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.h @@ -33,6 +33,7 @@ class SpectrumAnalyzerControls; class SpectrumAnalyzerControlDialog : public EffectControlDialog { + Q_OBJECT public: SpectrumAnalyzerControlDialog( SpectrumAnalyzerControls* controls ); virtual ~SpectrumAnalyzerControlDialog() diff --git a/plugins/VstEffect/VstEffectControlDialog.h b/plugins/VstEffect/VstEffectControlDialog.h index 843c72ac3..40e22edf7 100644 --- a/plugins/VstEffect/VstEffectControlDialog.h +++ b/plugins/VstEffect/VstEffectControlDialog.h @@ -42,6 +42,7 @@ class pixmapButton; class VstEffectControlDialog : public EffectControlDialog { + Q_OBJECT public: VstEffectControlDialog( VstEffectControls * _controls ); virtual ~VstEffectControlDialog(); diff --git a/plugins/dynamics_processor/dynamics_processor_control_dialog.h b/plugins/dynamics_processor/dynamics_processor_control_dialog.h index cb9fa0a47..9504766d2 100644 --- a/plugins/dynamics_processor/dynamics_processor_control_dialog.h +++ b/plugins/dynamics_processor/dynamics_processor_control_dialog.h @@ -34,6 +34,7 @@ class dynProcControls; class dynProcControlDialog : public EffectControlDialog { + Q_OBJECT public: dynProcControlDialog( dynProcControls * _controls ); virtual ~dynProcControlDialog() diff --git a/plugins/kicker/kicker.h b/plugins/kicker/kicker.h index 498031fc2..edf0b7dd7 100644 --- a/plugins/kicker/kicker.h +++ b/plugins/kicker/kicker.h @@ -44,6 +44,7 @@ class NotePlayHandle; class kickerInstrument : public Instrument { + Q_OBJECT public: kickerInstrument( InstrumentTrack * _instrument_track ); virtual ~kickerInstrument(); diff --git a/plugins/lb302/lb302.h b/plugins/lb302/lb302.h index dbef4e190..635215128 100644 --- a/plugins/lb302/lb302.h +++ b/plugins/lb302/lb302.h @@ -252,6 +252,7 @@ private: class lb302SynthView : public InstrumentView { + Q_OBJECT public: lb302SynthView( Instrument * _instrument, QWidget * _parent ); diff --git a/plugins/lb303/lb303.h b/plugins/lb303/lb303.h index 3a7f347d0..be780cd29 100644 --- a/plugins/lb303/lb303.h +++ b/plugins/lb303/lb303.h @@ -241,6 +241,7 @@ private: class lb303SynthView : public InstrumentView { + Q_OBJECT public: lb303SynthView( Instrument * _instrument, QWidget * _parent ); diff --git a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h index b161a64c5..e9b4ba6d4 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h +++ b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h @@ -35,6 +35,7 @@ class ledCheckBox; class PeakControllerEffectControlDialog : public EffectControlDialog { + Q_OBJECT public: PeakControllerEffectControlDialog( PeakControllerEffectControls * _controls ); diff --git a/plugins/stereo_enhancer/stereoenhancer_control_dialog.h b/plugins/stereo_enhancer/stereoenhancer_control_dialog.h index c7f3c6d8f..3a98771a2 100644 --- a/plugins/stereo_enhancer/stereoenhancer_control_dialog.h +++ b/plugins/stereo_enhancer/stereoenhancer_control_dialog.h @@ -32,6 +32,7 @@ class stereoEnhancerControls; class stereoEnhancerControlDialog : public EffectControlDialog { + Q_OBJECT public: stereoEnhancerControlDialog( stereoEnhancerControls * _controls ); virtual ~stereoEnhancerControlDialog() diff --git a/plugins/stereo_matrix/stereomatrix_control_dialog.h b/plugins/stereo_matrix/stereomatrix_control_dialog.h index d123aa53e..82d79c598 100644 --- a/plugins/stereo_matrix/stereomatrix_control_dialog.h +++ b/plugins/stereo_matrix/stereomatrix_control_dialog.h @@ -32,6 +32,7 @@ class stereoMatrixControls; class stereoMatrixControlDialog : public EffectControlDialog { + Q_OBJECT public: stereoMatrixControlDialog( stereoMatrixControls * _controls ); virtual ~stereoMatrixControlDialog() diff --git a/plugins/stk/mallets/mallets.h b/plugins/stk/mallets/mallets.h index 2213d9666..ef7b0f0c9 100644 --- a/plugins/stk/mallets/mallets.h +++ b/plugins/stk/mallets/mallets.h @@ -133,6 +133,7 @@ protected: class malletsInstrument : public Instrument { + Q_OBJECT public: malletsInstrument( InstrumentTrack * _instrument_track ); virtual ~malletsInstrument(); diff --git a/plugins/waveshaper/waveshaper_control_dialog.h b/plugins/waveshaper/waveshaper_control_dialog.h index faed7b1e8..37d08b3a7 100644 --- a/plugins/waveshaper/waveshaper_control_dialog.h +++ b/plugins/waveshaper/waveshaper_control_dialog.h @@ -34,6 +34,7 @@ class waveShaperControls; class waveShaperControlDialog : public EffectControlDialog { + Q_OBJECT public: waveShaperControlDialog( waveShaperControls * _controls ); virtual ~waveShaperControlDialog() diff --git a/src/gui/widgets/InstrumentMidiIOView.cpp b/src/gui/widgets/InstrumentMidiIOView.cpp index 30069eb66..133486712 100644 --- a/src/gui/widgets/InstrumentMidiIOView.cpp +++ b/src/gui/widgets/InstrumentMidiIOView.cpp @@ -201,4 +201,4 @@ void InstrumentMidiIOView::modelChanged() } } - +#include "moc_InstrumentMidiIOView.cxx" diff --git a/src/gui/widgets/MeterDialog.cpp b/src/gui/widgets/MeterDialog.cpp index 7517856e3..0fd1764e5 100644 --- a/src/gui/widgets/MeterDialog.cpp +++ b/src/gui/widgets/MeterDialog.cpp @@ -113,4 +113,4 @@ void MeterDialog::modelChanged() m_denominator->setModel( &mm->denominatorModel() ); } - +#include "moc_MeterDialog.cxx" diff --git a/src/tracks/AutomationTrack.cpp b/src/tracks/AutomationTrack.cpp index 5c4ff97b1..4ca402dd7 100644 --- a/src/tracks/AutomationTrack.cpp +++ b/src/tracks/AutomationTrack.cpp @@ -192,4 +192,4 @@ void AutomationTrackView::dropEvent( QDropEvent * _de ) } - +#include "moc_AutomationTrack.cxx" From 5c0829399f5535534fbe41c682c20ad4f0258a31 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Fri, 21 Nov 2014 07:16:45 +0100 Subject: [PATCH 06/11] Fix moc_file inclusion in cmake files This should fix the Windows builds --- plugins/Amplifier/AmplifierControlDialog.cpp | 2 ++ plugins/Amplifier/CMakeLists.txt | 2 +- plugins/BassBooster/BassBoosterControlDialog.cpp | 2 +- plugins/BassBooster/CMakeLists.txt | 2 +- plugins/DualFilter/CMakeLists.txt | 2 +- plugins/DualFilter/DualFilterControlDialog.cpp | 2 ++ plugins/MidiImport/CMakeLists.txt | 2 +- plugins/MidiImport/MidiImport.cpp | 1 + plugins/SpectrumAnalyzer/CMakeLists.txt | 2 +- plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp | 2 +- plugins/VstEffect/CMakeLists.txt | 2 +- plugins/VstEffect/VstEffectControlDialog.cpp | 2 +- plugins/dynamics_processor/CMakeLists.txt | 2 +- .../dynamics_processor/dynamics_processor_control_dialog.cpp | 2 ++ plugins/peak_controller_effect/CMakeLists.txt | 2 +- .../peak_controller_effect_control_dialog.cpp | 1 + plugins/stereo_enhancer/CMakeLists.txt | 2 +- plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp | 1 + plugins/stereo_matrix/CMakeLists.txt | 2 +- plugins/stereo_matrix/stereomatrix_control_dialog.cpp | 1 + plugins/waveshaper/CMakeLists.txt | 2 +- plugins/waveshaper/waveshaper_control_dialog.cpp | 2 ++ 22 files changed, 26 insertions(+), 14 deletions(-) diff --git a/plugins/Amplifier/AmplifierControlDialog.cpp b/plugins/Amplifier/AmplifierControlDialog.cpp index 705151fa7..861116eb6 100644 --- a/plugins/Amplifier/AmplifierControlDialog.cpp +++ b/plugins/Amplifier/AmplifierControlDialog.cpp @@ -67,3 +67,5 @@ AmplifierControlDialog::AmplifierControlDialog( AmplifierControls* controls ) : rightKnob->setLabel( tr( "RIGHT" ) ); rightKnob->setHintText( tr( "Right gain:" ) + " ", "%" ); } + +#include "moc_AmplifierControlDialog.cxx" diff --git a/plugins/Amplifier/CMakeLists.txt b/plugins/Amplifier/CMakeLists.txt index 8d9ac96c2..06ed1160e 100644 --- a/plugins/Amplifier/CMakeLists.txt +++ b/plugins/Amplifier/CMakeLists.txt @@ -1,3 +1,3 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(amplifier Amplifier.cpp AmplifierControls.cpp AmplifierControlDialog.cpp MOCFILES AmplifierControls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(amplifier Amplifier.cpp AmplifierControls.cpp AmplifierControlDialog.cpp MOCFILES AmplifierControls.h AmplifierControlDialog.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/BassBooster/BassBoosterControlDialog.cpp b/plugins/BassBooster/BassBoosterControlDialog.cpp index 7463db51f..04f4387c0 100644 --- a/plugins/BassBooster/BassBoosterControlDialog.cpp +++ b/plugins/BassBooster/BassBoosterControlDialog.cpp @@ -67,4 +67,4 @@ BassBoosterControlDialog::BassBoosterControlDialog( BassBoosterControls* control setLayout( tl ); } - +#include "moc_BassBoosterControlDialog.cxx" diff --git a/plugins/BassBooster/CMakeLists.txt b/plugins/BassBooster/CMakeLists.txt index 426078caa..2f0703254 100644 --- a/plugins/BassBooster/CMakeLists.txt +++ b/plugins/BassBooster/CMakeLists.txt @@ -1,3 +1,3 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(bassbooster BassBooster.cpp BassBoosterControls.cpp BassBoosterControlDialog.cpp MOCFILES BassBoosterControls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(bassbooster BassBooster.cpp BassBoosterControls.cpp BassBoosterControlDialog.cpp MOCFILES BassBoosterControls.h BassBoosterControlDialog.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/DualFilter/CMakeLists.txt b/plugins/DualFilter/CMakeLists.txt index f6c964ccd..748cbcd1c 100644 --- a/plugins/DualFilter/CMakeLists.txt +++ b/plugins/DualFilter/CMakeLists.txt @@ -1,3 +1,3 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(dualfilter DualFilter.cpp DualFilterControls.cpp DualFilterControlDialog.cpp MOCFILES DualFilterControls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(dualfilter DualFilter.cpp DualFilterControls.cpp DualFilterControlDialog.cpp MOCFILES DualFilterControls.h DualFilterControlDialog.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/DualFilter/DualFilterControlDialog.cpp b/plugins/DualFilter/DualFilterControlDialog.cpp index 4fcf3b781..7f97b4f89 100644 --- a/plugins/DualFilter/DualFilterControlDialog.cpp +++ b/plugins/DualFilter/DualFilterControlDialog.cpp @@ -84,3 +84,5 @@ DualFilterControlDialog::DualFilterControlDialog( DualFilterControls* controls ) m_filter2ComboBox->setFont( pointSize<8>( m_filter2ComboBox->font() ) ); m_filter2ComboBox->setModel( &controls->m_filter2Model ); } + +#include "moc_DualFilterControlDialog.cxx" diff --git a/plugins/MidiImport/CMakeLists.txt b/plugins/MidiImport/CMakeLists.txt index 1255f0835..9fd6b6876 100644 --- a/plugins/MidiImport/CMakeLists.txt +++ b/plugins/MidiImport/CMakeLists.txt @@ -5,4 +5,4 @@ BUILD_PLUGIN(midiimport MidiImport.cpp MidiImport.h portsmf/allegrord.cpp portsmf/allegrowr.cpp portsmf/allegrosmfrd.cpp portsmf/mfmidi.cpp portsmf/mfmidi.h portsmf/strparse.cpp portsmf/strparse.h portsmf/algrd_internal.h portsmf/algsmfrd_internal.h - portsmf/trace.h) + portsmf/trace.h MOCFILES MidiImport.h) diff --git a/plugins/MidiImport/MidiImport.cpp b/plugins/MidiImport/MidiImport.cpp index 02799ac3a..36c54a462 100644 --- a/plugins/MidiImport/MidiImport.cpp +++ b/plugins/MidiImport/MidiImport.cpp @@ -569,3 +569,4 @@ Plugin * PLUGIN_EXPORT lmms_plugin_main( Model *, void * _data ) } +#include "moc_MidiImport.cxx" diff --git a/plugins/SpectrumAnalyzer/CMakeLists.txt b/plugins/SpectrumAnalyzer/CMakeLists.txt index 506ca341a..2f56fe256 100644 --- a/plugins/SpectrumAnalyzer/CMakeLists.txt +++ b/plugins/SpectrumAnalyzer/CMakeLists.txt @@ -2,4 +2,4 @@ INCLUDE(BuildPlugin) INCLUDE_DIRECTORIES(${FFTW3F_INCLUDE_DIRS}) LINK_DIRECTORIES(${FFTW3F_LIBRARY_DIRS}) LINK_LIBRARIES(${FFTW3F_LIBRARIES}) -BUILD_PLUGIN(spectrumanalyzer SpectrumAnalyzer.cpp SpectrumAnalyzerControls.cpp SpectrumAnalyzerControlDialog.cpp SpectrumAnalyzer.h SpectrumAnalyzerControls.h SpectrumAnalyzerControlDialog.h MOCFILES SpectrumAnalyzerControls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(spectrumanalyzer SpectrumAnalyzer.cpp SpectrumAnalyzerControls.cpp SpectrumAnalyzerControlDialog.cpp SpectrumAnalyzer.h SpectrumAnalyzerControls.h SpectrumAnalyzerControlDialog.h MOCFILES SpectrumAnalyzerControlDialog.h SpectrumAnalyzerControls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp index 3804ff6d6..9121c0e91 100644 --- a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp +++ b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp @@ -190,5 +190,5 @@ void SpectrumAnalyzerControlDialog::paintEvent( QPaintEvent * ) } - +#include "moc_SpectrumAnalyzerControlDialog.cxx" diff --git a/plugins/VstEffect/CMakeLists.txt b/plugins/VstEffect/CMakeLists.txt index 518750594..9b262397a 100644 --- a/plugins/VstEffect/CMakeLists.txt +++ b/plugins/VstEffect/CMakeLists.txt @@ -3,7 +3,7 @@ INCLUDE(BuildPlugin) INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/../vst_base") LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/../vst_base") LINK_LIBRARIES(vstbase) -BUILD_PLUGIN(vsteffect VstEffect.cpp VstEffectControls.cpp VstEffectControlDialog.cpp VstSubPluginFeatures.cpp VstEffect.h VstEffectControls.h VstEffectControlDialog.h VstSubPluginFeatures.h MOCFILES VstEffectControls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(vsteffect VstEffect.cpp VstEffectControls.cpp VstEffectControlDialog.cpp VstSubPluginFeatures.cpp VstEffect.h VstEffectControls.h VstEffectControlDialog.h VstSubPluginFeatures.h MOCFILES VstEffectControlDialog.h VstEffectControls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") SET_TARGET_PROPERTIES(vsteffect PROPERTIES COMPILE_FLAGS "-Wno-attributes") ENDIF(LMMS_SUPPORT_VST) diff --git a/plugins/VstEffect/VstEffectControlDialog.cpp b/plugins/VstEffect/VstEffectControlDialog.cpp index abd2181be..2f3d3cc1c 100644 --- a/plugins/VstEffect/VstEffectControlDialog.cpp +++ b/plugins/VstEffect/VstEffectControlDialog.cpp @@ -264,4 +264,4 @@ VstEffectControlDialog::~VstEffectControlDialog() //delete m_pluginWidget; } - +#include "moc_VstEffectControlDialog.cxx" diff --git a/plugins/dynamics_processor/CMakeLists.txt b/plugins/dynamics_processor/CMakeLists.txt index 700dc0a76..fcfd8e207 100644 --- a/plugins/dynamics_processor/CMakeLists.txt +++ b/plugins/dynamics_processor/CMakeLists.txt @@ -1,3 +1,3 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(dynamicsprocessor dynamics_processor.cpp dynamics_processor_controls.cpp dynamics_processor_control_dialog.cpp MOCFILES dynamics_processor_controls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(dynamicsprocessor dynamics_processor.cpp dynamics_processor_controls.cpp dynamics_processor_control_dialog.cpp MOCFILES dynamics_processor_controls.h dynamics_processor_control_dialog.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp b/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp index ade1a3b56..9b0839240 100644 --- a/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp +++ b/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp @@ -152,3 +152,5 @@ dynProcControlDialog::dynProcControlDialog( connect( subOneButton, SIGNAL( clicked() ), _controls, SLOT( subOneClicked() ) ); } + +#include "moc_dynamics_processor_control_dialog.cxx" diff --git a/plugins/peak_controller_effect/CMakeLists.txt b/plugins/peak_controller_effect/CMakeLists.txt index 6904d079b..b55fde5c5 100644 --- a/plugins/peak_controller_effect/CMakeLists.txt +++ b/plugins/peak_controller_effect/CMakeLists.txt @@ -1,3 +1,3 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(peakcontrollereffect peak_controller_effect.cpp peak_controller_effect_controls.cpp peak_controller_effect_control_dialog.cpp peak_controller_effect.h peak_controller_effect_controls.h peak_controller_effect_control_dialog.h MOCFILES peak_controller_effect_controls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(peakcontrollereffect peak_controller_effect.cpp peak_controller_effect_controls.cpp peak_controller_effect_control_dialog.cpp peak_controller_effect.h peak_controller_effect_controls.h peak_controller_effect_control_dialog.h MOCFILES peak_controller_effect_controls.h peak_controller_effect_control_dialog.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp index 74d11ff10..740b489e1 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp +++ b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp @@ -99,3 +99,4 @@ PeakControllerEffectControlDialog::PeakControllerEffectControlDialog( setLayout( tl ); } +#include "moc_peak_controller_effect_control_dialog.cxx" diff --git a/plugins/stereo_enhancer/CMakeLists.txt b/plugins/stereo_enhancer/CMakeLists.txt index fdd86dbd6..c8e8c6009 100644 --- a/plugins/stereo_enhancer/CMakeLists.txt +++ b/plugins/stereo_enhancer/CMakeLists.txt @@ -1,4 +1,4 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(stereoenhancer stereo_enhancer.cpp stereoenhancer_controls.cpp stereoenhancer_control_dialog.cpp stereo_enhancer.h stereoenhancer_controls.h stereoenhancer_control_dialog.h MOCFILES stereoenhancer_controls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(stereoenhancer stereo_enhancer.cpp stereoenhancer_controls.cpp stereoenhancer_control_dialog.cpp stereo_enhancer.h stereoenhancer_controls.h stereoenhancer_control_dialog.h MOCFILES stereoenhancer_controls.h stereoenhancer_control_dialog.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp b/plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp index 540f0c265..1e18d8fc3 100644 --- a/plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp +++ b/plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp @@ -47,3 +47,4 @@ stereoEnhancerControlDialog::stereoEnhancerControlDialog( this->setLayout(l); } +#include "moc_stereoenhancer_control_dialog.cxx" diff --git a/plugins/stereo_matrix/CMakeLists.txt b/plugins/stereo_matrix/CMakeLists.txt index 176bd9771..1c6471ab2 100644 --- a/plugins/stereo_matrix/CMakeLists.txt +++ b/plugins/stereo_matrix/CMakeLists.txt @@ -1,4 +1,4 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(stereomatrix stereo_matrix.cpp stereomatrix_controls.cpp stereomatrix_control_dialog.cpp stereo_matrix.h stereomatrix_controls.h stereomatrix_control_dialog.h MOCFILES stereomatrix_controls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(stereomatrix stereo_matrix.cpp stereomatrix_controls.cpp stereomatrix_control_dialog.cpp stereo_matrix.h stereomatrix_controls.h stereomatrix_control_dialog.h MOCFILES stereomatrix_controls.h stereomatrix_control_dialog.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/stereo_matrix/stereomatrix_control_dialog.cpp b/plugins/stereo_matrix/stereomatrix_control_dialog.cpp index b4cb5392f..b8a1a3662 100644 --- a/plugins/stereo_matrix/stereomatrix_control_dialog.cpp +++ b/plugins/stereo_matrix/stereomatrix_control_dialog.cpp @@ -68,3 +68,4 @@ stereoMatrixControlDialog::stereoMatrixControlDialog( rrKnob->move( 40+28, 60+28 ); } +#include "moc_stereomatrix_control_dialog.cxx" diff --git a/plugins/waveshaper/CMakeLists.txt b/plugins/waveshaper/CMakeLists.txt index f4b4bc952..da44322d2 100644 --- a/plugins/waveshaper/CMakeLists.txt +++ b/plugins/waveshaper/CMakeLists.txt @@ -1,3 +1,3 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(waveshaper waveshaper.cpp waveshaper_controls.cpp waveshaper_control_dialog.cpp MOCFILES waveshaper_controls.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") +BUILD_PLUGIN(waveshaper waveshaper.cpp waveshaper_controls.cpp waveshaper_control_dialog.cpp MOCFILES waveshaper_controls.h waveshaper_control_dialog.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png") diff --git a/plugins/waveshaper/waveshaper_control_dialog.cpp b/plugins/waveshaper/waveshaper_control_dialog.cpp index 7f8562f77..7e3503de2 100644 --- a/plugins/waveshaper/waveshaper_control_dialog.cpp +++ b/plugins/waveshaper/waveshaper_control_dialog.cpp @@ -116,3 +116,5 @@ waveShaperControlDialog::waveShaperControlDialog( connect( subOneButton, SIGNAL( clicked() ), _controls, SLOT( subOneClicked() ) ); } + +#include "moc_waveshaper_control_dialog.cxx" From a9a851d2f02b1e5585769550e8df776668246a2b Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Fri, 21 Nov 2014 16:29:32 +0100 Subject: [PATCH 07/11] About dialog: Move involved tab into .ui file --- src/gui/about_dialog.cpp | 15 +-- src/gui/dialogs/about_dialog.ui | 178 +++++++++++++++++++------------- 2 files changed, 105 insertions(+), 88 deletions(-) diff --git a/src/gui/about_dialog.cpp b/src/gui/about_dialog.cpp index 9eee88cc8..61102109d 100644 --- a/src/gui/about_dialog.cpp +++ b/src/gui/about_dialog.cpp @@ -52,18 +52,5 @@ aboutDialog::aboutDialog() : licenseLabel->setPlainText( embed::getText( "COPYING" ) ); - QString contText = embed::getText( "CONTRIBUTORS" ); - if ( contText.length() >= 2 ) - { - QWidget *widget = new QWidget(); - QVBoxLayout *layout = new QVBoxLayout(); - QTextEdit *contWidget = new QTextEdit(); - contWidget->setReadOnly(true); - contWidget->setText( contText ); - - layout->addWidget( new QLabel( tr("Contributors ordered by number of commits:"), this ) ); - layout->addWidget( contWidget ); - widget->setLayout( layout ); - tabWidget->insertTab( 2, widget, tr("Involved") ); - } + involvedLabel->setPlainText( embed::getText( "CONTRIBUTORS" ) ); } diff --git a/src/gui/dialogs/about_dialog.ui b/src/gui/dialogs/about_dialog.ui index 2fdd91054..6d9a11337 100644 --- a/src/gui/dialogs/about_dialog.ui +++ b/src/gui/dialogs/about_dialog.ui @@ -1,8 +1,8 @@ - + AboutDialog - - + + 0 0 @@ -10,46 +10,55 @@ 357 - + About LMMS - - + + 8 - + + 8 + + + 8 + + + 8 + + 8 - + - - + + 64 64 - + - + - - - font:12pt; font-weight:bold; + + + font:12pt; font-weight:bold; - + LMMS - - + + Version %1 (%2/%3, Qt %4, %5) @@ -57,11 +66,11 @@ - - + + Qt::Horizontal - + 40 20 @@ -72,24 +81,24 @@ - - + + 0 - - + + About - + - - + + Qt::Vertical - + QSizePolicy::Fixed - + 20 10 @@ -98,24 +107,24 @@ - - + + LMMS - easy music production for everyone - + true - - + + Qt::Vertical - + QSizePolicy::Fixed - + 20 10 @@ -124,24 +133,24 @@ - - + + Copyright (c) 2004-2014, LMMS developers - + true - - + + Qt::Vertical - + QSizePolicy::Fixed - + 20 10 @@ -150,21 +159,21 @@ - - + + <html><head/><body><p><a href="http://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">http://lmms.io</span></a></p></body></html> - + true - - + + Qt::Vertical - + 20 40 @@ -174,31 +183,52 @@ - - + + Authors - + - - + + true - - - Translation + + + Involved - + - - + + + Contributors ordered by number of commits: + + + + + + true - + + + + + + + Translation + + + + + + true + + Current language not translated (or native English). If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! @@ -207,14 +237,14 @@ If you're interested in translating LMMS in another language or want to improve - - + + License - + - - + + true @@ -224,11 +254,11 @@ If you're interested in translating LMMS in another language or want to improve - - + + Qt::Horizontal - + QDialogButtonBox::Close @@ -243,11 +273,11 @@ If you're interested in translating LMMS in another language or want to improve AboutDialog accept() - + 248 254 - + 157 274 @@ -259,11 +289,11 @@ If you're interested in translating LMMS in another language or want to improve AboutDialog reject() - + 316 260 - + 286 274 From df3a03f64cc6292b697c3431e55efb08c7f7f780 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Fri, 21 Nov 2014 21:08:48 +0100 Subject: [PATCH 08/11] Add more missing Q_OBJECT macros --- include/Effect.h | 1 + include/FxMixer.h | 4 +++- include/Plugin.h | 3 ++- src/core/Effect.cpp | 2 +- src/core/FxMixer.cpp | 4 +++- src/core/Plugin.cpp | 4 ++-- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/include/Effect.h b/include/Effect.h index aadad4200..f43be1b0f 100644 --- a/include/Effect.h +++ b/include/Effect.h @@ -39,6 +39,7 @@ class EffectControls; class EXPORT Effect : public Plugin { + Q_OBJECT public: Effect( const Plugin::Descriptor * _desc, Model * _parent, diff --git a/include/FxMixer.h b/include/FxMixer.h index 88b5a0997..cbd79c9ce 100644 --- a/include/FxMixer.h +++ b/include/FxMixer.h @@ -78,6 +78,7 @@ class FxChannel : public ThreadableJob class FxRoute : public QObject { + Q_OBJECT public: FxRoute( FxChannel * from, FxChannel * to, float amount ); virtual ~FxRoute(); @@ -116,8 +117,9 @@ class FxRoute : public QObject }; -class EXPORT FxMixer : public JournallingObject, public Model +class EXPORT FxMixer : public Model, public JournallingObject { + Q_OBJECT public: FxMixer(); virtual ~FxMixer(); diff --git a/include/Plugin.h b/include/Plugin.h index 4887ef0fb..5cfb3760d 100644 --- a/include/Plugin.h +++ b/include/Plugin.h @@ -40,8 +40,9 @@ class PluginView; class AutomatableModel; -class EXPORT Plugin : public JournallingObject, public Model +class EXPORT Plugin : public Model, public JournallingObject { + Q_OBJECT public: enum PluginTypes { diff --git a/src/core/Effect.cpp b/src/core/Effect.cpp index 5a57d3059..3e6e70914 100644 --- a/src/core/Effect.cpp +++ b/src/core/Effect.cpp @@ -204,4 +204,4 @@ void Effect::resample( int _i, const sampleFrame * _src_buf, } } - +#include "moc_Effect.cxx" diff --git a/src/core/FxMixer.cpp b/src/core/FxMixer.cpp index a83e84da8..37a91b7d4 100644 --- a/src/core/FxMixer.cpp +++ b/src/core/FxMixer.cpp @@ -172,8 +172,8 @@ void FxChannel::doProcessing( sampleFrame * _buf ) FxMixer::FxMixer() : - JournallingObject(), Model( NULL ), + JournallingObject(), m_fxChannels() { // create master channel @@ -691,3 +691,5 @@ void FxMixer::validateChannelName( int index, int oldIndex ) r->updateName(); } } + +#include "moc_FxMixer.cxx" diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index 953be63eb..e18899134 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -54,8 +54,8 @@ static Plugin::Descriptor dummy_plugin_descriptor = Plugin::Plugin( const Descriptor * _descriptor, Model * parent ) : - JournallingObject(), Model( parent ), + JournallingObject(), m_descriptor( _descriptor ) { if( m_descriptor == NULL ) @@ -216,4 +216,4 @@ QDomElement Plugin::Descriptor::SubPluginFeatures::Key::saveXML( return e; } - +#include "moc_Plugin.cxx" From 92930b224047b1cab96f37ef83c36e2af6a29b75 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Fri, 21 Nov 2014 21:40:26 +0100 Subject: [PATCH 09/11] Update German translation --- data/locale/de.qm | Bin 297059 -> 299164 bytes data/locale/de.ts | 161 +++++++++++++++++++++++++------- src/gui/LfoControllerDialog.cpp | 2 +- 3 files changed, 127 insertions(+), 36 deletions(-) diff --git a/data/locale/de.qm b/data/locale/de.qm index 400a71aa5a4106f4ee2b5bf4573f5d25aac3b766..5834e25392f6b4df48a22b2d42b5d2dc502dfa72 100644 GIT binary patch delta 17046 zcmZ{r2UrwIyYJts>Yg0H95LZ4sF(waSyWIk0HPQX5l{pL%;=a<5k&=cj2JPYt{DSn zF`$bP6?0B&76ZonpPs$vd}q(SJ`eu7d#0ZpVX2I_-; zU>+EP21yEcSLFxG1>;IiLsiXmKcu(@j@?K zU|>QqLTO+G(VKom&2at>9c_+Izje0Ypcf9-5VgdG_YOquor&fg_?K3slHz zK^Ab%8lFV37?1fJQ{olE+Mf9vh}(@iM`;v z9wa_tO5R-}sn-+|UHlYUM9)qn4QxQX!U>WFk0j=CRUxlbjim7L#4E}q&4?gg37^mG zMB+kka4m_kXu!rvuSiOshM~_SY5iE@kvA1ekQ-^kRT6*pB`G70MAKwDz0ye9bC)Ra z07-ijF#l8U*bayuo(EUsgC+`Di2(|E!B!AA^iRQSFtldqd z*-LVfDv)H8oqa!$Tpm+XQ*US8A0#`)k~saHWY=QEE6XG|NFb)qA-T~2;>9Pm;ZQV+xWD2W6AQBI5kcVvuU!_y?-uS}X0n{8rMX#Pw3mf0wrB*h+?@XbP$gJ~%)f5Bw(4s4I1RJ`ToagPon9Qpdub#Glz+RI3k|4QB-tw?lrBk%o*M9~-RoV}Pjt(gq{zjBs3_pJoAxBylr z8djD%FBwRp%tP{NIE_SOBA-cRhyp(<6jiL`Giw&nG!6MWXAn#13f>|%;~Du@he7JP zj(i)gBVk^sP_muR3`a+DsLQ}{L`!Q@*T9p+U`@LQTF~Rh9^^LxCh`jdA@yI{lHa5N zqQdXwH+dk@x8~%R0k61lGx^In|DHnrZUqpgwd5a!jy%$nf5sK!iyD)E&Tgnxhkv+; z{GX2@RxgwSy1_%%TSEZ@V9qO!u=7y>1z3hG#+xsp0FXIy>M;QNVkOkQVa10U)U zevhbUbLuf`F^S=8?YvYLOeY@ITcM;r3w|VV<{tI9broLj2nFiUuFF|F>-VO>2uyL4 z;}rN4_lof|(13}viD%tYC_-ycNK!xI9|eUJ_>ySVg2Ht&vEH93BK#<^ z?_DV(dl#`rI~4MR-4u$k~(R$XFL~3u^_-G{Y30B&28nH$xE$tjNghZw3w0E^X;=h77v@aRzb+j1mztWYs z?lv7*<4b%)EFFr#5YLYXLy0ZE4vr+YurVEPyaBd+3uPnn<*ftgbmJld3EMg6c zEt%+gbJp0QGO=OLS>xy;Bo-z!_X&GQh>+8(hT8czBvzIwTa@5zH1ZY7XJEvP>UO+&GbCb4-2bZSg_Yy1=xwbozV_c{CP9`SUVg&3uYge!(ZpD zWS?dXAeK9neLG_!sbVcoO}t4Yd2_zCJn`v2?3^ia5nP|dc4w|lgk`HTfje%D{!Ge$fn3iGowBA?F~ zWjo(x=a7kf<~OK!UICxg1lrc151&1M8qv8{d`@f2M8ZFw-1Z6dz7?Nu`i9tz@kP$r zBq|K%%UofQ+I8kO6D`Jd1Mx-^PJmBH#IFE9kr+RkFT0C3KUkipy+`ghFOsi3odAB~ zD?hpsKQY?Q+-5v|WMg7$JoyI4dBl#@<{K<6ACvI-gKx00QzO1{z6*)TNBG86aB48$ zxB#3ok8fNAPOHZ^zure;egxlB!;M&Tf4;XavqWnlnH75?N5mB!2qXLt>)>xaBYR79_b<;<=5W*U77RZi{&&CdS#B zK>X6dZNwW7=a)NdK<4^DAv2xemp4JWhaFbP9C7`i?L15&bDYkvzS;y+-i7DI=cAxe zj6aHlS}*Y8kB%NB9zB9TtN4j%z&Z#z!r#B1NNi{`UT_Y=7JiL? zez}Wy=>R)_-{gha*+|LG33m1-2}hkmse2_MVlid95q5SwuTW|~P>8f i78Rj+hn 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 a`QwL5W~+A#{GjzoC&`>y)K}`-^#1^TYFPFF delta 16249 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 WH^#&(0h0ND7~i%i`aaTf*Z&6!-%!&4 diff --git a/data/locale/de.ts b/data/locale/de.ts index e4544eacc..a7d84072f 100644 --- a/data/locale/de.ts +++ b/data/locale/de.ts @@ -51,6 +51,14 @@ Wenn Sie daran interessiert sind LMMS in eine andere Sprache zu übersetzen oder <html><head/><body><p><a href="http://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">http://lmms.io</span></a></p></body></html> <html><head/><body><p><a href="http://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">http://lmms.io</span></a></p></body></html> + + Involved + Beteiligt + + + Contributors ordered by number of commits: + Mitwirkende sortiert nach der Anzahl an Einreichungen: + AmplifierControlDialog @@ -221,9 +229,6 @@ Wenn Sie daran interessiert sind LMMS in eine andere Sprache zu übersetzen oder The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. Der JACK-Server scheint heruntergefahren worden zu sein und es war nicht möglich, eine neue Instanz zu starten. LMMS ist daher nicht in der Lage, fortzufahren. Sie sollten Ihr Projekt speichern und JACK und LMMS neustarten. - - - AudioJack::setupWidget CLIENT-NAME CLIENT-NAME @@ -1389,9 +1394,6 @@ Sie können FX Kanäle im Kontextmenü entfernen und verschieben, welches durch FX-Mixer FX-Mixer - - - FxMixerView::FxChannelView FX Fader %1 FX Schieber %1 @@ -2110,7 +2112,7 @@ Sie können FX Kanäle im Kontextmenü entfernen und verschieben, welches durch These tabs contain envelopes. They're very important for modifying a sound, in that they are almost always necessary for substractive synthesis. For example if you have a volume envelope, you can set when the sound should have a specific volume. If you want to create some soft strings then your sound has to fade in and out very softly. This can be done by setting large attack and release times. It's the same for other envelope targets like panning, cutoff frequency for the used filter and so on. Just monkey around with it! You can really make cool sounds out of a saw-wave with just some envelopes...! - Diese Tabs enthalten Hüllkurven. Diese sind sehr wichtig, um einen Klang zu verändern, insbesondere bei der substraktiven Synthese. Wenn Sie zum Beispiel eine Lautstärke-Hüllkurve haben, können Sie festlegen, wann der Klang welchen Lautstärke-Pegel haben soll. Vielleicht wollen Sie ein weiches Streichinstrument erstellen. Dann muss ihr Sound sehr sanft ein- und ausgeblendet werden. Das kann man ganz einfach erreichen, indem man eine große Anschwell(attack)- und Ausklingzeit (release) einstellt. Mit anderen Hüllkurven, wie Balance, Kennfrequenz des benutzten Filters usw., ist es genau das Gleiche. Probieren Sie einfach ein bisschen herum! Mit ein paar Hüllkurven kann man aus einer Sägezahn-Welle wirklich coole Klänge machen...! + Diese Tabs enthalten Hüllkurven. Diese sind sehr wichtig, um einen Klang zu verändern, insbesondere bei der substraktiven Synthese. Wenn Sie zum Beispiel eine Lautstärke-Hüllkurve haben, können Sie festlegen, wann der Klang welchen Lautstärke-Pegel haben soll. Vielleicht wollen Sie ein weiches Streichinstrument erstellen. Dann muss ihr Sound sehr sanft ein- und ausgeblendet werden. Das kann man ganz einfach erreichen, indem man eine große Anschwell(attack)- und Ausklingzeit (release) einstellt. Mit anderen Hüllkurven, wie Balance, Kennfrequenz des benutzten Filters usw., ist es genau das Gleiche. Probieren Sie einfach ein bisschen herum! Mit ein paar Hüllkurven kann man aus einer Sägezahnwelle wirklich coole Klänge machen...! FILTER @@ -2486,13 +2488,9 @@ Sie können FX Kanäle im Kontextmenü entfernen und verschieben, welches durch Click here for a square-wave. Klick für eine Rechteckwelle. - - Click here for a a moog saw-wave. - Klick für eine Moog-ähnliche Welle. - Click here for an exponential wave. - Klick für eine Exponential-Welle. + Klick für eine exponentielle Welle. Click here for white-noise. @@ -2504,6 +2502,10 @@ Double click to pick a file. Klicken Sie hier für eine benutzerdefinierte From. Doppelklicken Sie, um eine Datei auszuwählen. + + Click here for a moog saw-wave. + Klick für eine Moog-Sägezahnwelle. + MainWindow @@ -2810,7 +2812,7 @@ Bitte besuchen Sie http://lmms.sf.net/wiki für Dokumentationen über LMMS. - MidiAlsaSeq::setupWidget + MidiAlsaSeq DEVICE GERÄT @@ -3278,6 +3280,98 @@ Bitte besuchen Sie http://lmms.sf.net/wiki für Dokumentationen über LMMS.Sub3-LFO2 Sub3-LFO2 + + Sine wave + Sinuswelle + + + Bandlimited Triangle wave + Bandlimittierte Dreieckwelle + + + Bandlimited Saw wave + Bandbegrenzte Sägezahnwelle + + + Bandlimited Ramp wave + + + + Bandlimited Square wave + Bandbegrenzte Rechteckwelle + + + Bandlimited Moog saw wave + Bandbegrenzte Moog-Sägezahnwelle + + + Soft square wave + Weiche Rechteckwelle + + + Absolute sine wave + Absolute Sinuswelle + + + Exponential wave + Exponentielle Welle + + + White noise + Weißes Rauschen + + + Digital Triangle wave + Digitale Dreieckwelle + + + Digital Saw wave + Digitale Sägezahnwelle + + + Digital Ramp wave + + + + Digital Square wave + Digitale Rechteckwelle + + + Digital Moog saw wave + Digitale Moog-Sägezahnwelle + + + Triangle wave + Dreieckwelle + + + Saw wave + Sägezahnwelle + + + Ramp wave + + + + Square wave + Rechteckwelle + + + Moog saw wave + Moog-Sägezahnwelle + + + Abs. sine wave + Abs. Sinuswelle + + + Random + Zufällig + + + Random smooth + Zufällig gleitend + MonstroView @@ -4648,7 +4742,7 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich Use an exponential wave for current oscillator. - Exponentialwelle für aktuellen Oszillator nutzen. + Exponentielle Welle für aktuellen Oszillator nutzen. Use white-noise for current oscillator. @@ -4659,17 +4753,6 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich Benutzerdefinierte Wellenform für aktuellen Oszillator nutzen. - - Ui - - Contributors ordered by number of commits: - Mitwirkende sortiert nach der Anzahl an Einreichungen: - - - Involved - Beteiligt - - VersionedSaveDialog @@ -5109,11 +5192,11 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich Sine wave - Sinus-Welle + Sinuswelle Click for sine wave - Klicken für Sinus-Welle + Klicken für Sinuswelle Triangle wave @@ -5377,7 +5460,7 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich Sine wave - Sinus-Welle + Sinuswelle Triangle wave @@ -5385,7 +5468,7 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich Saw wave - Sägezahn-Welle + Sägezahnwelle Square wave @@ -5716,6 +5799,14 @@ Bitte stellen Sie sicher, dass Sie Schreibrechte auf diese Datei und das Verzeic Please enter a new value between -96.0 dBV and 6.0 dBV: Bitte geben Sie einen Wert zwischen -96.0 dBV und 6.0 dBV ein: + + Set linear + Linear einstellen + + + Set logarithmic + Logarithmisch einstellen + ladspaBrowserView @@ -5929,7 +6020,7 @@ Doppelklicken auf eines der Plugins zeigt Informaitonen über die Ports an. Saw wave - Sägezahn-Welle + Sägezahnwelle Click here for a saw-wave. @@ -5969,7 +6060,7 @@ Doppelklicken auf eines der Plugins zeigt Informaitonen über die Ports an. Sine wave - Sinus-Welle + Sinuswelle Click for a sine-wave. @@ -5981,7 +6072,7 @@ Doppelklicken auf eines der Plugins zeigt Informaitonen über die Ports an. Click here for an exponential wave. - Klick für eine Exponential-Welle. + Klick für eine exponentielle-Welle. Click here for white-noise. @@ -7621,7 +7712,7 @@ Latenz: %2 ms SawTooth - Sägezahn-Welle + Sägezahnwelle Noise @@ -8162,7 +8253,7 @@ Die LED rechts unterhalb der Wellenform gibt an, ob die Saite aktiviert ist. Sine wave - Sinus-Welle + Sinuswelle Triangle wave @@ -8170,7 +8261,7 @@ Die LED rechts unterhalb der Wellenform gibt an, ob die Saite aktiviert ist. Saw wave - Sägezahn-Welle + Sägezahnwelle Square wave diff --git a/src/gui/LfoControllerDialog.cpp b/src/gui/LfoControllerDialog.cpp index f7cc03462..32c1a92f7 100644 --- a/src/gui/LfoControllerDialog.cpp +++ b/src/gui/LfoControllerDialog.cpp @@ -158,7 +158,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent moog_saw_wave_btn->setInactiveGraphic( embed::getIconPixmap( "moog_saw_wave_inactive" ) ); toolTip::add( moog_saw_wave_btn, - tr( "Click here for a a moog saw-wave." ) ); + tr( "Click here for a moog saw-wave." ) ); pixmapButton * exp_wave_btn = new pixmapButton( this, NULL ); exp_wave_btn->move( CD_LFO_SHAPES_X + 15, CD_LFO_SHAPES_Y + 15 ); From ad844e72a3735a8d89d932192ab9c511eed11358 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Sun, 23 Nov 2014 19:54:51 +0100 Subject: [PATCH 10/11] Also scan headers for translatable strings --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ea82530ce..f2bc533c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -517,7 +517,7 @@ FOREACH(_ts_file ${lmms_LOCALES}) STRING(REPLACE "${CMAKE_SOURCE_DIR}/data/locale/" "" _ts_target "${_ts_file}") STRING(REPLACE ".ts" ".qm" _qm_file "${_ts_file}") STRING(REPLACE ".ts" ".qm" _qm_target "${_ts_target}") - ADD_CUSTOM_TARGET(${_ts_target} COMMAND "${QT_LUPDATE_EXECUTABLE}" -locations none -no-obsolete -I ${CMAKE_SOURCE_DIR}/include/ ${lmms_SOURCES} ${lmms_UI} `find "\"${CMAKE_SOURCE_DIR}/plugins/\"" -type f -name '*.cpp'` -ts "\"${_ts_file}\"") + ADD_CUSTOM_TARGET(${_ts_target} COMMAND "${QT_LUPDATE_EXECUTABLE}" -locations none -no-obsolete -I ${CMAKE_SOURCE_DIR}/include/ ${lmms_SOURCES} ${lmms_INCLUDES} ${lmms_UI} `find "\"${CMAKE_SOURCE_DIR}/plugins/\"" -type f -name '*.cpp' -or -name '*.h'` -ts "\"${_ts_file}\"") ADD_CUSTOM_TARGET(${_qm_target} COMMAND "${QT_LRELEASE_EXECUTABLE}" "\"${_ts_file}\"" -qm "\"${_qm_file}\"") LIST(APPEND ts_targets "${_ts_target}") LIST(APPEND qm_targets "${_qm_target}") From 3602aa316fe66402d83a3ca407addec09ef13624 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Sun, 23 Nov 2014 19:58:00 +0100 Subject: [PATCH 11/11] Move Monstro macros back to headers --- plugins/monstro/Monstro.cpp | 31 ------------------------------- plugins/monstro/Monstro.h | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/plugins/monstro/Monstro.cpp b/plugins/monstro/Monstro.cpp index 9e46fa529..1d0d25812 100644 --- a/plugins/monstro/Monstro.cpp +++ b/plugins/monstro/Monstro.cpp @@ -835,37 +835,6 @@ inline sample_t MonstroSynth::calcSlope2( sample_t s ) MonstroInstrument::MonstroInstrument( InstrumentTrack * _instrument_track ) : Instrument( _instrument_track, &monstro_plugin_descriptor ), -#define setwavemodel( name ) \ - name .addItem( tr( "Sine wave" ), static_cast( new PluginPixmapLoader( "sin" ) ) ); \ - name .addItem( tr( "Bandlimited Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ - name .addItem( tr( "Bandlimited Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ - name .addItem( tr( "Bandlimited Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ - name .addItem( tr( "Bandlimited Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ - name .addItem( tr( "Bandlimited Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ - name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ - name .addItem( tr( "Absolute sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ - name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ - name .addItem( tr( "White noise" ), static_cast( new PluginPixmapLoader( "noise" ) ) ); \ - name .addItem( tr( "Digital Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ - name .addItem( tr( "Digital Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ - name .addItem( tr( "Digital Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ - name .addItem( tr( "Digital Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ - name .addItem( tr( "Digital Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); - - -#define setlfowavemodel( name ) \ - name .addItem( tr( "Sine wave" ), static_cast( new PluginPixmapLoader( "sin" ) ) ); \ - name .addItem( tr( "Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ - name .addItem( tr( "Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ - name .addItem( tr( "Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ - name .addItem( tr( "Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ - name .addItem( tr( "Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ - name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ - name .addItem( tr( "Abs. sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ - name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ - name .addItem( tr( "Random" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); \ - name .addItem( tr( "Random smooth" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); - m_osc1Vol( 33.0, 0.0, 200.0, 0.1, this, tr( "Osc 1 Volume" ) ), m_osc1Pan( 0.0, -100.0, 100.0, 0.1, this, tr( "Osc 1 Panning" ) ), m_osc1Crs( 0.0, -24.0, 24.0, 1.0, this, tr( "Osc 1 Coarse detune" ) ), diff --git a/plugins/monstro/Monstro.h b/plugins/monstro/Monstro.h index 5aa0b1c63..478e25956 100644 --- a/plugins/monstro/Monstro.h +++ b/plugins/monstro/Monstro.h @@ -305,6 +305,38 @@ private: class MonstroInstrument : public Instrument { Q_OBJECT + +#define setwavemodel( name ) \ + name .addItem( tr( "Sine wave" ), static_cast( new PluginPixmapLoader( "sin" ) ) ); \ + name .addItem( tr( "Bandlimited Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ + name .addItem( tr( "Bandlimited Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ + name .addItem( tr( "Bandlimited Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ + name .addItem( tr( "Bandlimited Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ + name .addItem( tr( "Bandlimited Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ + name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ + name .addItem( tr( "Absolute sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ + name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ + name .addItem( tr( "White noise" ), static_cast( new PluginPixmapLoader( "noise" ) ) ); \ + name .addItem( tr( "Digital Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ + name .addItem( tr( "Digital Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ + name .addItem( tr( "Digital Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ + name .addItem( tr( "Digital Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ + name .addItem( tr( "Digital Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); + + +#define setlfowavemodel( name ) \ + name .addItem( tr( "Sine wave" ), static_cast( new PluginPixmapLoader( "sin" ) ) ); \ + name .addItem( tr( "Triangle wave" ), static_cast( new PluginPixmapLoader( "tri" ) ) ); \ + name .addItem( tr( "Saw wave" ), static_cast( new PluginPixmapLoader( "saw" ) ) ); \ + name .addItem( tr( "Ramp wave" ), static_cast( new PluginPixmapLoader( "ramp" ) ) ); \ + name .addItem( tr( "Square wave" ), static_cast( new PluginPixmapLoader( "sqr" ) ) ); \ + name .addItem( tr( "Moog saw wave" ), static_cast( new PluginPixmapLoader( "moog" ) ) ); \ + name .addItem( tr( "Soft square wave" ), static_cast( new PluginPixmapLoader( "sqrsoft" ) ) ); \ + name .addItem( tr( "Abs. sine wave" ), static_cast( new PluginPixmapLoader( "sinabs" ) ) ); \ + name .addItem( tr( "Exponential wave" ), static_cast( new PluginPixmapLoader( "exp" ) ) ); \ + name .addItem( tr( "Random" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); \ + name .addItem( tr( "Random smooth" ), static_cast( new PluginPixmapLoader( "rand" ) ) ); + public: MonstroInstrument( InstrumentTrack * _instrument_track ); virtual ~MonstroInstrument();