I had about 200 images in Vegas MS and wanted to add a transition to all of them at once instead of manually one-at-a-time. Any tips? Thanks in advance.
Steve
There is no way to do this within Vegas Movie Studio.
See other recent discussions on slide shows for details. What you might consider is using a slide-show specific piece of software to create an .avi file that you can then use within your Vegas Movie Studio project.
VMS is great except for this issue. I have many other slideshow softwares. Almost every photo or video software come packaged with one. Too hard to learn them all. I plan to go thru them all and catalog their advantages and disadvantages when I go down next week for knee surgery. I'll have a couple of weeks to mess around. I'll keep that method in mind of using another software and then importing that file into VMS. But I would rather just learn VMS and get real good at it. I talked to a sony help person and asked about the group transition thing. He said he thought it might be one of the things added with the next software upgrade. Because it is one of the most common requests. So everybody that thinks it shoud be an option in VMS call and ask for it. The more that demand it the more likely it will get added. I would be happy if it could just be a selectable time fade transition. Even better if it could be set as random of basic transitions. Best if you could select a group of transitions and make them random or in a repeating order. Does anybody know if group transitions are avalible in the full version of Vegas?
For this solution I made a script which support version 5.0 (did'n find others that did).
AddTransitionToSelectedEvt.js
/**
* Program: AddTransitionToSelectedEvt.js
* Description: Works in version 5 which if more than most. Adds random transition from those available.
* Yes this script have been made before, but not supporting version 5, which I needed
* User interface could be more dynamic, but this is a "needed-today-tool" which is why I
* did'n make a fancy interface. Snapped template code from SetEventLengthAndCrossfade.js
* which is originally authored by Johnny (Roy) Rofrano
*
* Author: Robert Hede (rob@paradis.dk)
*
* Last Updated: 2005-02-15 - Release
*
**/
// Default crossfade/transition
var crossFrameCnt : Timecode = new Timecode("00:00:00.29");
try
{
// counter for events changed
var eventCnt = 0;
// construct dialog
var dialog = new UserForm();
// set defaults
dialog.crossfadeTextBox.Text = crossFrameCnt.ToString();
dialog.transListAvail.Items.Add("Random For each event")
dialog.transListAvail.Items.Add("Standard Cross Fade")
// retrieve transitions available and add to listbox
var count = 0;
var totalTrans = Vegas.Transitions.Count;
var transEnum = new Enumerator(Vegas.Transitions);
var num;
while (!transEnum.atEnd())
{
var trans = transEnum.item();
if(count > 0)
dialog.transListAvail.Items.Add(trans.Name);
count++;
transEnum.moveNext();
}
// show dialog if ok pressed
if (DialogResult.OK == dialog.ShowDialog())
{
// generel needs of vars
var plugIn;
var fx;
var totalTrans = Vegas.Transitions.Count;
// get framecounts used overlap in transitions
crossFrameCnt = dialog.getCrossFrameCnt();
// loop tracks in project
for (var track in Vegas.Project.Tracks)
{
var trackPos : Timecode = new Timecode("00:00:00:00");
// Make a copy of the event list because we're going
// to change it by moving events and that would have
// undesireable side effects when increasing event length
var eventList : ArrayList = new ArrayList();
for (var evnt in track.Events)
{
eventList.Add(evnt);
}
// Iterate over the copy of the list
for (evnt in eventList)
{
if (evnt.Selected)
{
// can only add transition effekts to videotrack version 5
if (evnt.MediaType!=MediaType.Audio ) {
num = int(Math.random() * totalTrans + 1);
if (num > 23) {
num = totalTrans - 1;
}
plugIn = Vegas.Transitions.GetChild(int(num));
fx = new Effect(plugIn);
evnt.FadeIn.Transition = fx;
}
// crossfades set for all video and audio tracks
evnt.AdjustStartLength(trackPos, evnt.Length, true);
trackPos = evnt.End - crossFrameCnt;
eventCnt++;
}
}
}
}
if (eventCnt == 0)
{
MessageBox.Show("No Events Selected!","Complete",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
MessageBox.Show(eventCnt + " Events modified.", "Complete",MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (errorMsg)
{
MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
/************************************************
* Dialog: Input dialog for lengths
************************************************/
class UserForm extends Form
{
var label2 : Label;
var groupBox1 : GroupBox;
var label1 : Label;
var crossfadeTextBox : TextBox;
var cancelButton : Button;
var okButton : Button;
var transListAvail;
function UserForm()
{
this.okButton = new Button();
this.cancelButton = new Button();
this.crossfadeTextBox = new TextBox();
this.label1 = new Label();
this.groupBox1 = new GroupBox();
this.label2 = new Label();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// okButton
//
this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.okButton.Location = new System.Drawing.Point(24, 150);
this.okButton.Name = "okButton";
this.okButton.TabIndex = 5;
this.okButton.Text = "OK";
//
// cancelButton
//
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.Location = new System.Drawing.Point(120, 150);
this.cancelButton.Name = "cancelButton";
this.cancelButton.TabIndex = 6;
this.cancelButton.Text = "Cancel";