diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1a6c9b975f..61ca5a66a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -552,7 +552,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_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}")
diff --git a/data/locale/de.qm b/data/locale/de.qm
index 400a71aa5a..5834e25392 100644
Binary files a/data/locale/de.qm and b/data/locale/de.qm differ
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/include/AutomationTrack.h b/include/AutomationTrack.h
index e9af8e9f65..b8d3da38dd 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/Effect.h b/include/Effect.h
index 2adfb4f5e3..c91b8a53b2 100644
--- a/include/Effect.h
+++ b/include/Effect.h
@@ -40,6 +40,7 @@ class EffectControls;
class EXPORT Effect : public Plugin
{
MM_OPERATORS
+ Q_OBJECT
public:
Effect( const Plugin::Descriptor * _desc,
Model * _parent,
diff --git a/include/FxMixer.h b/include/FxMixer.h
index 25c1a8c06d..7c18e019a0 100644
--- a/include/FxMixer.h
+++ b/include/FxMixer.h
@@ -82,6 +82,7 @@ class FxChannel : public ThreadableJob
class FxRoute : public QObject
{
+ Q_OBJECT
public:
FxRoute( FxChannel * from, FxChannel * to, float amount );
virtual ~FxRoute();
@@ -120,8 +121,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/InstrumentMidiIOView.h b/include/InstrumentMidiIOView.h
index 14437642bc..d9bcf38437 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/MainWindow.h b/include/MainWindow.h
index 5e9fb32541..a8aae83c50 100644
--- a/include/MainWindow.h
+++ b/include/MainWindow.h
@@ -95,6 +95,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();
@@ -170,6 +175,7 @@ private:
QBasicTimer m_updateTimer;
QTimer m_autoSaveTimer;
+ QList* m_errors;
friend class Engine;
diff --git a/include/MeterDialog.h b/include/MeterDialog.h
index e537106306..50d93831eb 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/include/Plugin.h b/include/Plugin.h
index f5c1ab0468..b73238ab5c 100644
--- a/include/Plugin.h
+++ b/include/Plugin.h
@@ -41,9 +41,10 @@ class PluginView;
class AutomatableModel;
-class EXPORT Plugin : public JournallingObject, public Model
+class EXPORT Plugin : public Model, public JournallingObject
{
MM_OPERATORS
+ Q_OBJECT
public:
enum PluginTypes
{
@@ -184,6 +185,7 @@ public:
protected:
// create a view for the model
virtual PluginView* instantiateView( QWidget* ) = 0;
+ void collectErrorForUI( QString err_msg );
private:
diff --git a/plugins/Amplifier/AmplifierControlDialog.cpp b/plugins/Amplifier/AmplifierControlDialog.cpp
index 3547601877..3604588273 100644
--- a/plugins/Amplifier/AmplifierControlDialog.cpp
+++ b/plugins/Amplifier/AmplifierControlDialog.cpp
@@ -67,3 +67,4 @@ AmplifierControlDialog::AmplifierControlDialog( AmplifierControls* controls ) :
rightKnob->setLabel( tr( "RIGHT" ) );
rightKnob->setHintText( tr( "Right gain:" ) + " ", "%" );
}
+
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/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 9caca1bb84..cd299fb6db 100644
--- a/plugins/BassBooster/BassBoosterControlDialog.cpp
+++ b/plugins/BassBooster/BassBoosterControlDialog.cpp
@@ -67,4 +67,3 @@ BassBoosterControlDialog::BassBoosterControlDialog( BassBoosterControls* control
setLayout( tl );
}
-
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/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 13fed96db2..368d9dd344 100644
--- a/plugins/DualFilter/DualFilterControlDialog.cpp
+++ b/plugins/DualFilter/DualFilterControlDialog.cpp
@@ -84,3 +84,4 @@ DualFilterControlDialog::DualFilterControlDialog( DualFilterControls* controls )
m_filter2ComboBox->setFont( pointSize<8>( m_filter2ComboBox->font() ) );
m_filter2ComboBox->setModel( &controls->m_filter2Model );
}
+
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/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.h b/plugins/MidiImport/MidiImport.h
index 7e7004d48c..d4c7a0f4a5 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/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 08be1d0fbe..42aa5ed86a 100644
--- a/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp
+++ b/plugins/SpectrumAnalyzer/SpectrumAnalyzerControlDialog.cpp
@@ -190,5 +190,3 @@ void SpectrumAnalyzerControlDialog::paintEvent( QPaintEvent * )
}
-
-
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/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/VstEffect.cpp b/plugins/VstEffect/VstEffect.cpp
index 7d52e22c42..49cb062b4c 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 );
+ collectErrorForUI( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( _plugin ) );
return;
}
diff --git a/plugins/VstEffect/VstEffectControlDialog.cpp b/plugins/VstEffect/VstEffectControlDialog.cpp
index e11bda2ab5..ac42fef729 100644
--- a/plugins/VstEffect/VstEffectControlDialog.cpp
+++ b/plugins/VstEffect/VstEffectControlDialog.cpp
@@ -264,4 +264,3 @@ VstEffectControlDialog::~VstEffectControlDialog()
//delete m_pluginWidget;
}
-
diff --git a/plugins/VstEffect/VstEffectControlDialog.h b/plugins/VstEffect/VstEffectControlDialog.h
index 0539cf9d7a..53173a3935 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/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 b0c66c79b1..9b50371069 100644
--- a/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp
+++ b/plugins/dynamics_processor/dynamics_processor_control_dialog.cpp
@@ -152,3 +152,4 @@ dynProcControlDialog::dynProcControlDialog(
connect( subOneButton, SIGNAL( clicked() ),
_controls, SLOT( subOneClicked() ) );
}
+
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 654aa5fbaf..c4fd7f41c2 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 d79e7c9865..03cff135d1 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 22c089c22d..893cd0acd7 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/monstro/Monstro.h b/plugins/monstro/Monstro.h
index 663ded670a..c041ffe383 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;
@@ -337,6 +306,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();
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.h b/plugins/peak_controller_effect/peak_controller_effect_control_dialog.h
index fd859ada5f..ed83237624 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/sf2_player/sf2_player.cpp b/plugins/sf2_player/sf2_player.cpp
index 340759fd42..3de39524bf 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!
+ 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?
}
}
@@ -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() );
}
}
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.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/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.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 11311bfacb..a194479bf1 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/vestige/vestige.cpp b/plugins/vestige/vestige.cpp
index e1dee04d5c..f1b9fffd99 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 );
+ collectErrorForUI( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( m_pluginDLL ) );
return;
}
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 f7cfd22ee6..236fc70d43 100644
--- a/plugins/waveshaper/waveshaper_control_dialog.cpp
+++ b/plugins/waveshaper/waveshaper_control_dialog.cpp
@@ -116,3 +116,4 @@ waveShaperControlDialog::waveShaperControlDialog(
connect( subOneButton, SIGNAL( clicked() ),
_controls, SLOT( subOneClicked() ) );
}
+
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/core/Effect.cpp b/src/core/Effect.cpp
index c6aeecb294..36e86ef9ce 100644
--- a/src/core/Effect.cpp
+++ b/src/core/Effect.cpp
@@ -217,4 +217,3 @@ void Effect::resample( int _i, const sampleFrame * _src_buf,
}
}
-
diff --git a/src/core/FxMixer.cpp b/src/core/FxMixer.cpp
index 6423965c62..b1494e00d2 100644
--- a/src/core/FxMixer.cpp
+++ b/src/core/FxMixer.cpp
@@ -192,8 +192,8 @@ void FxChannel::doProcessing()
FxMixer::FxMixer() :
- JournallingObject(),
Model( NULL ),
+ JournallingObject(),
m_fxChannels()
{
// create master channel
@@ -780,3 +780,4 @@ void FxMixer::validateChannelName( int index, int oldIndex )
r->updateName();
}
}
+
diff --git a/src/core/Plugin.cpp b/src/core/Plugin.cpp
index 1078ae2d18..769ed04f28 100644
--- a/src/core/Plugin.cpp
+++ b/src/core/Plugin.cpp
@@ -34,6 +34,7 @@
#include "ConfigManager.h"
#include "DummyPlugin.h"
#include "AutomatableModel.h"
+#include "MainWindow.h"
static PixmapLoader __dummy_loader;
@@ -54,8 +55,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 )
@@ -124,6 +125,10 @@ Plugin * Plugin::instantiate( const QString & pluginName, Model * parent,
return inst;
}
+void Plugin::collectErrorForUI( QString err_msg )
+{
+ Engine::mainWindow()->collectError( err_msg );
+}
@@ -216,4 +221,3 @@ QDomElement Plugin::Descriptor::SubPluginFeatures::Key::saveXML(
return e;
}
-
diff --git a/src/core/Song.cpp b/src/core/Song.cpp
index 12f66ec7f0..ce686e79f3 100644
--- a/src/core/Song.cpp
+++ b/src/core/Song.cpp
@@ -883,6 +883,7 @@ void Song::loadProject( const QString & _file_name )
m_loadingProject = true;
Engine::projectJournal()->setJournalling( false );
+ Engine::mainWindow()->clearErrors();
m_fileName = _file_name;
m_oldFileName = _file_name;
@@ -994,6 +995,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/AboutDialog.cpp b/src/gui/AboutDialog.cpp
index a5b2390d55..5b152e07d4 100644
--- a/src/gui/AboutDialog.cpp
+++ b/src/gui/AboutDialog.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/LfoControllerDialog.cpp b/src/gui/LfoControllerDialog.cpp
index f604fd93ab..0c1ef5a201 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 );
diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp
index ec2d467873..86a4ea65d1 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
@@ -345,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(
@@ -1159,4 +1160,40 @@ 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/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
diff --git a/src/gui/widgets/InstrumentMidiIOView.cpp b/src/gui/widgets/InstrumentMidiIOView.cpp
index e312b8096f..2126101105 100644
--- a/src/gui/widgets/InstrumentMidiIOView.cpp
+++ b/src/gui/widgets/InstrumentMidiIOView.cpp
@@ -201,4 +201,3 @@ void InstrumentMidiIOView::modelChanged()
}
}
-
diff --git a/src/gui/widgets/MeterDialog.cpp b/src/gui/widgets/MeterDialog.cpp
index 27afb922cf..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() );
}
-
diff --git a/src/tracks/AutomationTrack.cpp b/src/tracks/AutomationTrack.cpp
index baf3f1ec76..2b397862d6 100644
--- a/src/tracks/AutomationTrack.cpp
+++ b/src/tracks/AutomationTrack.cpp
@@ -192,4 +192,3 @@ void AutomationTrackView::dropEvent( QDropEvent * _de )
}
-
diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp
index 4e16bcae09..c1ae4d0c28 100644
--- a/src/tracks/InstrumentTrack.cpp
+++ b/src/tracks/InstrumentTrack.cpp
@@ -122,7 +122,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 )
{
@@ -312,11 +312,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();
}
@@ -795,8 +795,8 @@ Instrument * InstrumentTrack::loadInstrument( const QString & _plugin_name )
delete m_instrument;
m_instrument = Instrument::instantiate( _plugin_name, this );
unlock();
-
setName( m_instrument->displayName() );
+
emit instrumentChanged();
return m_instrument;