public void deleteUnusedSamples()
{
//Now that the InstrumentBank keeps a reference to it's samples
//you must call this method after you remove instruments
//to make sure their samples get deleted as well.
//You don't have to use this after calling Clear() however.
//Delete and Rebuild Sample List
Samples.Clear();
SampleName.Clear();
for (int x = 0; x < Bank.Count; x++)
{
if (Bank[x] != null)
{
Sample[] samps = Bank[x].SampleList;
for (int x2 = 0; x2 < samps.Length; x2++)
{
if (SampleName.Contains(samps[x2].Name) == false)
{
SampleName.Add(samps[x2].Name);
Samples.Add(samps[x2]);
}
}
}
}
for (int x = 0; x < DrumBank.Count; x++)
{
if (DrumBank[x] != null)
{
Sample[] samps = DrumBank[x].SampleList;
for (int x2 = 0; x2 < samps.Length; x2++)
{
if (SampleName.Contains(samps[x2].Name) == false)
{
SampleName.Add(samps[x2].Name);
Samples.Add(samps[x2]);
}
}
}
}
reCalculateMemoryUsage();
}