private void StartPlaybackOfClip(VidkaClipVideoAbstract clip, long? frameOffsetCustom = null) { mutex.CurClipMarkerStartPos = mutex.Proj.GetVideoClipAbsFramePositionLeft(clip); if (frameOffsetCustom.HasValue) mutex.CurClipMarkerStartPos += frameOffsetCustom.Value - clip.FrameStartNoEase; var curAbsSec = mutex.Proj.FrameToSec(mutex.CurClipMarkerStartPos); var ppFrameStart = clip.GetPlaybackFrameStart(frameOffsetCustom); var ppFrameEnd = clip.GetPlaybackFrameEnd(frameOffsetCustom); var clipSecStart = mutex.Proj.FrameToSec(ppFrameStart); var clipSecEnd = mutex.Proj.FrameToSec(ppFrameEnd); mutex.CurPlayerStartPositionSec = clipSecStart; mutex.CurStopPositionSec = clipSecEnd; editor.SetCurrentVideoClip_ForceRepaint(clip); var doMute = (clip.HasCustomAudio || clip.IsMuted); //if (clip.HasCustomAudio) // playerAudio.PlayAudioClip(clip.CustomAudioFilename, clip.CustomAudioOffset + clipSecStart, clip.CustomAudioOffset + clipSecEnd); player.PlayVideoClip(clip.FileName, clipSecStart, clipSecEnd, doMute); //playerAudio.PauseAll(); playerAudio.SynchCurrentAudioClips(curAbsSec); }