Esempio n. 1
0
 static public void SfOptim(List <PatchOptim> filters)
 {
     try
     {
         if (MidiPlayerGlobal.ImSFCurrent != null)
         {
             for (int b = 0; b < MidiPlayerGlobal.ImSFCurrent.Banks.Length; b++)
             {
                 ImBank bank = MidiPlayerGlobal.ImSFCurrent.Banks[b];
                 if (bank != null)
                 {
                     for (int p = 0; p < bank.Presets.Length; p++)
                     {
                         ImPreset preset = bank.Presets[p];
                         if (preset != null)
                         {
                             bool found = false;
                             foreach (PatchOptim optim in filters)
                             {
                                 if (b == optim.Bank && p == optim.Patch && optim.Selected)
                                 {
                                     found = true;
                                     break;
                                 }
                             }
                             if (!found)
                             {
                                 bank.Presets[p] = null;
                             }
                         }
                     }
                 }
             }
         }
     }
     catch (System.Exception ex)
     {
         MidiPlayerGlobal.ErrorDetail(ex);
     }
 }