Nein, das funktioniert leider nicht. Ich habe auch schon gelesen, dass es bei Premiere anscheinend etwas einfacher vonstatten geht.-paleface- hat geschrieben:Kann man nicht einfach beim Import sagen "als 25p interpretieren"?
Geht bei Premiere ganz leicht, auch mit vielen Clips.
Code: Alles auswählen
/*
* (re)create audio parts on seperate audio track for all selected video events
*/
import System.Windows.Forms;
import Sony.Vegas;
try {
// create new target audio track
var targetTrack = new AudioTrack(-1,"Missing Audio");
Vegas.Project.Tracks.Add(targetTrack);
// step through all selected video events:
for (var track in Vegas.Project.Tracks) {
for (var evnt in track.Events) {
if (!evnt.Selected || evnt.MediaType != MediaType.Video) continue;
// create a fitting audio event and add to target audio track:
var audioEvent = new AudioEvent(evnt.Start,evnt.Length);
targetTrack.Events.Add(audioEvent);
// step through all events of selected video event
for (var tke in evnt.Takes)
{
// find first audio stream in this takes media
var aviFile = new Media(tke.MediaPath);
for (var stream in aviFile.Streams)
{
if (stream.MediaType != MediaType.Audio) continue;
// create new take out of this audio stream
var newTake = new Take(stream,tke.IsActive);
// add it to target audio event (must be done before anything else!!)
audioEvent.Takes.Add(newTake);
// fit offset to video event
newTake.Offset = tke.Offset;
break; // we assume there's only one audio part in any avi file
}
}
audioEvent.Selected = true;
}
}
} catch (e) {MessageBox.Show(e);}
Code: Alles auswählen
import Sony.Vegas;
var evnt : TrackEvent;
for (var currentTrack : Track in Vegas.Project.Tracks)
{
for (var currentEvent : TrackEvent in currentTrack.Events)
{
currentEvent.PlaybackRate = 0.5;
currentEvent.Length = currentEvent.Length + currentEvent.Length;
}
}
Code: Alles auswählen
import Sony.Vegas;
import System.Windows.Forms;
var evnt : TrackEvent;
for (var currentTrack : Track in Vegas.Project.Tracks)
{
for (var currentEvent : TrackEvent in currentTrack.Events)
{
currentEvent.PlaybackRate = 0.5;
currentEvent.Length = currentEvent.Length + currentEvent.Length;
}
}
try
{
for (var track in Vegas.Project.Tracks)
{
var tracktime = track.Events.Item(0).Start;
var Fadelength : Timecode = new Timecode("00:00:00.00");
for (var evnt in track.Events)
{
var currTake : Take = evnt.ActiveTake;
var currOffset : Timecode = evnt.ActiveTake.Offset;
evnt.Start = tracktime;
currTake.Offset = currOffset;
evnt.FadeIn.Length = new Timecode(Fadelength);
evnt.FadeOut.Length = new Timecode(Fadelength);
tracktime = tracktime + evnt.Length;
}
}
}
catch (errorMsg)
{
MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}