Yes, Excalibur will do this as well. Here's a really old "MarkerSplit.js" script from 2005 I wrote for Vegas Pro 5. Naturally, "Sony" will need to be changed to "ScriptPortal" but - other than that - it should work fine.
/**
* This script will split selected tracks at all marker location(s).
*
* Written By: Edward Troxel
* Copyright 2005 - JETDV Scripts
* Modified: 07-18-2005
**/
import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;
try {
var markers = Vegas.Project.Markers;
for (var i=0; i < Vegas.Project.Markers.Count; i++)
{
//Go through the list of Tracks
var trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd())
{
var track : Track = Track(trackEnum.item());
if (track.Selected)
{
//Go through the list of Events
var eventEnum = new Enumerator(track.Events);
while (!eventEnum.atEnd())
{
var evnt : TrackEvent = TrackEvent(eventEnum.item());
if ((evnt.Start < markers[i].Position) && ((evnt.Start + evnt.Length) > markers[i].Position))
{
var NewLength = markers[i].Position - evnt.Start;
//Split the event
evnt.Split(NewLength);
}
eventEnum.moveNext();
}
}
trackEnum.moveNext();
}
}
} catch (e) {
MessageBox.Show(e);
}
Yes, Excalibur will do this as well. Here's a really old "MarkerSplit.js" script from 2005 I wrote for Vegas Pro 5. Naturally, "Sony" will need to be changed to "ScriptPortal" but - other than that - it should work fine.
/**
* This script will split selected tracks at all marker location(s).
*
* Written By: Edward Troxel
* Copyright 2005 - JETDV Scripts
* Modified: 07-18-2005
**/
import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;
try {
var markers = Vegas.Project.Markers;
for (var i=0; i < Vegas.Project.Markers.Count; i++)
{
//Go through the list of Tracks
var trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd())
{
var track : Track = Track(trackEnum.item());
if (track.Selected)
{
//Go through the list of Events
var eventEnum = new Enumerator(track.Events);
while (!eventEnum.atEnd())
{
var evnt : TrackEvent = TrackEvent(eventEnum.item());
if ((evnt.Start < markers[i].Position) && ((evnt.Start + evnt.Length) > markers[i].Position))
{
var NewLength = markers[i].Position - evnt.Start;
//Split the event
evnt.Split(NewLength);
}
eventEnum.moveNext();
}
}
trackEnum.moveNext();
}
}
} catch (e) {
MessageBox.Show(e);
}
Thank you so much!, i would love to work with scripts, i need to try this. If i might ask... is it possible to make a script but to order all the splitted clips by lenght *shorter to longest*.? I know vegasur does this but i need to pay 100 dollars to use it :(
Yes, it could do that. But that would definitely take some more code. But it could definitely be sorted by length. You can also do that by looking at the information under the View - Window - Edit Details. You can even move them around in that window. So sort by length. Make the first one start at 00:00:00:00. Then copy the "End" point and past that into the start point for the second one. Press tab to let it's "end" change and then copy that "end" and paste it into the start point of the next one. They can be placed in length order very quickly by doing that.
@jetdv woah, i knew about editing details but didnt thought about it! thank you again for saving my day xd. A script would be awesome. did you learn to script by yourself, do you have any advice on how to start learning.
Former user
wrote on 9/25/2021, 10:44 AM
@jetdv yet another feature that few of us were probably aware of. Thanks for the video.
@ignacio-l, yes I learned on my own. The best place I know of today to start learning is my website - www.jetdv.com which points to the tutorials I've uploaded to YouTube over the past 8 months.
@Former user, Edit Details has a lot of power if people just realized it was there. You can even copy the information from Edit Details into Excel, manipulate the information there, and copy it back!