/// <summary> /// Create a clip on track from an existing PlayableAsset /// </summary> public static TimelineClip CreateClipOnTrackFromPlayableAsset(IPlayableAsset asset, TrackAsset parentTrack, double candidateTime) { if (parentTrack == null || asset == null || !TypeUtility.IsConcretePlayableAsset(asset.GetType())) { return(null); } TimelineClip newClip = null; try { newClip = parentTrack.CreateClipFromPlayableAsset(asset); } catch { return(null); } WindowState state = null; if (TimelineWindow.instance != null) { state = TimelineWindow.instance.state; } AddClipOnTrack(newClip, parentTrack, candidateTime, null, state); return(newClip); }