The following script will not fix the new BCC+ Denoise ML, but bypass it so you can at least view and edit the timeline without almost coming to a halt... It is based on JETDV scripts turning Effects on/off with a few differences:
1) The bypass does not target all the FX effects on/off, but targets a particular effect only BCC+ Denoise ML, leaving other FX's untouched (by adapting the script you can replace the effect by another if you want)
2) the bypass does not toggle the effect on/off but rather turns it off (I got a similar script for turning it back on)
3) it works on FX placed on video track FX and FX placed on video events (I did not add it on media FX).
/**
NoSlowFX
------------------------------------------
This script will:
bypass a specific FX in all trackFX and eventFX
in this case the slow denoiseFX from Boris: "BCC+Denoise ML"
----------------------------------------------
Based on JETDV scripts turning Effects on/off
----------------------------------------------
Written By: bitman
version 1.0
Last Modified: 27 November 2023
**/
using System;
using System.Collections.Generic;
using System.Collections;
using System.IO;
using System.Text;
using System.Windows.Forms;
using System.Globalization;
using System.Drawing;
using System.Runtime;
using System.Xml;
using ScriptPortal.Vegas;
namespace Test_Script
{
public class NoSlowFX
{
public Vegas myVegas;
public void Main(Vegas vegas)
{
myVegas = vegas;
// plugInName = define the FX here you want to toggle on/off
// e.g. string plugInName ="BCC Type On Text";
// e.g. " BCC+DeNoise ML"; -> note this one needs a space before effect name
//
string plugInName =" BCC+DeNoise ML";
string effectNameInEvent = "no FX found";
string effectNameInTrack = "no FX found";
bool fxFound = false;
// bypass specific track FX in each track if needed
foreach(Track track in myVegas.Project.Tracks)
{
if (track.IsVideo())
{
VideoTrack vTrack = (VideoTrack)track;
foreach(Effect tfx in vTrack.Effects)
{
effectNameInTrack = tfx.Description;
//keep to find correct name of FX
//MessageBox.Show("Found: " + effectNameInTrack + "\n" + "Target: " + plugInName);
if (effectNameInTrack == plugInName)
{
fxFound = true;
tfx.Bypass = true;
//tfx.Bypass = !tfx.Bypass; //togggle
}
}
// bypass specific event FX in each track if needed
foreach(TrackEvent evnt in vTrack.Events)
{
VideoEvent vevnt = (VideoEvent)evnt;
foreach(Effect fx in vevnt.Effects)
{
effectNameInEvent = fx.Description;
//keep to find correct name of FX
//MessageBox.Show("Found: " + effectNameInEvent + "\n" + "Target: " + plugInName);
if (effectNameInEvent == plugInName)
{
fxFound = true;
fx.Bypass = true;
//fx.Bypass = !fx.Bypass; //togggle
}
}
}
}
}
if (fxFound)
{
MessageBox.Show("All " + plugInName + " are bypassed in eventFX and trackFX");
} else {
MessageBox.Show(" " + plugInName + " NOT (!) found in eventFX or trackFX");
}
}
}
}
public class EntryPoint
{
public void FromVegas(Vegas vegas)
{
Test_Script.NoSlowFX test = new Test_Script.NoSlowFX();
test.Main(vegas);
}
}