public void SetMetaTake(TrackEvent TrackEvent, Marker TargetMarker) { MetaMarker currentMmk = TrackEvent.FindCurrentMetaMarker(); if (currentMmk == null) return; var targetMmk = new MetaMarker(TargetMarker, TrackEvent); TrackEvent.ActiveTake.Offset = targetMmk.GlobalMarkerPosition - currentMmk.GlobalMarkerOffset; }
private void SplitEvent() { List<TrackEvent> Events = myVegas.Project.GetSelectedEvents(); if (Events.Count == 0) return; using (var undo = new UndoBlock("Split Events by MetaTakes")) { foreach (TrackEvent ev in Events) { TrackEvent curEv = ev; foreach (MediaMarker mk in ev.ActiveTake.Media.Markers) { if (curEv == null) break; // dun goofed var mmk = new MetaMarker(mk, curEv); if (!mmk.IsWithinEventBounds) continue; curEv = curEv.Split(mmk.GlobalMarkerOffset); } } } }