Hallo zusammen.
Per Script möchte ich den Surround Kanal bei einem Track auf 'nur LFE' setzen.
Ich bekomme das einfach nicht hin. Hat jemand eine Lösung?
Bisher funktioniert folgendes:
Vorher:
Script 'Stereo2Surround':
/**
 * Program: Stereo2Surround.cs
 * Description: This script will set up and change Stereo to Surround
 * Select one Audio track
 *
 * Revision Date: Sep 03, 2018
 * Author: Werner
 **/
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using ScriptPortal.Vegas;
public class EntryPoint
{
    Vegas myVegas = null;
    List<Track> SurrAudioTrk = new List<Track>();
    private static string[] trkNames = { "frontLeft", "frontRight", "center", "LFE", "rearLeft", "rearRight" };    
	public void FromVegas(Vegas vegas)
    {
        myVegas = vegas;        
	// Collect list of selected audio tracks
        foreach (Track selTrk in myVegas.Project.Tracks)
        {
            if (selTrk.MediaType == MediaType.Audio && selTrk.Selected)
                SurrAudioTrk.Add(selTrk);
        }        
	// leave if no or more then one audio track selected
        if (SurrAudioTrk.Count != 1)
        {
            MessageBox.Show("Please select ONE AUDIO Track.");
            return;
        }
        
	// set up surround bus if not set
        if (AudioBusMode.Stereo == myVegas.Project.Audio.MasterBusMode)
            myVegas.Project.Audio.MasterBusMode = AudioBusMode.Surround;
        
	// rename first audio track to 'frontLeft'
        SurrAudioTrk[0].Name = trkNames[0];
        Track source = SurrAudioTrk[0];
        SurrAudioTrk.Clear();
        
	// https://forums.creativecow.net/docs/forums/post.php forumid=24&postid=942170&univpostid=942170&pview=t
        // Thank you Edward Troxel
        // Create 5 more audio tracks and copy events from source
        int trackIdx = source.Index;
        for (int i = trackIdx + 1, namesIdx = 1; i < trackIdx + 6; i++, namesIdx++)
        {
            Track dest = new AudioTrack(i, trkNames[namesIdx]);
            myVegas.Project.Tracks.Add(dest);            
		// Copy all events into dest tracks
            foreach (TrackEvent evnt in source.Events)
            {
                TrackEvent newEvent = evnt.Copy(dest, evnt.Start);
                AudioEvent audioEvent = (AudioEvent)newEvent;
                
			// Set disable left channel
                if (namesIdx == 1 || namesIdx == 5)
                    audioEvent.Channels = ChannelRemapping.DisableLeft;
                
			// Set disable right channel
                if (namesIdx == 4)
                    audioEvent.Channels = ChannelRemapping.DisableRight;
                
			// CENTER and LFE
                if (namesIdx == 2 || namesIdx == 3)
                    audioEvent.Channels = ChannelRemapping.Mono;
            }
        }
        
	//  Set disable right channel at source track events
        foreach (TrackEvent evnt in source.Events)
        {
            AudioEvent audioEvent = (AudioEvent)evnt;
            audioEvent.Channels = ChannelRemapping.DisableRight;
        }
        
	// find LFE audio track and set surround to 'only LFE'
        foreach (Track lfe in myVegas.Project.Tracks)
        {
            if (lfe.Name == trkNames[3])
            {
                lfe.Selected = true;
                AudioTrack tmpLFE = new AudioTrack(lfe.Index);
                // what can i do??????
                break;
            }
        }
    }
}
Nachher: