From 601b6c7c594eab566f0bc97df42f322b3c76820f 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. (cherry picked from commit 7a176c8fbb21165b88883bab6d8eb37e7752ef0a) --- 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(