/// <summary>
        /// Try to add recorded face data to a Timeline and create a face recording object that references this recorded data
        /// </summary>
        /// <param name="timeline">The Timeline that holds recorded data</param>
        /// <param name="newAssets">List to be filled out with newly created Assets other than the Data Recording.
        /// This method adds none.</param>
        /// <returns>The face recording object, or null if creation fails</returns>
        public override DataRecording TryCreateDataRecording(TimelineAsset timeline, List <Object> newAssets)
        {
            if (!m_HasProvider)
            {
                Debug.LogWarning("Failed to create face tracking recording. No face tracking provider available.");
                return(null);
            }

            var signalTrack = timeline.CreateTrack <SignalTrack>(null, "Face Tracking Events");

            foreach (var faceEvent in m_FaceEvents)
            {
                var marker = signalTrack.CreateMarker <FaceEventMarker>(faceEvent.Time);
                marker.SetData(faceEvent);
            }

            var recording = FaceTrackingRecording.Create(signalTrack, this.GetCurrentMaximumFaceCount(), m_LandmarkEnumValues, m_ExpressionEnumValues);

            recording.hideFlags = HideFlags.NotEditable;
            return(recording);
        }
 public void SetupFromRecording(FaceTrackingRecording recording)
 {
     m_MaxFaceCount         = recording.MaxFaceCount;
     m_LandmarkEnumValues   = recording.LandmarkEnumValues;
     m_ExpressionEnumValues = recording.ExpressionEnumValues;
 }