Hi Jimmy, Just keeping the already selected instrument when an invalid selection is received seems strange to me. Do you think that would create the desired effect in most MIDI files? It is a case of the MIDI file expecting an instrument to be present, which is not, right? I'm not convinced that just keeping the previous instrument selection is any better than trying to be a little smarter about it, depending on the mode (GM, GS, XG, etc). If a SoundFont was loaded, which supported all the instruments of the playing MIDI file, then there would be no issue.
Best regards, Josh On Wed, 2009-01-28 at 06:08 -0800, jimmy wrote: > Hi Josh, > > If bank 0 has a full GM soundfont, then what you said should work. > > In an ideal situation, since FS allows loading multiple soundfonts in any > order, I think a search for all soundfonts and all soundbanks of each > soundfont for the first available prognum for this substitution scenario. > However, I do know this could potentially slows FS down, I think this mapping > of 128 "fall-back" instruments could be done once, after all soundfonts have > been loaded, and cached for performance reasons. Of course, if one of these > 128 fall-back instruments doesn't exist, then keep the currently loaded > instrument on that channel. My suggested "if-statement" only keeps the > currently loaded instrument. > > > Whatever you did last year did solve the drum portion already, for me at > least. Somehow that also did seem to take care of invalid program change for > those 6 or so midi test files of the time. > > I only notice the problem with this one midi file because several of the > instruments did not sound, and one instrument is panned off-center so it > sounded odd, and I took a closer look. > > Best regards, > > Jimmy > _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/fluid-dev