Update fluidsynth
[ardour.git] / libs / fluidsynth / src / fluid_midi.c
index 1ee3dd24cb62010e5588d4cbec388ba10d249cb7..fc58d839efb099d4364983bbf73bc028de20bdac 100644 (file)
@@ -34,7 +34,7 @@ static int fluid_midi_event_length(unsigned char event);
 static char* fluid_file_read_full(fluid_file fp, size_t* length);
 #define READ_FULL_INITIAL_BUFLEN 1024
 
-
+#if 0 // disable file I/O with Ardour
 /***************************************************************
  *
  *                      MIDIFILE
@@ -372,10 +372,17 @@ fluid_midi_file_read_track(fluid_midi_file *mf, fluid_player_t *player, int num)
             }
 
             /* Skip remaining track data, if any */
-            if (mf->trackpos < mf->tracklen)
-                fluid_midi_file_skip(mf, mf->tracklen - mf->trackpos);
+            if (mf->trackpos < mf->tracklen) {
+                if (fluid_midi_file_skip(mf, mf->tracklen - mf->trackpos) != FLUID_OK) {
+                    delete_fluid_track(track);
+                    return FLUID_FAILED;
+                }
+            }
 
-            fluid_player_add_track(player, track);
+            if (fluid_player_add_track(player, track) != FLUID_OK) {
+                delete_fluid_track(track);
+                return FLUID_FAILED;
+            }
 
         } else {
             found_track = 0;
@@ -760,6 +767,7 @@ fluid_midi_file_get_division(fluid_midi_file *midifile)
 {
     return midifile->division;
 }
+#endif
 
 /******************************************************
  *
@@ -1030,7 +1038,7 @@ fluid_midi_event_set_sysex(fluid_midi_event_t *evt, void *data, int size, int dy
  *
  *     fluid_track_t
  */
-
+#if 0 // disable fluid file player in Ardour
 /*
  * new_fluid_track
  */
@@ -1115,7 +1123,6 @@ fluid_track_get_duration(fluid_track_t *track)
     return time;
 }
 
-#if 0
 /*
  * fluid_track_count_events
  */
@@ -1133,7 +1140,6 @@ fluid_track_count_events(fluid_track_t *track, int *on, int *off)
     }
     return FLUID_OK;
 }
-#endif
 
 /*
  * fluid_track_add_event
@@ -1940,3 +1946,4 @@ fluid_midi_event_length(unsigned char event)
     }
     return 1;
 }
+#endif