Comments

ForumAdmin wrote on 9/27/2007, 7:27 AM
You can just add a few lines to the FillTemplateTree function:



void FillTemplateTree()
{
AudioChannelFlags monoFlags = AudioChannelFlags.SpeakerFrontLeft;
AudioChannelFlags stereoFlags = (AudioChannelFlags.SpeakerFrontLeft|AudioChannelFlags.SpeakerFrontRight);
bool isProjectStereo = AudioBusMode.Stereo == myVegas.Project.Audio.MasterBusMode;
bool hasVideo = ProjectHasVideo();
foreach (Renderer renderer in myVegas.Renderers) {
try {
String rendererName = renderer.FileTypeName;
TreeNode rendererNode = new TreeNode(rendererName);
rendererNode.Tag = new RenderItem(renderer, null, null);
foreach (RenderTemplate template in renderer.Templates) {
try {
// filter out video templates when project has
// no video.
if (!hasVideo && (0 < template.VideoStreamCount)) {
continue;
}
// filter out surround templates when project
// is stereo.
if (isProjectStereo) {
AudioChannelFlags channelMask = template.AudioChannelFlags;
if ((monoFlags != channelMask) && (stereoFlags != channelMask)) {
continue;
}
}
// filter out templates that don't have
// exactly one file extension
String[] extensions = template.FileExtensions;
if (1 != extensions.Length) {
continue;
}
String templateName = template.Name;
TreeNode templateNode = new TreeNode(templateName);
templateNode.Tag = new RenderItem(renderer, template, extensions[0]);



// pre-select the default wave template
if ((renderer.Name == "Wave (Microsoft)") && (template.Name == "Default Template"))
{
rendererNode.Checked = true;
templateNode.Checked = true;
}



rendererNode.Nodes.Add(templateNode);
} catch (Exception e) {
// skip it
MessageBox.Show(e.ToString());
}
}
if (0 < rendererNode.Nodes.Count)
TemplateTree.Nodes.Add(rendererNode);
} catch {
// skip it
}
}
}


Just replace the FillTemplateTree function in your version of Batch Render.cs with the code above.