Merge pull request #1285 from grindhold/issue_55

Issue 55
This commit is contained in:
Vesa V
2014-11-25 21:20:21 +02:00
9 changed files with 65 additions and 23 deletions

View File

@@ -34,6 +34,7 @@
#include "ConfigManager.h"
#include "DummyPlugin.h"
#include "AutomatableModel.h"
#include "MainWindow.h"
static PixmapLoader __dummy_loader;
@@ -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 );
}

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

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

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