From 7a176c8fbb21165b88883bab6d8eb37e7752ef0a Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sat, 18 Apr 2009 12:29:59 +0200 Subject: [PATCH] ZynAddSubFX: properly load/save instrument presets When loading external XIZ presets, the embedded ZynAddSubFX plugin didn't apply them completely so it did not save them properly later. This made ZASF instruments play the default preset when loading the LMMS project later. Now presets properly get applied to the selected instrument part. --- plugins/zynaddsubfx/remote_zynaddsubfx.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/zynaddsubfx/remote_zynaddsubfx.cpp b/plugins/zynaddsubfx/remote_zynaddsubfx.cpp index 9d8973be3..addfaabb9 100644 --- a/plugins/zynaddsubfx/remote_zynaddsubfx.cpp +++ b/plugins/zynaddsubfx/remote_zynaddsubfx.cpp @@ -281,11 +281,18 @@ void * guiThread( void * ) char * f = strdup( m.getString(). c_str() ); pthread_mutex_lock( &master->mutex ); - master->part[0]->defaultsinstrument(); - master->part[0]->loadXMLinstrument( f ); + const int npart = ui ? + ui->npartcounter->value()-1 : 0; + master->part[npart]->defaultsinstrument(); + master->part[npart]->loadXMLinstrument( f ); pthread_mutex_unlock( &master->mutex ); master->applyparameters(); - if( ui ) ui->refresh_master_ui(); + if( ui ) + { + ui->npartcounter->do_callback(); + ui->updatepanel(); + ui->refresh_master_ui(); + } free( f ); pthread_mutex_lock( &master->mutex ); __remote_zasf->sendMessage(