Merge branch 'master' into rename
Conflicts: src/core/Song.cpp src/gui/LfoControllerDialog.cpp src/tracks/InstrumentTrack.cpp
This commit is contained in:
@@ -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}")
|
||||
|
||||
Binary file not shown.
@@ -51,6 +51,14 @@ Wenn Sie daran interessiert sind LMMS in eine andere Sprache zu übersetzen oder
|
||||
<source><html><head/><body><p><a href="http://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">http://lmms.io</span></a></p></body></html></source>
|
||||
<translation><html><head/><body><p><a href="http://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">http://lmms.io</span></a></p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Involved</source>
|
||||
<translation>Beteiligt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contributors ordered by number of commits:</source>
|
||||
<translation>Mitwirkende sortiert nach der Anzahl an Einreichungen:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AmplifierControlDialog</name>
|
||||
@@ -221,9 +229,6 @@ Wenn Sie daran interessiert sind LMMS in eine andere Sprache zu übersetzen oder
|
||||
<source>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.</source>
|
||||
<translation>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.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioJack::setupWidget</name>
|
||||
<message>
|
||||
<source>CLIENT-NAME</source>
|
||||
<translation>CLIENT-NAME</translation>
|
||||
@@ -1389,9 +1394,6 @@ Sie können FX Kanäle im Kontextmenü entfernen und verschieben, welches durch
|
||||
<source>FX-Mixer</source>
|
||||
<translation>FX-Mixer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FxMixerView::FxChannelView</name>
|
||||
<message>
|
||||
<source>FX Fader %1</source>
|
||||
<translation>FX Schieber %1</translation>
|
||||
@@ -2110,7 +2112,7 @@ Sie können FX Kanäle im Kontextmenü entfernen und verschieben, welches durch
|
||||
</message>
|
||||
<message>
|
||||
<source>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...!</source>
|
||||
<translation>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...!</translation>
|
||||
<translation>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...!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>FILTER</source>
|
||||
@@ -2486,13 +2488,9 @@ Sie können FX Kanäle im Kontextmenü entfernen und verschieben, welches durch
|
||||
<source>Click here for a square-wave.</source>
|
||||
<translation>Klick für eine Rechteckwelle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click here for a a moog saw-wave.</source>
|
||||
<translation>Klick für eine Moog-ähnliche Welle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click here for an exponential wave.</source>
|
||||
<translation>Klick für eine Exponential-Welle.</translation>
|
||||
<translation>Klick für eine exponentielle Welle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click here for white-noise.</source>
|
||||
@@ -2504,6 +2502,10 @@ Double click to pick a file.</source>
|
||||
<translation>Klicken Sie hier für eine benutzerdefinierte From.
|
||||
Doppelklicken Sie, um eine Datei auszuwählen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click here for a moog saw-wave.</source>
|
||||
<translation>Klick für eine Moog-Sägezahnwelle.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
@@ -2810,7 +2812,7 @@ Bitte besuchen Sie http://lmms.sf.net/wiki für Dokumentationen über LMMS.</tra
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MidiAlsaSeq::setupWidget</name>
|
||||
<name>MidiAlsaSeq</name>
|
||||
<message>
|
||||
<source>DEVICE</source>
|
||||
<translation>GERÄT</translation>
|
||||
@@ -3278,6 +3280,98 @@ Bitte besuchen Sie http://lmms.sf.net/wiki für Dokumentationen über LMMS.</tra
|
||||
<source>Sub3-LFO2</source>
|
||||
<translation>Sub3-LFO2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sine wave</source>
|
||||
<translation>Sinuswelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bandlimited Triangle wave</source>
|
||||
<translation>Bandlimittierte Dreieckwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bandlimited Saw wave</source>
|
||||
<translation>Bandbegrenzte Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bandlimited Ramp wave</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bandlimited Square wave</source>
|
||||
<translation>Bandbegrenzte Rechteckwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bandlimited Moog saw wave</source>
|
||||
<translation>Bandbegrenzte Moog-Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Soft square wave</source>
|
||||
<translation>Weiche Rechteckwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Absolute sine wave</source>
|
||||
<translation>Absolute Sinuswelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exponential wave</source>
|
||||
<translation>Exponentielle Welle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>White noise</source>
|
||||
<translation>Weißes Rauschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Digital Triangle wave</source>
|
||||
<translation>Digitale Dreieckwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Digital Saw wave</source>
|
||||
<translation>Digitale Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Digital Ramp wave</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Digital Square wave</source>
|
||||
<translation>Digitale Rechteckwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Digital Moog saw wave</source>
|
||||
<translation>Digitale Moog-Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Triangle wave</source>
|
||||
<translation>Dreieckwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Saw wave</source>
|
||||
<translation>Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ramp wave</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Square wave</source>
|
||||
<translation>Rechteckwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Moog saw wave</source>
|
||||
<translation>Moog-Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Abs. sine wave</source>
|
||||
<translation>Abs. Sinuswelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Random</source>
|
||||
<translation>Zufällig</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Random smooth</source>
|
||||
<translation>Zufällig gleitend</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MonstroView</name>
|
||||
@@ -4648,7 +4742,7 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich
|
||||
</message>
|
||||
<message>
|
||||
<source>Use an exponential wave for current oscillator.</source>
|
||||
<translation>Exponentialwelle für aktuellen Oszillator nutzen.</translation>
|
||||
<translation>Exponentielle Welle für aktuellen Oszillator nutzen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use white-noise for current oscillator.</source>
|
||||
@@ -4659,17 +4753,6 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich
|
||||
<translation>Benutzerdefinierte Wellenform für aktuellen Oszillator nutzen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Ui</name>
|
||||
<message>
|
||||
<source>Contributors ordered by number of commits:</source>
|
||||
<translation>Mitwirkende sortiert nach der Anzahl an Einreichungen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Involved</source>
|
||||
<translation>Beteiligt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>VersionedSaveDialog</name>
|
||||
<message>
|
||||
@@ -5109,11 +5192,11 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich
|
||||
</message>
|
||||
<message>
|
||||
<source>Sine wave</source>
|
||||
<translation>Sinus-Welle</translation>
|
||||
<translation>Sinuswelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click for sine wave</source>
|
||||
<translation>Klicken für Sinus-Welle</translation>
|
||||
<translation>Klicken für Sinuswelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Triangle wave</source>
|
||||
@@ -5377,7 +5460,7 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich
|
||||
</message>
|
||||
<message>
|
||||
<source>Sine wave</source>
|
||||
<translation>Sinus-Welle</translation>
|
||||
<translation>Sinuswelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Triangle wave</source>
|
||||
@@ -5385,7 +5468,7 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich
|
||||
</message>
|
||||
<message>
|
||||
<source>Saw wave</source>
|
||||
<translation>Sägezahn-Welle</translation>
|
||||
<translation>Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Square wave</source>
|
||||
@@ -5716,6 +5799,14 @@ Bitte stellen Sie sicher, dass Sie Schreibrechte auf diese Datei und das Verzeic
|
||||
<source>Please enter a new value between -96.0 dBV and 6.0 dBV:</source>
|
||||
<translation>Bitte geben Sie einen Wert zwischen -96.0 dBV und 6.0 dBV ein:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set linear</source>
|
||||
<translation>Linear einstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set logarithmic</source>
|
||||
<translation>Logarithmisch einstellen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ladspaBrowserView</name>
|
||||
@@ -5929,7 +6020,7 @@ Doppelklicken auf eines der Plugins zeigt Informaitonen über die Ports an.</tra
|
||||
</message>
|
||||
<message>
|
||||
<source>Saw wave</source>
|
||||
<translation>Sägezahn-Welle</translation>
|
||||
<translation>Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click here for a saw-wave.</source>
|
||||
@@ -5969,7 +6060,7 @@ Doppelklicken auf eines der Plugins zeigt Informaitonen über die Ports an.</tra
|
||||
</message>
|
||||
<message>
|
||||
<source>Sine wave</source>
|
||||
<translation>Sinus-Welle</translation>
|
||||
<translation>Sinuswelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click for a sine-wave.</source>
|
||||
@@ -5981,7 +6072,7 @@ Doppelklicken auf eines der Plugins zeigt Informaitonen über die Ports an.</tra
|
||||
</message>
|
||||
<message>
|
||||
<source>Click here for an exponential wave.</source>
|
||||
<translation>Klick für eine Exponential-Welle.</translation>
|
||||
<translation>Klick für eine exponentielle-Welle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click here for white-noise.</source>
|
||||
@@ -7621,7 +7712,7 @@ Latenz: %2 ms</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SawTooth</source>
|
||||
<translation>Sägezahn-Welle</translation>
|
||||
<translation>Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Noise</source>
|
||||
@@ -8162,7 +8253,7 @@ Die LED rechts unterhalb der Wellenform gibt an, ob die Saite aktiviert ist.</tr
|
||||
</message>
|
||||
<message>
|
||||
<source>Sine wave</source>
|
||||
<translation>Sinus-Welle</translation>
|
||||
<translation>Sinuswelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Triangle wave</source>
|
||||
@@ -8170,7 +8261,7 @@ Die LED rechts unterhalb der Wellenform gibt an, ob die Saite aktiviert ist.</tr
|
||||
</message>
|
||||
<message>
|
||||
<source>Saw wave</source>
|
||||
<translation>Sägezahn-Welle</translation>
|
||||
<translation>Sägezahnwelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Square wave</source>
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
|
||||
class AutomationTrack : public Track
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AutomationTrack( TrackContainer* tc, bool _hidden = false );
|
||||
virtual ~AutomationTrack();
|
||||
|
||||
@@ -40,6 +40,7 @@ class EffectControls;
|
||||
class EXPORT Effect : public Plugin
|
||||
{
|
||||
MM_OPERATORS
|
||||
Q_OBJECT
|
||||
public:
|
||||
Effect( const Plugin::Descriptor * _desc,
|
||||
Model * _parent,
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -38,6 +38,7 @@ class QToolButton;
|
||||
|
||||
class InstrumentMidiIOView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
InstrumentMidiIOView( QWidget* parent );
|
||||
virtual ~InstrumentMidiIOView();
|
||||
|
||||
@@ -95,6 +95,11 @@ public:
|
||||
static void saveWidgetState( QWidget * _w, QDomElement & _de );
|
||||
static void restoreWidgetState( QWidget * _w, const QDomElement & _de );
|
||||
|
||||
void collectErrors( const QList<QString>* 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<QString>* m_errors;
|
||||
|
||||
friend class Engine;
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ class LcdSpinBox;
|
||||
|
||||
class MeterDialog : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
MeterDialog( QWidget * _parent, bool _simple = false );
|
||||
virtual ~MeterDialog();
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -67,3 +67,4 @@ AmplifierControlDialog::AmplifierControlDialog( AmplifierControls* controls ) :
|
||||
rightKnob->setLabel( tr( "RIGHT" ) );
|
||||
rightKnob->setHintText( tr( "Right gain:" ) + " ", "%" );
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ class AmplifierControls;
|
||||
|
||||
class AmplifierControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AmplifierControlDialog( AmplifierControls* controls );
|
||||
virtual ~AmplifierControlDialog()
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -67,4 +67,3 @@ BassBoosterControlDialog::BassBoosterControlDialog( BassBoosterControls* control
|
||||
setLayout( tl );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ class BassBoosterControls;
|
||||
|
||||
class BassBoosterControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
BassBoosterControlDialog( BassBoosterControls* controls );
|
||||
virtual ~BassBoosterControlDialog()
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -84,3 +84,4 @@ DualFilterControlDialog::DualFilterControlDialog( DualFilterControls* controls )
|
||||
m_filter2ComboBox->setFont( pointSize<8>( m_filter2ComboBox->font() ) );
|
||||
m_filter2ComboBox->setModel( &controls->m_filter2Model );
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ class DualFilterControls;
|
||||
|
||||
class DualFilterControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DualFilterControlDialog( DualFilterControls* controls );
|
||||
virtual ~DualFilterControlDialog()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
class MidiImport : public ImportFilter
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
MidiImport( const QString & _file );
|
||||
virtual ~MidiImport();
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -190,5 +190,3 @@ void SpectrumAnalyzerControlDialog::paintEvent( QPaintEvent * )
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ class SpectrumAnalyzerControls;
|
||||
|
||||
class SpectrumAnalyzerControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
SpectrumAnalyzerControlDialog( SpectrumAnalyzerControls* controls );
|
||||
virtual ~SpectrumAnalyzerControlDialog()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -264,4 +264,3 @@ VstEffectControlDialog::~VstEffectControlDialog()
|
||||
//delete m_pluginWidget;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ class PixmapButton;
|
||||
|
||||
class VstEffectControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
VstEffectControlDialog( VstEffectControls * _controls );
|
||||
virtual ~VstEffectControlDialog();
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -152,3 +152,4 @@ dynProcControlDialog::dynProcControlDialog(
|
||||
connect( subOneButton, SIGNAL( clicked() ),
|
||||
_controls, SLOT( subOneClicked() ) );
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ class dynProcControls;
|
||||
|
||||
class dynProcControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
dynProcControlDialog( dynProcControls * _controls );
|
||||
virtual ~dynProcControlDialog()
|
||||
|
||||
@@ -44,6 +44,7 @@ class NotePlayHandle;
|
||||
|
||||
class kickerInstrument : public Instrument
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
kickerInstrument( InstrumentTrack * _instrument_track );
|
||||
virtual ~kickerInstrument();
|
||||
|
||||
@@ -252,6 +252,7 @@ private:
|
||||
|
||||
class lb302SynthView : public InstrumentView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
lb302SynthView( Instrument * _instrument,
|
||||
QWidget * _parent );
|
||||
|
||||
@@ -241,6 +241,7 @@ private:
|
||||
|
||||
class lb303SynthView : public InstrumentView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
lb303SynthView( Instrument * _instrument,
|
||||
QWidget * _parent );
|
||||
|
||||
@@ -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<PixmapLoader*>( new PluginPixmapLoader( "sin" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Triangle wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "tri" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "saw" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Ramp wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "ramp" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqr" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Moog saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "moog" ) ) ); \
|
||||
name .addItem( tr( "Soft square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqrsoft" ) ) ); \
|
||||
name .addItem( tr( "Absolute sine wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sinabs" ) ) ); \
|
||||
name .addItem( tr( "Exponential wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "exp" ) ) ); \
|
||||
name .addItem( tr( "White noise" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "noise" ) ) ); \
|
||||
name .addItem( tr( "Digital Triangle wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "tri" ) ) ); \
|
||||
name .addItem( tr( "Digital Saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "saw" ) ) ); \
|
||||
name .addItem( tr( "Digital Ramp wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "ramp" ) ) ); \
|
||||
name .addItem( tr( "Digital Square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqr" ) ) ); \
|
||||
name .addItem( tr( "Digital Moog saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "moog" ) ) ); \
|
||||
|
||||
|
||||
#define setlfowavemodel( name ) \
|
||||
name .addItem( tr( "Sine wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sin" ) ) ); \
|
||||
name .addItem( tr( "Triangle wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "tri" ) ) ); \
|
||||
name .addItem( tr( "Saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "saw" ) ) ); \
|
||||
name .addItem( tr( "Ramp wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "ramp" ) ) ); \
|
||||
name .addItem( tr( "Square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqr" ) ) ); \
|
||||
name .addItem( tr( "Moog saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "moog" ) ) ); \
|
||||
name .addItem( tr( "Soft square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqrsoft" ) ) ); \
|
||||
name .addItem( tr( "Abs. sine wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sinabs" ) ) ); \
|
||||
name .addItem( tr( "Exponential wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "exp" ) ) ); \
|
||||
name .addItem( tr( "Random" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "rand" ) ) ); \
|
||||
name .addItem( tr( "Random smooth" ), static_cast<PixmapLoader*>( 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<PixmapLoader*>( new PluginPixmapLoader( "sin" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Triangle wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "tri" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "saw" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Ramp wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "ramp" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqr" ) ) ); \
|
||||
name .addItem( tr( "Bandlimited Moog saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "moog" ) ) ); \
|
||||
name .addItem( tr( "Soft square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqrsoft" ) ) ); \
|
||||
name .addItem( tr( "Absolute sine wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sinabs" ) ) ); \
|
||||
name .addItem( tr( "Exponential wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "exp" ) ) ); \
|
||||
name .addItem( tr( "White noise" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "noise" ) ) ); \
|
||||
name .addItem( tr( "Digital Triangle wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "tri" ) ) ); \
|
||||
name .addItem( tr( "Digital Saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "saw" ) ) ); \
|
||||
name .addItem( tr( "Digital Ramp wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "ramp" ) ) ); \
|
||||
name .addItem( tr( "Digital Square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqr" ) ) ); \
|
||||
name .addItem( tr( "Digital Moog saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "moog" ) ) );
|
||||
|
||||
|
||||
#define setlfowavemodel( name ) \
|
||||
name .addItem( tr( "Sine wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sin" ) ) ); \
|
||||
name .addItem( tr( "Triangle wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "tri" ) ) ); \
|
||||
name .addItem( tr( "Saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "saw" ) ) ); \
|
||||
name .addItem( tr( "Ramp wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "ramp" ) ) ); \
|
||||
name .addItem( tr( "Square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqr" ) ) ); \
|
||||
name .addItem( tr( "Moog saw wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "moog" ) ) ); \
|
||||
name .addItem( tr( "Soft square wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sqrsoft" ) ) ); \
|
||||
name .addItem( tr( "Abs. sine wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "sinabs" ) ) ); \
|
||||
name .addItem( tr( "Exponential wave" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "exp" ) ) ); \
|
||||
name .addItem( tr( "Random" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "rand" ) ) ); \
|
||||
name .addItem( tr( "Random smooth" ), static_cast<PixmapLoader*>( new PluginPixmapLoader( "rand" ) ) );
|
||||
|
||||
public:
|
||||
MonstroInstrument( InstrumentTrack * _instrument_track );
|
||||
virtual ~MonstroInstrument();
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -35,6 +35,7 @@ class LedCheckBox;
|
||||
|
||||
class PeakControllerEffectControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
PeakControllerEffectControlDialog(
|
||||
PeakControllerEffectControls * _controls );
|
||||
|
||||
@@ -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() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ class stereoEnhancerControls;
|
||||
|
||||
class stereoEnhancerControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
stereoEnhancerControlDialog( stereoEnhancerControls * _controls );
|
||||
virtual ~stereoEnhancerControlDialog()
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ class stereoMatrixControls;
|
||||
|
||||
class stereoMatrixControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
stereoMatrixControlDialog( stereoMatrixControls * _controls );
|
||||
virtual ~stereoMatrixControlDialog()
|
||||
|
||||
@@ -133,6 +133,7 @@ protected:
|
||||
|
||||
class malletsInstrument : public Instrument
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
malletsInstrument( InstrumentTrack * _instrument_track );
|
||||
virtual ~malletsInstrument();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -116,3 +116,4 @@ waveShaperControlDialog::waveShaperControlDialog(
|
||||
connect( subOneButton, SIGNAL( clicked() ),
|
||||
_controls, SLOT( subOneClicked() ) );
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ class waveShaperControls;
|
||||
|
||||
class waveShaperControlDialog : public EffectControlDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
waveShaperControlDialog( waveShaperControls * _controls );
|
||||
virtual ~waveShaperControlDialog()
|
||||
|
||||
@@ -217,4 +217,3 @@ void Effect::resample( int _i, const sampleFrame * _src_buf,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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" ) );
|
||||
}
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -189,6 +189,7 @@ MainWindow::MainWindow() :
|
||||
vbox->addWidget( w );
|
||||
setCentralWidget( main_widget );
|
||||
|
||||
m_errors = new QList<QString>();
|
||||
|
||||
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<QString>* 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 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0" >
|
||||
<ui version="4.0">
|
||||
<class>AboutDialog</class>
|
||||
<widget class="QDialog" name="AboutDialog" >
|
||||
<property name="geometry" >
|
||||
<widget class="QDialog" name="AboutDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
@@ -10,46 +10,55 @@
|
||||
<height>357</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<property name="windowTitle">
|
||||
<string>About LMMS</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3" >
|
||||
<property name="spacing" >
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin" >
|
||||
<property name="leftMargin">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" >
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="iconLabel" >
|
||||
<property name="minimumSize" >
|
||||
<widget class="QLabel" name="iconLabel">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>64</width>
|
||||
<height>64</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2" >
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label" >
|
||||
<property name="styleSheet" >
|
||||
<string notr="true" >font:12pt; font-weight:bold;</string>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">font:12pt; font-weight:bold;</string>
|
||||
</property>
|
||||
<property name="text" >
|
||||
<property name="text">
|
||||
<string>LMMS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="versionLabel" >
|
||||
<property name="text" >
|
||||
<widget class="QLabel" name="versionLabel">
|
||||
<property name="text">
|
||||
<string>Version %1 (%2/%3, Qt %4, %5)</string>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -57,11 +66,11 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer" >
|
||||
<property name="orientation" >
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
@@ -72,24 +81,24 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget" >
|
||||
<property name="currentIndex" >
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab" >
|
||||
<attribute name="title" >
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>About</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" >
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3" >
|
||||
<property name="orientation" >
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>10</height>
|
||||
@@ -98,24 +107,24 @@
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2" >
|
||||
<property name="text" >
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>LMMS - easy music production for everyone</string>
|
||||
</property>
|
||||
<property name="wordWrap" >
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2" >
|
||||
<property name="orientation" >
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>10</height>
|
||||
@@ -124,24 +133,24 @@
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3" >
|
||||
<property name="text" >
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Copyright (c) 2004-2014, LMMS developers</string>
|
||||
</property>
|
||||
<property name="wordWrap" >
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4" >
|
||||
<property name="orientation" >
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType" >
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>10</height>
|
||||
@@ -150,21 +159,21 @@
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4" >
|
||||
<property name="text" >
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><a href="http://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">http://lmms.io</span></a></p></body></html></string>
|
||||
</property>
|
||||
<property name="wordWrap" >
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer" >
|
||||
<property name="orientation" >
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
@@ -174,31 +183,52 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2" >
|
||||
<attribute name="title" >
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Authors</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4" >
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QTextEdit" name="authorLabel" >
|
||||
<property name="readOnly" >
|
||||
<widget class="QTextEdit" name="authorLabel">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="Seite" >
|
||||
<attribute name="title" >
|
||||
<string>Translation</string>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
<string>Involved</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5" >
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<widget class="QTextEdit" name="translationLabel" >
|
||||
<property name="readOnly" >
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Contributors ordered by number of commits:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="involvedLabel">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="plainText" >
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="Seite">
|
||||
<attribute name="title">
|
||||
<string>Translation</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="QTextEdit" name="translationLabel">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="plainText">
|
||||
<string>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!</string>
|
||||
@@ -207,14 +237,14 @@ If you're interested in translating LMMS in another language or want to improve
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="Seite_2" >
|
||||
<attribute name="title" >
|
||||
<widget class="QWidget" name="Seite_2">
|
||||
<attribute name="title">
|
||||
<string>License</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6" >
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QTextEdit" name="licenseLabel" >
|
||||
<property name="readOnly" >
|
||||
<widget class="QTextEdit" name="licenseLabel">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -224,11 +254,11 @@ If you're interested in translating LMMS in another language or want to improve
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox" >
|
||||
<property name="orientation" >
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons" >
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Close</set>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -243,11 +273,11 @@ If you're interested in translating LMMS in another language or want to improve
|
||||
<receiver>AboutDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel" >
|
||||
<hint type="sourcelabel">
|
||||
<x>248</x>
|
||||
<y>254</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel" >
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
@@ -259,11 +289,11 @@ If you're interested in translating LMMS in another language or want to improve
|
||||
<receiver>AboutDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel" >
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>260</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel" >
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
|
||||
@@ -201,4 +201,3 @@ void InstrumentMidiIOView::modelChanged()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -113,4 +113,3 @@ void MeterDialog::modelChanged()
|
||||
m_denominator->setModel( &mm->denominatorModel() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -192,4 +192,3 @@ void AutomationTrackView::dropEvent( QDropEvent * _de )
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user