示例#1
0
        public static void MoveElement(ElementStep elementStep)
        {
            if (!elementStep.Selector.IsValid() || elementStep.Selector.ElementType == ElementType.None || elementStep.Selector.ElementType == ElementType.Track)
            {
                return;
            }
            TrackEvent eventToMove = SelectorService.GetEvent(elementStep.Selector);
            Timecode   timecode    = Timecode.FromString(elementStep.DataPropertyList[DataPropertyHolder.TIMECODE].Value);

            eventToMove.Start = timecode;
        }
示例#2
0
 public static void RemoveElement(ElementStep elementStep)
 {
     if (!elementStep.Selector.IsValid() || elementStep.Selector.ElementType == ElementType.None)
     {
         return;
     }
     if (elementStep.Selector.ElementType == ElementType.Event)
     {
         TrackEvent eventToRemove = SelectorService.GetEvent(elementStep.Selector);
         if (eventToRemove != null)
         {
             eventToRemove.Track.Events.Remove(eventToRemove);
         }
     }
     if (elementStep.Selector.ElementType == ElementType.Track)
     {
         Track track = SelectorService.GetTrack(elementStep.Selector);
         track.Project.Tracks.Remove(track);
     }
 }
        public static void SetEffectToElement(ElementStep elementStep)
        {
            if (!elementStep.Selector.IsValid() || elementStep.Selector.ElementType == ElementType.None)
            {
                return;
            }

            if (elementStep.Selector.ElementType == ElementType.Event)
            {
                TrackEvent trackEvent  = SelectorService.GetEvent(elementStep.Selector);
                PlugInNode pin         = SelectorService.GetPlugIn(elementStep.DataPropertyList[DataPropertyHolder.EFFECT_NAME].Value);
                string     effectPrest = string.IsNullOrEmpty(elementStep.DataPropertyList[DataPropertyHolder.EFFECT_PRESET_NAME].Value)
                    ? SelectorService.GetPresets(pin)[0]
                    : elementStep.DataPropertyList[DataPropertyHolder.EFFECT_PRESET_NAME].Value;
                Effect effect = new Effect(pin);
                if (elementStep.Selector.IsAudio())
                {
                    (trackEvent as AudioEvent).Effects.Add(effect);
                }
                if (elementStep.Selector.IsVideo())
                {
                    (trackEvent as VideoEvent).Effects.Add(effect);
                }
                effect.Preset = effectPrest;
            }
            if (elementStep.Selector.ElementType == ElementType.Track)
            {
                Track      track       = SelectorService.GetTrack(elementStep.Selector);
                PlugInNode pin         = SelectorService.GetPlugIn(elementStep.DataPropertyList[DataPropertyHolder.EFFECT_NAME].Value);
                string     effectPrest = string.IsNullOrEmpty(elementStep.DataPropertyList[DataPropertyHolder.EFFECT_PRESET_NAME].Value)
                    ? SelectorService.GetPresets(pin)[0]
                    : elementStep.DataPropertyList[DataPropertyHolder.EFFECT_PRESET_NAME].Value;
                Effect effect = new Effect(pin);
                track.Effects.Add(effect);
                effect.Preset = effectPrest;
            }
        }