import { AudioClip } from './types';

export const getClipRelativePoint = (clip: AudioClip, absolutePoint: number) => {
  const adjustedForTimelineOffset = absolutePoint - clip.timelineStart;
  const adjustedForOriginalReadStart = clip.readStart + adjustedForTimelineOffset;
  if (adjustedForOriginalReadStart < clip.loopEnd) {
    return adjustedForOriginalReadStart;
  }

  const loopLength = clip.loopEnd - clip.loopStart;
  const distanceIntoLoop = adjustedForOriginalReadStart % loopLength;
  return clip.loopStart + distanceIntoLoop;
}
