/** * This script will move the cursor 60 seconds left, split all events under the cursor * and place a marker at this location. * * Written By: Edward Troxel * www.jetdv.com/tts * Modified: 08-27-2003 * Copyright 2003 - JET Digital Video **/ var VerNo = "0.05"; import System; import System.Collections; import System.Text; import System.IO; import System.Drawing; import System.Windows.Forms; import SonicFoundry.Vegas; try { var SixtySec = new Timecode("00:01:00:00"); var myMarker : Marker; Vegas.Cursor = Vegas.Cursor - SixtySec; myMarker = new Marker(Vegas.Cursor); Vegas.Project.Markers.Add(myMarker); var trackEnum = new Enumerator(Vegas.Project.Tracks); while (!trackEnum.atEnd()) { var track : Track = Track(trackEnum.item()); SplitEvents(track, Vegas.Cursor); trackEnum.moveNext(); } } catch (e) { MessageBox.Show(e); } function SplitEvents(track, currMark) { var NewStart, NewLength; var eventEnum = new Enumerator(track.Events); while (!eventEnum.atEnd()) { var evnt : TrackEvent = TrackEvent(eventEnum.item()); if (evnt.Start <= currMark) { if ((evnt.Start + evnt.Length) >= currMark) { //Save the original sizes and determine the first clip's new values NewStart = new Timecode(evnt.Start.ToMilliseconds()); NewLength = currMark - NewStart; //Split the event var SEvnt : TrackEvent; SEvnt = evnt.Split(NewLength); evnt.Split(NewLength); var mynewEvent : TrackEvent; //Copy the event var g : double = SEvnt.Start.ToMilliseconds(); var MyTC : Timecode = new Timecode(g); mynewEvent = SEvnt.Copy(track, MyTC); track.Events.Remove(SEvnt); return; } } eventEnum.moveNext(); } }