예제 #1
0
        public object Clone()
        {
            MediaTrackSource rz = new MediaTrackSource()
            {
                _mediaType  = this.MediaType,
                _sourcePath = this.SourcePath,
                _targets    = new ObservableCollection <TargetClip>(this.Targets)
            };

            return(rz);
        }
예제 #2
0
 public void AddMediaSource(string filePath)
 {
     if (!string.IsNullOrEmpty(filePath))
     {
         MediaTrackSource mts = new MediaTrackSource()
         {
             MediaType  = MediaTypes.Video,
             SourcePath = filePath
         };
         this.CurrentSource = mts;
     }
 }
예제 #3
0
        public void Process(MediaTrackSource msrc)
        {
            this.Status.Clear();
            ExternalCommand xcmd;

            if (msrc.Targets.Count > 0)
            {
                List <CodeValuePair> srcPrms = new List <CodeValuePair>(TemplParams.EnumerateStdSourceParams(msrc));
                foreach (var t in msrc.Targets)
                {
                    t.Source = msrc;
                    xcmd     = t.XCmd;
                    if ((xcmd != null) && xcmd.CanExecute(msrc))
                    {
                        var pQ = srcPrms.Union(EnumerateTrgParams(t));
                        xcmd.Execute(pQ);
                    }
                }
            }
        }