diff -dupr fluidsynth-dssi-1.0.0/autogen.sh fluidsynth-dssi-1.1.0/autogen.sh
--- fluidsynth-dssi-1.0.0/autogen.sh	2005-05-10 19:01:49.000000000 +0100
+++ fluidsynth-dssi-1.1.0/autogen.sh	2018-10-23 08:21:00.153482056 +0100
@@ -23,8 +23,8 @@ echo "=============== running libtoolize
     aclocal $ACLOCALARGS &&
     echo "=============== running autoheader" &&
     autoheader &&
-    echo "=============== running automake --add-missing --foreign" &&
-    automake --add-missing --foreign &&
+    echo "=============== running automake --add-missing --copy" &&
+    automake --add-missing --copy &&
     echo "=============== running autoconf" &&
     autoconf &&
     echo "=============== done"
diff -dupr fluidsynth-dssi-1.0.0/ChangeLog fluidsynth-dssi-1.1.0/ChangeLog
--- fluidsynth-dssi-1.0.0/ChangeLog	2009-01-04 23:42:05.000000000 +0000
+++ fluidsynth-dssi-1.1.0/ChangeLog	2018-10-23 08:21:00.153482056 +0100
@@ -1,3 +1,7 @@
+20181023 v1.1.0 rncbc aka. Rui Nuno Capela
+ * Version bump to 1.1.0.
+ * Adapted to FluidSynth API V2 (>= 2.0.0).
+
 20090104 FluidSynth-DSSI v1.0.0 release
  * Version bump to 1.0.0.
 
diff -dupr fluidsynth-dssi-1.0.0/configure.ac fluidsynth-dssi-1.1.0/configure.ac
--- fluidsynth-dssi-1.0.0/configure.ac	2009-01-04 23:30:16.000000000 +0000
+++ fluidsynth-dssi-1.1.0/configure.ac	2018-10-23 08:21:00.153482056 +0100
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT(FluidSynth-DSSI, 1.0.0, dssi-devel@lists.sourceforge.net)
+AC_INIT(FluidSynth-DSSI, 1.1.0, dssi-devel@lists.sourceforge.net)
 
 AC_CONFIG_SRCDIR(src/fluidsynth-dssi.c)
 AM_INIT_AUTOMAKE
@@ -33,6 +33,12 @@ else
   echo "using fluid_synth_nwrite_float() workaround"
   echo "(You may wish to upgrade your FluidSynth to version 1.0.6 or later)"
 fi
+have200=no
+PKG_CHECK_EXISTS(fluidsynth >= 2.0.0, have200=yes)
+if test "x${have200}" = xyes ; then
+  echo "using FluidSynth API V2 (>= 2.0.0)"
+  AC_DEFINE(USE_FLUIDSYNTH_API_V2, 1, [Define to 1 if your libfluidsynth is version 2.0.0 or later])
+fi
 
 dnl Check for GTK+
 AC_ARG_WITH(gtk2, AC_HELP_STRING([--with-gtk2], [use GTK+ 2.0 default=yes]),
@@ -43,10 +49,6 @@ dnl First look for GTK+ 2.x, unless '--w
 if test "x${try_gtk2}" = 'xyes'; then
     AM_PATH_GTK_2_0(2.0.0, with_gtk='yes (version 2.0)', with_gtk=no)
 fi
-dnl  No GTK+ 2.x found, look for GTK+ 1.2 instead
-if test "x${with_gtk}" = 'xno'; then
-    AM_PATH_GTK(1.2.0, with_gtk='yes (version 1.2)', AC_MSG_WARN([GUI will not be built because no version of GTK+ was found]))
-fi
 AM_CONDITIONAL(BUILD_GUI, test "x${with_gtk}" != 'xno')
 echo "GTK support: $with_gtk"
 
diff -dupr fluidsynth-dssi-1.0.0/src/fluidsynth-dssi.c fluidsynth-dssi-1.1.0/src/fluidsynth-dssi.c
--- fluidsynth-dssi-1.0.0/src/fluidsynth-dssi.c	2008-11-16 17:41:35.000000000 +0000
+++ fluidsynth-dssi-1.1.0/src/fluidsynth-dssi.c	2018-10-23 08:21:00.154482056 +0100
@@ -167,7 +167,11 @@ fsd_get_soundfont(const char *path)
     fsd_sfont_t *sfont;
     int palloc;
     fluid_sfont_t *fluid_sfont;
+#ifdef USE_FLUIDSYNTH_API_V2
+    fluid_preset_t *preset;
+#else
     fluid_preset_t preset;
+#endif
 
     /* soundfont already loaded? */
     sfont = fsd_find_loaded_soundfont(path);
@@ -206,8 +210,13 @@ fsd_get_soundfont(const char *path)
         return NULL;
     }
     fluid_sfont = fluid_synth_get_sfont_by_id(fsd_synth.fluid_synth, sfont->sfont_id);
+#ifdef USE_FLUIDSYNTH_API_V2
+    fluid_sfont_iteration_start(fluid_sfont);
+    while ((preset = fluid_sfont_iteration_next(fluid_sfont)) != NULL) {
+#else
     fluid_sfont->iteration_start(fluid_sfont);
     while (fluid_sfont->iteration_next(fluid_sfont, &preset)) {
+#endif
         if (sfont->preset_count == palloc) {
             palloc *= 2;
             sfont->presets = (DSSI_Program_Descriptor *)realloc(sfont->presets,
@@ -219,9 +228,15 @@ fsd_get_soundfont(const char *path)
                 return NULL;
             }
         }
+#ifdef USE_FLUIDSYNTH_API_V2
+        sfont->presets[sfont->preset_count].Bank = fluid_preset_get_banknum(preset);
+        sfont->presets[sfont->preset_count].Program = fluid_preset_get_num(preset);
+        sfont->presets[sfont->preset_count].Name = fluid_preset_get_name(preset);
+#else
         sfont->presets[sfont->preset_count].Bank = preset.get_banknum(&preset);
         sfont->presets[sfont->preset_count].Program = preset.get_num(&preset);
         sfont->presets[sfont->preset_count].Name = preset.get_name(&preset);
+#endif
         sfont->preset_count++;
     }
 
@@ -476,6 +491,8 @@ fsd_cleanup(LADSPA_Handle handle)
         }
         delete_fluid_synth(fsd_synth.fluid_synth);
         delete_fluid_settings(fsd_synth.fluid_settings);
+        fsd_synth.fluid_synth = NULL;
+        fsd_synth.fluid_settings = NULL;
     }
     free(instance);
 }
