From 27a136fe03954ba00c153f8287527fae5a70d398 Mon Sep 17 00:00:00 2001 From: grindhold Date: Mon, 10 Nov 2014 10:35:07 +0100 Subject: [PATCH 01/19] added capability to collect multiple errormessages and display them at once --- include/MainWindow.h | 6 ++++++ include/Plugin.h | 5 +++++ plugins/VstEffect/VstEffect.cpp | 5 +---- src/core/Plugin.cpp | 13 ++++++++++++ src/core/song.cpp | 3 +++ src/gui/MainWindow.cpp | 36 +++++++++++++++++++++++++++++++++ src/tracks/InstrumentTrack.cpp | 3 +++ 7 files changed, 67 insertions(+), 4 deletions(-) diff --git a/include/MainWindow.h b/include/MainWindow.h index 8a92fa5f13..a6cd746237 100644 --- a/include/MainWindow.h +++ b/include/MainWindow.h @@ -84,6 +84,11 @@ public: static void saveWidgetState( QWidget * _w, QDomElement & _de ); static void restoreWidgetState( QWidget * _w, const QDomElement & _de ); + void collectErrors( const QList* errors ); + void collectError( const QString error ); + void clearErrors(); + void showErrors( const QString reason ); + public slots: void resetWindowTitle(); @@ -159,6 +164,7 @@ private: QBasicTimer m_updateTimer; QTimer m_autoSaveTimer; + QList* m_errors; friend class engine; diff --git a/include/Plugin.h b/include/Plugin.h index 7c937dc8c5..41ccd8706a 100644 --- a/include/Plugin.h +++ b/include/Plugin.h @@ -178,6 +178,8 @@ public: // create a view for the model PluginView * createView( QWidget* parent ); + QList * getErrorReport(); + protected: // create a view for the model @@ -185,6 +187,9 @@ protected: private: + QList * m_errorReport; + void logError( QString err_msg ); + const Descriptor* m_descriptor; // pointer to instantiation-function in plugin diff --git a/plugins/VstEffect/VstEffect.cpp b/plugins/VstEffect/VstEffect.cpp index 8817ffb95e..d17ae07d21 100644 --- a/plugins/VstEffect/VstEffect.cpp +++ b/plugins/VstEffect/VstEffect.cpp @@ -135,10 +135,7 @@ void VstEffect::openPlugin( const QString & _plugin ) m_pluginMutex.unlock(); closePlugin(); delete tf; - QMessageBox::information( NULL, - VstPlugin::tr( "Failed loading VST plugin" ), - VstPlugin::tr( "The VST plugin %1 could not be loaded for some reason." ).arg( _plugin ), - QMessageBox::Ok ); + logError( VstPlugin::tr( "The VST plugin %1 could not be loaded." ) ); return; } diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index 02d725f03a..4915264495 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -62,6 +62,7 @@ Plugin::Plugin( const Descriptor * _descriptor, Model * parent ) : { m_descriptor = &dummy_plugin_descriptor; } + m_errorReport = NULL; } @@ -124,6 +125,18 @@ Plugin * Plugin::instantiate( const QString & pluginName, Model * parent, return inst; } +QList* Plugin::getErrorReport() +{ + return m_errorReport; +} + +void Plugin::logError( QString err_msg ) +{ + if ( m_errorReport == NULL ) { + m_errorReport = new QList(); + } + m_errorReport->append( err_msg ); +} diff --git a/src/core/song.cpp b/src/core/song.cpp index cfaecc2854..a546c836b0 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -885,6 +885,7 @@ void song::loadProject( const QString & _file_name ) clearProject(); engine::projectJournal()->setJournalling( false ); + engine::mainWindow()->clearErrors(); m_fileName = _file_name; m_oldFileName = _file_name; @@ -995,6 +996,8 @@ void song::loadProject( const QString & _file_name ) emit projectLoaded(); + engine::mainWindow()->showErrors( tr( "The following errors occured while loading: " ) ); + m_loadingProject = false; m_modified = false; diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 3d1b707fc5..b37820f206 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -189,6 +189,7 @@ MainWindow::MainWindow() : vbox->addWidget( w ); setCentralWidget( main_widget ); + m_errors = new QList(); m_updateTimer.start( 1000 / 20, this ); // 20 fps @@ -1158,4 +1159,39 @@ void MainWindow::autoSave() +void MainWindow::collectErrors(const QList* errors ) +{ + m_errors->append( *errors ); +} + + +void MainWindow::collectError( const QString error ) +{ + m_errors->append( error ); +} + + + +void MainWindow::clearErrors() +{ + m_errors->clear(); +} + + + +void MainWindow::showErrors( const QString message ) +{ if ( m_errors->length() != 0 ) + { QString* errors = new QString(); + for ( int i = 0 ; i < m_errors->length() ; i++ ) + { + errors->append( m_errors->value( i ) + "\n" ); + } + errors->prepend( "\n\n" ); + errors->prepend( message ); + QMessageBox::warning( NULL, + "LMMS Error report", + *errors, + QMessageBox::Ok ); + } +} diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index 37479f9cab..6060ec0cf6 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -821,6 +821,9 @@ Instrument * InstrumentTrack::loadInstrument( const QString & _plugin_name ) m_instrument = Instrument::instantiate( _plugin_name, this ); unlock(); + if ( m_instrument->getErrorReport() != NULL ) + engine::mainWindow()->collectErrors( m_instrument->getErrorReport() ); + setName( m_instrument->displayName() ); emit instrumentChanged(); From f746db27f09056b004692d3fafd6eb30c37a09f0 Mon Sep 17 00:00:00 2001 From: grindhold Date: Mon, 10 Nov 2014 10:35:36 +0100 Subject: [PATCH 02/19] unexpected codestyle fixes --- src/gui/MainWindow.cpp | 2 +- src/tracks/InstrumentTrack.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index b37820f206..1d6b409273 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -346,7 +346,7 @@ void MainWindow::finalize() help_menu->addSeparator(); help_menu->addAction( embed::getIconPixmap( "icon" ), tr( "About" ), - this, SLOT( aboutLMMS() ) ); + this, SLOT( aboutLMMS() ) ); // create tool-buttons toolButton * project_new = new toolButton( diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index 6060ec0cf6..f8a6ed1f87 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -121,7 +121,7 @@ InstrumentTrack::InstrumentTrack( TrackContainer* tc ) : connect( &m_pitchModel, SIGNAL( dataChanged() ), this, SLOT( updatePitch() ) ); connect( &m_pitchRangeModel, SIGNAL( dataChanged() ), this, SLOT( updatePitchRange() ) ); - m_effectChannelModel.setRange( 0, engine::fxMixer()->numChannels()-1, 1); + m_effectChannelModel.setRange( 0, engine::fxMixer()->numChannels()-1, 1); for( int i = 0; i < NumKeys; ++i ) { @@ -336,11 +336,11 @@ void InstrumentTrack::processInEvent( const MidiEvent& event, const MidiTime& ti } } if( event.controllerNumber() == MidiControllerAllSoundOff || - event.controllerNumber() == MidiControllerAllNotesOff || - event.controllerNumber() == MidiControllerOmniOn || - event.controllerNumber() == MidiControllerOmniOff || - event.controllerNumber() == MidiControllerMonoOn || - event.controllerNumber() == MidiControllerPolyOn ) + event.controllerNumber() == MidiControllerAllNotesOff || + event.controllerNumber() == MidiControllerOmniOn || + event.controllerNumber() == MidiControllerOmniOff || + event.controllerNumber() == MidiControllerMonoOn || + event.controllerNumber() == MidiControllerPolyOn ) { silenceAllNotes(); } From ec457ac69bfe91ec8430d1389fc88af0548b4449 Mon Sep 17 00:00:00 2001 From: grindhold Date: Mon, 10 Nov 2014 10:45:38 +0100 Subject: [PATCH 03/19] fixed argument being passed into errormessage of vsteffect --- plugins/VstEffect/VstEffect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/VstEffect/VstEffect.cpp b/plugins/VstEffect/VstEffect.cpp index d17ae07d21..614c445843 100644 --- a/plugins/VstEffect/VstEffect.cpp +++ b/plugins/VstEffect/VstEffect.cpp @@ -135,7 +135,7 @@ void VstEffect::openPlugin( const QString & _plugin ) m_pluginMutex.unlock(); closePlugin(); delete tf; - logError( VstPlugin::tr( "The VST plugin %1 could not be loaded." ) ); + logError( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( _plugin ) ); return; } From cf29c8b97fb812692cce675124bde6bad226239b Mon Sep 17 00:00:00 2001 From: grindhold Date: Mon, 10 Nov 2014 11:55:36 +0100 Subject: [PATCH 04/19] fixed wrong visibility of Plugin::logError --- include/Plugin.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Plugin.h b/include/Plugin.h index 41ccd8706a..af37839718 100644 --- a/include/Plugin.h +++ b/include/Plugin.h @@ -184,11 +184,11 @@ public: protected: // create a view for the model virtual PluginView* instantiateView( QWidget* ) = 0; + void logError( QString err_msg ); private: QList * m_errorReport; - void logError( QString err_msg ); const Descriptor* m_descriptor; From 7a5812af73ade4d3d4781bc39df9bfa6ae4eb391 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Mon, 17 Nov 2014 20:13:16 +0100 Subject: [PATCH 05/19] 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 12ab33f188..ea82530ce0 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 06/19] 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 1d0d258123..9e46fa5292 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 fe9a1508c2..5aa0b1c635 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 07/19] 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 bdee33286f..57a1b45db4 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 6da0bce608..a2be6ae8df 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 2c9f78fe1b..eba7bff638 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 4a3079e4a7..f9ee9e61b6 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 b21f15a9f5..218ec7cb76 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 224c3c481a..aef0ad47fc 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 32aab2a333..1dfb57e2f6 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 a27ac46caf..fd940496a1 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 843c72ac39..40e22edf7c 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 cb9fa0a478..9504766d2c 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 498031fc2c..edf0b7dd75 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 dbef4e1900..635215128e 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 3a7f347d08..be780cd29f 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 b161a64c5e..e9b4ba6d43 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 c7f3c6d8fd..3a98771a27 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 d123aa53e1..82d79c5983 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 2213d96666..ef7b0f0c9b 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 faed7b1e8f..37d08b3a7a 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 30069eb668..133486712d 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 7517856e3c..0fd1764e51 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 5c4ff97b16..4ca402dd7a 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 08/19] 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 57a1b45db4..bdee33286f 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 a2be6ae8df..6da0bce608 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 eba7bff638..2c9f78fe1b 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 f9ee9e61b6..4a3079e4a7 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 218ec7cb76..b21f15a9f5 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 aef0ad47fc..224c3c481a 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 1dfb57e2f6..32aab2a333 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 fd940496a1..a27ac46caf 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 40e22edf7c..843c72ac39 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 9504766d2c..cb9fa0a478 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 edf0b7dd75..498031fc2c 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 635215128e..dbef4e1900 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 be780cd29f..3a7f347d08 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 e9b4ba6d43..b161a64c5e 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 3a98771a27..c7f3c6d8fd 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 82d79c5983..d123aa53e1 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 ef7b0f0c9b..2213d96666 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 37d08b3a7a..faed7b1e8f 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 133486712d..30069eb668 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 0fd1764e51..7517856e3c 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 4ca402dd7a..5c4ff97b16 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 69bf4b4a24f5345e328992d489f18954d7707c53 Mon Sep 17 00:00:00 2001 From: grindhold Date: Thu, 20 Nov 2014 01:47:13 +0100 Subject: [PATCH 09/19] implemented proper behaviour for VST plugins --- include/Plugin.h | 4 ---- plugins/vestige/vestige.cpp | 10 +--------- src/core/Plugin.cpp | 12 ++---------- src/gui/MainWindow.cpp | 3 ++- src/tracks/InstrumentTrack.cpp | 5 +---- 5 files changed, 6 insertions(+), 28 deletions(-) diff --git a/include/Plugin.h b/include/Plugin.h index af37839718..a07316c40b 100644 --- a/include/Plugin.h +++ b/include/Plugin.h @@ -178,8 +178,6 @@ public: // create a view for the model PluginView * createView( QWidget* parent ); - QList * getErrorReport(); - protected: // create a view for the model @@ -188,8 +186,6 @@ protected: private: - QList * m_errorReport; - const Descriptor* m_descriptor; // pointer to instantiation-function in plugin diff --git a/plugins/vestige/vestige.cpp b/plugins/vestige/vestige.cpp index 7162333df9..6a15af5527 100644 --- a/plugins/vestige/vestige.cpp +++ b/plugins/vestige/vestige.cpp @@ -262,15 +262,7 @@ void vestigeInstrument::loadFile( const QString & _file ) m_pluginMutex.unlock(); closePlugin(); delete tf; - QMessageBox::information( 0, - tr( "Failed loading VST-plugin" ), - tr( "The VST-plugin %1 could not " - "be loaded for some reason.\n" - "If it runs with other VST-" - "software under Linux, please " - "contact an LMMS-developer!" - ).arg( m_pluginDLL ), - QMessageBox::Ok ); + logError( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( m_pluginDLL ) ); return; } diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index 4915264495..24c988e3ca 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -34,6 +34,7 @@ #include "config_mgr.h" #include "DummyPlugin.h" #include "AutomatableModel.h" +#include "MainWindow.h" static PixmapLoader __dummy_loader; @@ -62,7 +63,6 @@ Plugin::Plugin( const Descriptor * _descriptor, Model * parent ) : { m_descriptor = &dummy_plugin_descriptor; } - m_errorReport = NULL; } @@ -125,17 +125,9 @@ Plugin * Plugin::instantiate( const QString & pluginName, Model * parent, return inst; } -QList* Plugin::getErrorReport() -{ - return m_errorReport; -} - void Plugin::logError( QString err_msg ) { - if ( m_errorReport == NULL ) { - m_errorReport = new QList(); - } - m_errorReport->append( err_msg ); + engine::mainWindow()->collectError( err_msg ); } diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 1d6b409273..5fed6da1cd 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -1181,7 +1181,8 @@ void MainWindow::clearErrors() void MainWindow::showErrors( const QString message ) -{ if ( m_errors->length() != 0 ) +{ + if ( m_errors->length() != 0 ) { QString* errors = new QString(); for ( int i = 0 ; i < m_errors->length() ; i++ ) { diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index f8a6ed1f87..15ff0b1432 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -820,11 +820,8 @@ Instrument * InstrumentTrack::loadInstrument( const QString & _plugin_name ) delete m_instrument; m_instrument = Instrument::instantiate( _plugin_name, this ); unlock(); - - if ( m_instrument->getErrorReport() != NULL ) - engine::mainWindow()->collectErrors( m_instrument->getErrorReport() ); - setName( m_instrument->displayName() ); + emit instrumentChanged(); return m_instrument; From f954b0795869d6f9bdeaa4523d2597dc8e654d81 Mon Sep 17 00:00:00 2001 From: grindhold Date: Thu, 20 Nov 2014 22:26:20 +0100 Subject: [PATCH 10/19] rudimentary errormessage for missing sf2-plugins --- plugins/sf2_player/sf2_player.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/sf2_player/sf2_player.cpp b/plugins/sf2_player/sf2_player.cpp index 34be715750..774f6c8937 100644 --- a/plugins/sf2_player/sf2_player.cpp +++ b/plugins/sf2_player/sf2_player.cpp @@ -335,7 +335,8 @@ void sf2Instrument::openFile( const QString & _sf2File, bool updateTrackName ) } else { - // TODO: Couldn't load file! + logError( sf2Instrument::tr( "A soundfont %1 could not be loaded." ).arg( QFileInfo( _sf2File ).baseName() ) ); + // TODO: Why is the filename missing when the file does not exist? } } @@ -357,7 +358,7 @@ void sf2Instrument::openFile( const QString & _sf2File, bool updateTrackName ) if( updateTrackName || instrumentTrack()->displayName() == displayName() ) { - instrumentTrack()->setName( QFileInfo( _sf2File ).baseName() ); + instrumentTrack()->setName( QFileInfo( _sf2File ).baseName() ); } } From 3ca76d40eda29b552f8e6c8f5c1a1624d7a06279 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Tue, 18 Nov 2014 19:38:26 +0100 Subject: [PATCH 11/19] 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 bdee33286f..57a1b45db4 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 6da0bce608..a2be6ae8df 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 2c9f78fe1b..eba7bff638 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 4a3079e4a7..f9ee9e61b6 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 b21f15a9f5..218ec7cb76 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 224c3c481a..aef0ad47fc 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 32aab2a333..1dfb57e2f6 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 a27ac46caf..fd940496a1 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 843c72ac39..40e22edf7c 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 cb9fa0a478..9504766d2c 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 498031fc2c..edf0b7dd75 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 dbef4e1900..635215128e 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 3a7f347d08..be780cd29f 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 b161a64c5e..e9b4ba6d43 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 c7f3c6d8fd..3a98771a27 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 d123aa53e1..82d79c5983 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 2213d96666..ef7b0f0c9b 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 faed7b1e8f..37d08b3a7a 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 30069eb668..133486712d 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 7517856e3c..0fd1764e51 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 5c4ff97b16..4ca402dd7a 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 12/19] 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 705151fa7a..861116eb6e 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 8d9ac96c29..06ed1160e4 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 7463db51fd..04f4387c01 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 426078caaf..2f0703254d 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 f6c964ccdc..748cbcd1cb 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 4fcf3b7810..7f97b4f89c 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 1255f0835d..9fd6b6876e 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 02799ac3a0..36c54a4625 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 506ca341a8..2f56fe256e 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 3804ff6d60..9121c0e918 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 518750594e..9b262397a5 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 abd2181be3..2f3d3cc1c8 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 700dc0a762..fcfd8e2077 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 ade1a3b56e..9b0839240a 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 6904d079b0..b55fde5c55 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 74d11ff106..740b489e1f 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 fdd86dbd6d..c8e8c60097 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 540f0c265e..1e18d8fc35 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 176bd97717..1c6471ab21 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 b4cb5392fd..b8a1a3662b 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 f4b4bc952e..da44322d2c 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 7f8562f77d..7e3503de2a 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 13/19] 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 9eee88cc8c..61102109dc 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 2fdd910548..6d9a113373 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 61a380a2d4dd0d6795b7973c81c020c0926b231e Mon Sep 17 00:00:00 2001 From: grindhold Date: Fri, 21 Nov 2014 19:02:27 +0100 Subject: [PATCH 14/19] renamed method logError to collectErrorForUI --- include/Plugin.h | 2 +- plugins/VstEffect/VstEffect.cpp | 2 +- plugins/sf2_player/sf2_player.cpp | 2 +- plugins/vestige/vestige.cpp | 2 +- src/core/Plugin.cpp | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/Plugin.h b/include/Plugin.h index a07316c40b..d9d8bcc2df 100644 --- a/include/Plugin.h +++ b/include/Plugin.h @@ -182,7 +182,7 @@ public: protected: // create a view for the model virtual PluginView* instantiateView( QWidget* ) = 0; - void logError( QString err_msg ); + void collectErrorForUI( QString err_msg ); private: diff --git a/plugins/VstEffect/VstEffect.cpp b/plugins/VstEffect/VstEffect.cpp index 614c445843..f02b02cb18 100644 --- a/plugins/VstEffect/VstEffect.cpp +++ b/plugins/VstEffect/VstEffect.cpp @@ -135,7 +135,7 @@ void VstEffect::openPlugin( const QString & _plugin ) m_pluginMutex.unlock(); closePlugin(); delete tf; - logError( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( _plugin ) ); + collectErrorForUI( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( _plugin ) ); return; } diff --git a/plugins/sf2_player/sf2_player.cpp b/plugins/sf2_player/sf2_player.cpp index 774f6c8937..76141a4b92 100644 --- a/plugins/sf2_player/sf2_player.cpp +++ b/plugins/sf2_player/sf2_player.cpp @@ -335,7 +335,7 @@ void sf2Instrument::openFile( const QString & _sf2File, bool updateTrackName ) } else { - logError( sf2Instrument::tr( "A soundfont %1 could not be loaded." ).arg( QFileInfo( _sf2File ).baseName() ) ); + collectErrorForUI( sf2Instrument::tr( "A soundfont %1 could not be loaded." ).arg( QFileInfo( _sf2File ).baseName() ) ); // TODO: Why is the filename missing when the file does not exist? } } diff --git a/plugins/vestige/vestige.cpp b/plugins/vestige/vestige.cpp index 6a15af5527..0faae95c8a 100644 --- a/plugins/vestige/vestige.cpp +++ b/plugins/vestige/vestige.cpp @@ -262,7 +262,7 @@ void vestigeInstrument::loadFile( const QString & _file ) m_pluginMutex.unlock(); closePlugin(); delete tf; - logError( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( m_pluginDLL ) ); + collectErrorForUI( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( m_pluginDLL ) ); return; } diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index 24c988e3ca..253df88562 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -125,7 +125,7 @@ Plugin * Plugin::instantiate( const QString & pluginName, Model * parent, return inst; } -void Plugin::logError( QString err_msg ) +void Plugin::collectErrorForUI( QString err_msg ) { engine::mainWindow()->collectError( err_msg ); } From df3a03f64cc6292b697c3431e55efb08c7f7f780 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Fri, 21 Nov 2014 21:08:48 +0100 Subject: [PATCH 15/19] 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 aadad42008..f43be1b0fd 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 88b5a09979..cbd79c9cee 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 4887ef0fbd..5cfb3760d1 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 5a57d30598..3e6e70914e 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 a83e84da89..37a91b7d4c 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 953be63eba..e18899134c 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 16/19] 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 e4544eacc6..a7d84072f1 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 f7cc034621..32c1a92f72 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 17/19] 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 ea82530ce0..f2bc533c8f 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 18/19] 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 9e46fa5292..1d0d258123 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 5aa0b1c635..478e25956e 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(); From ed11ccbf508372a013d17e4e48450f114ff6518d Mon Sep 17 00:00:00 2001 From: Vesa Date: Tue, 25 Nov 2014 21:29:00 +0200 Subject: [PATCH 19/19] Fix conflict --- plugins/Amplifier/AmplifierControlDialog.cpp | 1 - plugins/BassBooster/BassBoosterControlDialog.cpp | 1 - plugins/DualFilter/DualFilterControlDialog.cpp | 1 - plugins/MidiImport/MidiImport.cpp | 1 - plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp | 2 -- plugins/VstEffect/VstEffectControlDialog.cpp | 1 - .../dynamics_processor/dynamics_processor_control_dialog.cpp | 1 - .../peak_controller_effect_control_dialog.cpp | 1 - plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp | 1 - plugins/stereo_matrix/stereomatrix_control_dialog.cpp | 1 - plugins/waveshaper/waveshaper_control_dialog.cpp | 1 - src/core/Effect.cpp | 1 - src/core/FxMixer.cpp | 1 - src/core/Plugin.cpp | 1 - src/gui/widgets/InstrumentMidiIOView.cpp | 1 - src/gui/widgets/MeterDialog.cpp | 1 - src/tracks/AutomationTrack.cpp | 1 - 17 files changed, 18 deletions(-) diff --git a/plugins/Amplifier/AmplifierControlDialog.cpp b/plugins/Amplifier/AmplifierControlDialog.cpp index f487ac1a31..b3c86f82a5 100644 --- a/plugins/Amplifier/AmplifierControlDialog.cpp +++ b/plugins/Amplifier/AmplifierControlDialog.cpp @@ -68,4 +68,3 @@ AmplifierControlDialog::AmplifierControlDialog( AmplifierControls* controls ) : rightKnob->setHintText( tr( "Right gain:" ) + " ", "%" ); } -#include "moc_AmplifierControlDialog.cxx" diff --git a/plugins/BassBooster/BassBoosterControlDialog.cpp b/plugins/BassBooster/BassBoosterControlDialog.cpp index 8c63e282aa..39f4e57e7b 100644 --- a/plugins/BassBooster/BassBoosterControlDialog.cpp +++ b/plugins/BassBooster/BassBoosterControlDialog.cpp @@ -67,4 +67,3 @@ BassBoosterControlDialog::BassBoosterControlDialog( BassBoosterControls* control setLayout( tl ); } -#include "moc_BassBoosterControlDialog.cxx" diff --git a/plugins/DualFilter/DualFilterControlDialog.cpp b/plugins/DualFilter/DualFilterControlDialog.cpp index 21a985c4d7..bd1a1dcd27 100644 --- a/plugins/DualFilter/DualFilterControlDialog.cpp +++ b/plugins/DualFilter/DualFilterControlDialog.cpp @@ -85,4 +85,3 @@ DualFilterControlDialog::DualFilterControlDialog( DualFilterControls* controls ) m_filter2ComboBox->setModel( &controls->m_filter2Model ); } -#include "moc_DualFilterControlDialog.cxx" diff --git a/plugins/MidiImport/MidiImport.cpp b/plugins/MidiImport/MidiImport.cpp index fb9836e846..a5e8476e3b 100644 --- a/plugins/MidiImport/MidiImport.cpp +++ b/plugins/MidiImport/MidiImport.cpp @@ -569,4 +569,3 @@ Plugin * PLUGIN_EXPORT lmms_plugin_main( Model *, void * _data ) } -#include "moc_MidiImport.cxx" diff --git a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp index 33c72315ec..36b421efad 100644 --- a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp +++ b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp @@ -190,5 +190,3 @@ void SpectrumAnalyzerControlDialog::paintEvent( QPaintEvent * ) } -#include "moc_SpectrumAnalyzerControlDialog.cxx" - diff --git a/plugins/VstEffect/VstEffectControlDialog.cpp b/plugins/VstEffect/VstEffectControlDialog.cpp index ea5728deed..5c68ab1b49 100644 --- a/plugins/VstEffect/VstEffectControlDialog.cpp +++ b/plugins/VstEffect/VstEffectControlDialog.cpp @@ -264,4 +264,3 @@ VstEffectControlDialog::~VstEffectControlDialog() //delete m_pluginWidget; } -#include "moc_VstEffectControlDialog.cxx" diff --git a/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp b/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp index 69fadfa0c8..3922206b07 100644 --- a/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp +++ b/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp @@ -153,4 +153,3 @@ dynProcControlDialog::dynProcControlDialog( _controls, SLOT( subOneClicked() ) ); } -#include "moc_dynamics_processor_control_dialog.cxx" 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 091e855091..359b23b9bf 100644 --- a/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp +++ b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.cpp @@ -105,4 +105,3 @@ PeakControllerEffectControlDialog::PeakControllerEffectControlDialog( setLayout( tl ); } -#include "moc_peak_controller_effect_control_dialog.cxx" diff --git a/plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp b/plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp index 54244526ea..5013883d27 100644 --- a/plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp +++ b/plugins/stereo_enhancer/stereoenhancer_control_dialog.cpp @@ -47,4 +47,3 @@ stereoEnhancerControlDialog::stereoEnhancerControlDialog( this->setLayout(l); } -#include "moc_stereoenhancer_control_dialog.cxx" diff --git a/plugins/stereo_matrix/stereomatrix_control_dialog.cpp b/plugins/stereo_matrix/stereomatrix_control_dialog.cpp index 6e33c68934..22ea484a47 100644 --- a/plugins/stereo_matrix/stereomatrix_control_dialog.cpp +++ b/plugins/stereo_matrix/stereomatrix_control_dialog.cpp @@ -68,4 +68,3 @@ stereoMatrixControlDialog::stereoMatrixControlDialog( rrKnob->move( 40+28, 60+28 ); } -#include "moc_stereomatrix_control_dialog.cxx" diff --git a/plugins/waveshaper/waveshaper_control_dialog.cpp b/plugins/waveshaper/waveshaper_control_dialog.cpp index 435c137777..9727e0bc61 100644 --- a/plugins/waveshaper/waveshaper_control_dialog.cpp +++ b/plugins/waveshaper/waveshaper_control_dialog.cpp @@ -117,4 +117,3 @@ waveShaperControlDialog::waveShaperControlDialog( _controls, SLOT( subOneClicked() ) ); } -#include "moc_waveshaper_control_dialog.cxx" diff --git a/src/core/Effect.cpp b/src/core/Effect.cpp index 2d37ba500f..38bd0d6de1 100644 --- a/src/core/Effect.cpp +++ b/src/core/Effect.cpp @@ -217,4 +217,3 @@ 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 d432d7c865..6421a41762 100644 --- a/src/core/FxMixer.cpp +++ b/src/core/FxMixer.cpp @@ -781,4 +781,3 @@ void FxMixer::validateChannelName( int index, int oldIndex ) } } -#include "moc_FxMixer.cxx" diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp index c3ce0e47e4..e6102e82a7 100644 --- a/src/core/Plugin.cpp +++ b/src/core/Plugin.cpp @@ -221,4 +221,3 @@ QDomElement Plugin::Descriptor::SubPluginFeatures::Key::saveXML( return e; } -#include "moc_Plugin.cxx" diff --git a/src/gui/widgets/InstrumentMidiIOView.cpp b/src/gui/widgets/InstrumentMidiIOView.cpp index 29d7af2b48..4601c6e397 100644 --- a/src/gui/widgets/InstrumentMidiIOView.cpp +++ b/src/gui/widgets/InstrumentMidiIOView.cpp @@ -201,4 +201,3 @@ void InstrumentMidiIOView::modelChanged() } } -#include "moc_InstrumentMidiIOView.cxx" diff --git a/src/gui/widgets/MeterDialog.cpp b/src/gui/widgets/MeterDialog.cpp index 07e8aa2490..62b0da72a2 100644 --- a/src/gui/widgets/MeterDialog.cpp +++ b/src/gui/widgets/MeterDialog.cpp @@ -113,4 +113,3 @@ 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 d6a2ea444f..353146377c 100644 --- a/src/tracks/AutomationTrack.cpp +++ b/src/tracks/AutomationTrack.cpp @@ -192,4 +192,3 @@ void AutomationTrackView::dropEvent( QDropEvent * _de ) } -#include "moc_AutomationTrack.cxx"