DV Info Net

DV Info Net (https://www.dvinfo.net/forum/)
-   What Happens in Vegas... (https://www.dvinfo.net/forum/what-happens-vegas/)
-   -   Vegas Script For Field Order? (https://www.dvinfo.net/forum/what-happens-vegas/90441-vegas-script-field-order.html)

Plamen Petrov April 1st, 2007 04:08 PM

Vegas Script For Field Order?
 
Hi there,
I am looking for a script to change the field order of all footages on the timeline (footage - properties - field order), i.e. from lower to progressive.

Edward Troxel April 1st, 2007 09:58 PM

Try this one. Save the following as ChangeFieldOrder.cs

Code:

/**
 * This script will set the field order
 *
 * Written By: Edward Troxel
 * Modified: 04-01-2007
 **/

using System;
using System.IO;
using System.Text;
using System.Drawing;
using System.Reflection;
using System.Diagnostics;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Sony.Vegas;

public class EntryPoint
{
    Vegas myVegas;
   
    public void FromVegas(Vegas vegas)
    {
        myVegas = vegas;

        foreach (Track track in myVegas.Project.Tracks)
        {
                foreach(TrackEvent evnt in track.Events)
                {
                        VideoFieldOrder FType = VideoFieldOrder.ProgressiveScan;
                        //VideoFieldOrder.LowerFieldFirst;
                        // VideoFieldOrder.UpperFieldFirst;
                        // VideoFieldOrder.ProgressiveScan;
                        // VideoFieldOrder.Unknown;
                               
                        MediaStream mediaStream = GetActiveMediaStream (evnt, myVegas);
                        VideoStream videoStream = mediaStream as VideoStream;
                        videoStream.FieldOrder = FType;
                }
        }

    }

        public MediaStream GetActiveMediaStream (TrackEvent trackEvent, Vegas vegas)
        {
                try
                {
                        if (!(trackEvent.ActiveTake.IsValid()))
                        {
                                throw new ArgumentException("empty or invalid take");
                        }               

                            Media media = vegas.Project.MediaPool.Find(trackEvent.ActiveTake.MediaPath);
                        if (null == media)
                        {
                                MessageBox.Show("missing media");
                                throw new ArgumentException("missing media");
                        }
   
                        MediaStream mediaStream = media.Streams.GetItemByMediaType(MediaType.Video,

trackEvent.ActiveTake.StreamIndex);
                        return mediaStream;
                }
                catch (Exception e)
                {
                        MessageBox.Show("{0}", e.Message);
                        return null;
                }   
        }

   
}


Excalibur will also easily do this particular task if you don't want to mess with the above.


All times are GMT -6. The time now is 07:54 PM.

DV Info Net -- Real Names, Real People, Real Info!
1998-2024 The Digital Video Information Network