| 1234567891011121314151617181920212223242526272829303132333435363738394041 | // You need to define AVPRO_PACKAGE_TIMELINE manually to use this script// We could set up the asmdef to reference the package, but the package doesn't // existing in Unity 2017 etc, and it throws an error due to missing reference//#define AVPRO_PACKAGE_TIMELINE#if (UNITY_2018_1_OR_NEWER && AVPRO_PACKAGE_TIMELINE)using UnityEngine;using UnityEngine.Playables;using UnityEngine.Timeline;using System.Collections.Generic;//-----------------------------------------------------------------------------// Copyright 2020-2021 RenderHeads Ltd.  All rights reserved.//-----------------------------------------------------------------------------namespace RenderHeads.Media.AVProVideo.Playables{	[TrackClipType(typeof(MediaPlayerControlAsset))]	[TrackBindingType(typeof(MediaPlayer))]	public class MediaPlayerControlTrack : TrackAsset	{		public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount) 		{			// before building, update the binding field in the clips assets;			var director = go.GetComponent<PlayableDirector>();			var binding = director.GetGenericBinding(this);						foreach (var c in GetClips())			{				var myAsset = c.asset as MediaPlayerControlAsset;				if (myAsset != null)				{					myAsset.binding = binding;				}			}			//return base.CreateTrackMixer(graph, go, inputCount);			return ScriptPlayable<MediaPlayerControlMixerBehaviour>.Create(graph, inputCount);		}	}}#endif
 |