Esempio n. 1
0
 /// <summary>
 /// Return info from this MXFFile
 /// </summary>
 /// <param name="path"></param>
 /// <returns></returns>
 public string GetTrackInfo(int trackID)
 {
     try
     {
         List <MXFLogicalObject> lot   = MXFLogicalObject.GetLogicChilds <MXFGenericTrack>(this.LogicalBase[typeof(MXFMaterialPackage)]);
         MXFLogicalObject        track = lot.Where(a => ((MXFGenericTrack)a.Object).TrackID == trackID).FirstOrDefault();
         if (track != null)
         {
             MXFGenericTrack gtrack = track.Object as MXFGenericTrack;
             if (gtrack != null)
             {
                 StringBuilder sb = new StringBuilder();
                 sb.Append(string.Format("'{0}' ", gtrack.TrackName));
                 MXFTimelineTrack ttrack = gtrack as MXFTimelineTrack;
                 if (ttrack != null)
                 {
                     sb.Append(string.Format("Rate: {0} ", ttrack.EditRate));
                 }
                 MXFSequence seq = MXFLogicalObject.GetFirstChild <MXFSequence>(track);
                 if (seq != null && seq.DataDefinition != null)
                 {
                     sb.Append(string.Format("Type: {0} ", seq.DataDefinition.Description));
                 }
                 return(sb.ToString());
             }
         }
         return("");
     }
     catch (Exception)
     {
     }
     return("");
 }
Esempio n. 2
0
        /// <summary>
        /// Return info for a generic track packet
        /// </summary>
        /// <returns>A string representing information about a generic track</returns>
        public string GetTrackInfo(MXFGenericTrack genericTrack)
        {
            try
            {
                if (genericTrack != null)
                {
                    StringBuilder sb  = new StringBuilder();
                    MXFSequence   seq = genericTrack.GetFirstMXFSequence();
                    if (seq != null && seq.DataDefinition != null)
                    {
                        sb.Append(string.Format("{0}", seq.DataDefinition.Name));
                    }

                    if (genericTrack is MXFTimelineTrack timeLineTrack)
                    {
                        sb.Append(string.Format(" @ {0}, ", timeLineTrack.EditRate));
                    }
                    sb.Append(string.Format(@"""{0}"", ", genericTrack.TrackName));

                    return(sb.ToString());
                }
                return("");
            }
            catch (Exception)
            {
                return("Unable to retrieve track info. See error log for more details");
            }
        }