GAudio.GATSampleBank.GetClosestSampleForMidiCode C# (CSharp) Method

GetClosestSampleForMidiCode() public method

Returns the sample closest to the provided midicode and a pitch shift value to be applied to the sample
public GetClosestSampleForMidiCode ( float midiCode, float &pitchShift ) : GATData
midiCode float Midi code.
pitchShift float Pitch shift.
return GATData
        public GATData GetClosestSampleForMidiCode( float midiCode, out float pitchShift )
        {
            int index = _allSamples.Count - 1;
            int i;
            GATSampleInfo info;
            float delta;
            float minDelta = float.MaxValue;

            for( i = 0; i < _allSamples.Count; i++ )
            {
                info = _soundBank.SampleInfos[ i ];

                delta =  Mathf.Abs( midiCode - info.MidiCode );

                if( delta < minDelta )
                {
                    minDelta = delta;
                }
                else
                {
                    index = i - 1;
                    break;
                }
            }

            pitchShift = GATMaths.GetRatioForInterval( midiCode - ( float )_soundBank.SampleInfos[ index ].MidiCode );

            return _allSamples[ index ];
        }