Help a Walter Murch fan please!

Constantino wrote on 4/30/2003, 9:12 AM
I have a project with several thousand captured clips and I need to visualise all these, not on the monitor, but in printed form (small prints) on large cardboards in the studio. Walter Murch describes this technique in his fine books. It's great for making correlations between clips and developping a sequence.

I put all clips on timeline and I need a script that saves a snapshot from the first frame of each clip, saving a jpeg WITH THE NAME (nUmber) OF EACH CLIP (ex. 58-224) in a folder. I then run photoshop to automate contact sheets of all these little photos with the names of the source clips on. I make print A4 pages for 1 EUR each, cut them and do my cardboards. Hand-made editing again -:) I came in editing from photography, I have a visual memory. I try also to compensate the luck of Story board in Vegas.

Is there anyway to automate the saving AND naming process?

Many thanks in advance.

C.

Comments

SonyPJM wrote on 4/30/2003, 12:08 PM
It should be possible. There's a sample script (RenderImageSequence.js,
included in the SampleScripts.zip archive which can be downloaded from
our web site) that would require a few modifications to meet your needs.

Rather than having the script step over each frame in a region, you'd
have it step to the start of each event in a given track. The output
file naming portion of the script would also need some modification so
that, for each event, it would use part of the name of the source
media used by its active take.
jetdv wrote on 4/30/2003, 1:25 PM
Here's the script I posted for him at the Cow:


/**
* This script will create a thumbnail of all events on the selected track
* They will be placed in the "StoragePath" subdirectory and stored in JPEG format.
* The base name of the thumbnail is the name of the original file.
*
* Written By: Edward Troxel
* www.jetdv.com/tts
* Modified: 04-30-2003
**/


import System.Windows.Forms;
import SonicFoundry.Vegas;
import System.IO;
import Microsoft.Win32;



try {
// The first thing this script does is save off the preview & project
// settings that will be set later. This is so they can be restored
// after the script is complete.
var origPreviewRenderQuality = Vegas.Project.Preview.RenderQuality;
var origPreviewFillSize = Vegas.Project.Preview.FullSize;
var origFieldOrder = Vegas.Project.Video.FieldOrder;
var origProjectDeinterlaceMethod = Vegas.Project.Video.DeinterlaceMethod;
var currentTime = Vegas.Cursor;


//Enter the path here - below represents D:\VMedia. NOTE: \\ = \ when entering path names!
var StoragePath = "D:\\VMedia"

var track = FindSelectedTrack();
if (null == track)
throw "no selected track";

// Set the preview quality and size.
Vegas.Project.Preview.RenderQuality = VideoRenderQuality.Best;
Vegas.Project.Preview.FullSize = true;

// Set the field order and deinterlace method
Vegas.Project.Video.FieldOrder = VideoFieldOrder.ProgressiveScan;
Vegas.Project.Video.DeinterlaceMethod = VideoDeinterlaceMethod.InterpolateFields;

//do all events on the selected track
var eventEnum = new Enumerator(track.Events);
while (!eventEnum.atEnd()) {
var evnt : TrackEvent = TrackEvent(eventEnum.item());

var MyFilePath = evnt.ActiveTake.MediaPath;
var extFileName = Path.GetFileName(MyFilePath);
var baseFileName = Path.GetFileNameWithoutExtension(extFileName);
var FullFileName = Path.Combine(StoragePath, baseFileName + ".jpg")

// save a snapshot. The SaveSnapshot method returns a
// member of the RenderStatus enumeration. If the user
// hits the escape key or quits the app, exit the loop.
if (Vegas.SaveSnapshot(FullFileName, ImageFileFormat.JPEG, evnt.Start) == RenderStatus.Complete) {
Vegas.UpdateUI();
}

eventEnum.moveNext();
}


// restore the project and preview settings
Vegas.Project.Preview.RenderQuality = origPreviewRenderQuality;
Vegas.Project.Preview.FullSize = origPreviewFillSize;
Vegas.Project.Video.FieldOrder = origFieldOrder;
Vegas.Project.Video.DeinterlaceMethod = origProjectDeinterlaceMethod;
Vegas.Cursor = currentTime;

} catch (e) {
MessageBox.Show(e);
}




function FindSelectedTrack() : Track {
var trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());
if (track.Selected) {
return track;
}
trackEnum.moveNext();
}
return null;
}

SonyPJM wrote on 4/30/2003, 3:06 PM
nice!