public static TrackEvent GetEvent(ElementSelector elementSelector) { if (elementSelector.SelectorType == SelectorType.None) { return(null); } if (elementSelector.SelectorType == SelectorType.ByName) { var trackRegEx = new Regex(elementSelector.Name); return(MainContainer.Vegas.Project.Tracks.SelectMany(x => x.Events).FirstOrDefault(x => trackRegEx.IsMatch(x.Name) && x.IsAudio() == elementSelector.IsAudio())); } if (elementSelector.SelectorType == SelectorType.BySelection) { return(MainContainer.Vegas.Project.Tracks.SelectMany(x => x.Events).FirstOrDefault(x => x.Selected && x.IsAudio() == elementSelector.IsAudio())); } return(null); }
public static Track GetTrack(ElementSelector elementSelector) { if (elementSelector.ElementType == ElementType.Event) { if (MainContainer.Vegas.Project.Tracks.FirstOrDefault(x => x.Selected && x.IsAudio() == elementSelector.IsAudio()) != null) { return(MainContainer.Vegas.Project.Tracks.FirstOrDefault(x => x.Selected && x.IsAudio() == elementSelector.IsAudio())); } else { Track track = null; if (elementSelector.ElementMediaType == ElementMediaType.Audio) { track = MainContainer.Vegas.Project.AddAudioTrack(); } if (elementSelector.ElementMediaType == ElementMediaType.Video) { track = MainContainer.Vegas.Project.AddVideoTrack(); } track.Name = $"{(track.IsVideo()?"Video":"Audio")}Track #{track.DisplayIndex}"; return(track); } } if (elementSelector.SelectorType == SelectorType.None) { return(null); } if (elementSelector.SelectorType == SelectorType.ByName) { string trackName = (string)elementSelector.Name; return(MainContainer.Vegas.Project.Tracks.FirstOrDefault(x => x.Name == trackName && x.IsAudio() == elementSelector.IsAudio())); } if (elementSelector.SelectorType == SelectorType.BySelection) { return(MainContainer.Vegas.Project.Tracks.FirstOrDefault(x => x.Selected && x.IsAudio() == elementSelector.IsAudio())); } return(null); }