Merge branch 'master' into rename

Conflicts:
	src/core/Song.cpp
	src/gui/LfoControllerDialog.cpp
	src/tracks/InstrumentTrack.cpp
This commit is contained in:
Lukas W
2014-11-26 11:45:55 +01:00
59 changed files with 372 additions and 203 deletions

View File

@@ -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.

View File

@@ -51,6 +51,14 @@ Wenn Sie daran interessiert sind LMMS in eine andere Sprache zu übersetzen oder
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;http://lmms.io&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://lmms.io&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;http://lmms.io&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://lmms.io&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</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&apos;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&apos;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>

View File

@@ -32,6 +32,7 @@
class AutomationTrack : public Track
{
Q_OBJECT
public:
AutomationTrack( TrackContainer* tc, bool _hidden = false );
virtual ~AutomationTrack();

View File

@@ -40,6 +40,7 @@ class EffectControls;
class EXPORT Effect : public Plugin
{
MM_OPERATORS
Q_OBJECT
public:
Effect( const Plugin::Descriptor * _desc,
Model * _parent,

View File

@@ -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();

View File

@@ -38,6 +38,7 @@ class QToolButton;
class InstrumentMidiIOView : public QWidget, public ModelView
{
Q_OBJECT
public:
InstrumentMidiIOView( QWidget* parent );
virtual ~InstrumentMidiIOView();

View File

@@ -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;

View File

@@ -35,6 +35,7 @@ class LcdSpinBox;
class MeterDialog : public QWidget, public ModelView
{
Q_OBJECT
public:
MeterDialog( QWidget * _parent, bool _simple = false );
virtual ~MeterDialog();

View File

@@ -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:

View File

@@ -67,3 +67,4 @@ AmplifierControlDialog::AmplifierControlDialog( AmplifierControls* controls ) :
rightKnob->setLabel( tr( "RIGHT" ) );
rightKnob->setHintText( tr( "Right gain:" ) + " ", "%" );
}

View File

@@ -34,6 +34,7 @@ class AmplifierControls;
class AmplifierControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
AmplifierControlDialog( AmplifierControls* controls );
virtual ~AmplifierControlDialog()

View File

@@ -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")

View File

@@ -67,4 +67,3 @@ BassBoosterControlDialog::BassBoosterControlDialog( BassBoosterControls* control
setLayout( tl );
}

View File

@@ -33,6 +33,7 @@ class BassBoosterControls;
class BassBoosterControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
BassBoosterControlDialog( BassBoosterControls* controls );
virtual ~BassBoosterControlDialog()

View File

@@ -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")

View File

@@ -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")

View File

@@ -84,3 +84,4 @@ DualFilterControlDialog::DualFilterControlDialog( DualFilterControls* controls )
m_filter2ComboBox->setFont( pointSize<8>( m_filter2ComboBox->font() ) );
m_filter2ComboBox->setModel( &controls->m_filter2Model );
}

View File

@@ -34,6 +34,7 @@ class DualFilterControls;
class DualFilterControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
DualFilterControlDialog( DualFilterControls* controls );
virtual ~DualFilterControlDialog()

View File

@@ -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)

View File

@@ -35,6 +35,7 @@
class MidiImport : public ImportFilter
{
Q_OBJECT
public:
MidiImport( const QString & _file );
virtual ~MidiImport();

View File

@@ -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")

View File

@@ -190,5 +190,3 @@ void SpectrumAnalyzerControlDialog::paintEvent( QPaintEvent * )
}

View File

@@ -33,6 +33,7 @@ class SpectrumAnalyzerControls;
class SpectrumAnalyzerControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
SpectrumAnalyzerControlDialog( SpectrumAnalyzerControls* controls );
virtual ~SpectrumAnalyzerControlDialog()

View File

@@ -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)

View File

@@ -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;
}

View File

@@ -264,4 +264,3 @@ VstEffectControlDialog::~VstEffectControlDialog()
//delete m_pluginWidget;
}

View File

@@ -42,6 +42,7 @@ class PixmapButton;
class VstEffectControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
VstEffectControlDialog( VstEffectControls * _controls );
virtual ~VstEffectControlDialog();

View File

@@ -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")

View File

@@ -152,3 +152,4 @@ dynProcControlDialog::dynProcControlDialog(
connect( subOneButton, SIGNAL( clicked() ),
_controls, SLOT( subOneClicked() ) );
}

View File

@@ -34,6 +34,7 @@ class dynProcControls;
class dynProcControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
dynProcControlDialog( dynProcControls * _controls );
virtual ~dynProcControlDialog()

View File

@@ -44,6 +44,7 @@ class NotePlayHandle;
class kickerInstrument : public Instrument
{
Q_OBJECT
public:
kickerInstrument( InstrumentTrack * _instrument_track );
virtual ~kickerInstrument();

View File

@@ -252,6 +252,7 @@ private:
class lb302SynthView : public InstrumentView
{
Q_OBJECT
public:
lb302SynthView( Instrument * _instrument,
QWidget * _parent );

View File

@@ -241,6 +241,7 @@ private:
class lb303SynthView : public InstrumentView
{
Q_OBJECT
public:
lb303SynthView( Instrument * _instrument,
QWidget * _parent );

View File

@@ -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();

View File

@@ -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")

View File

@@ -35,6 +35,7 @@ class LedCheckBox;
class PeakControllerEffectControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
PeakControllerEffectControlDialog(
PeakControllerEffectControls * _controls );

View File

@@ -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() );
}
}

View File

@@ -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")

View File

@@ -32,6 +32,7 @@ class stereoEnhancerControls;
class stereoEnhancerControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
stereoEnhancerControlDialog( stereoEnhancerControls * _controls );
virtual ~stereoEnhancerControlDialog()

View File

@@ -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")

View File

@@ -32,6 +32,7 @@ class stereoMatrixControls;
class stereoMatrixControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
stereoMatrixControlDialog( stereoMatrixControls * _controls );
virtual ~stereoMatrixControlDialog()

View File

@@ -133,6 +133,7 @@ protected:
class malletsInstrument : public Instrument
{
Q_OBJECT
public:
malletsInstrument( InstrumentTrack * _instrument_track );
virtual ~malletsInstrument();

View File

@@ -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;
}

View File

@@ -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")

View File

@@ -116,3 +116,4 @@ waveShaperControlDialog::waveShaperControlDialog(
connect( subOneButton, SIGNAL( clicked() ),
_controls, SLOT( subOneClicked() ) );
}

View File

@@ -34,6 +34,7 @@ class waveShaperControls;
class waveShaperControlDialog : public EffectControlDialog
{
Q_OBJECT
public:
waveShaperControlDialog( waveShaperControls * _controls );
virtual ~waveShaperControlDialog()

View File

@@ -217,4 +217,3 @@ void Effect::resample( int _i, const sampleFrame * _src_buf,
}
}

View File

@@ -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();
}
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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" ) );
}

View File

@@ -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 );

View File

@@ -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 );
}
}

View File

@@ -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>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;http://lmms.io&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://lmms.io&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</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>

View File

@@ -201,4 +201,3 @@ void InstrumentMidiIOView::modelChanged()
}
}

View File

@@ -113,4 +113,3 @@ void MeterDialog::modelChanged()
m_denominator->setModel( &mm->denominatorModel() );
}

View File

@@ -192,4 +192,3 @@ void AutomationTrackView::dropEvent( QDropEvent * _de )
}

View File

@@ -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;