Fix for slow BCC+ Denoise ML

bitman wrote on 11/29/2023, 4:00 AM

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);
    }
}

 

APPS: VIDEO: VP 365 (21 - build 187), VP 365 20, VP 19 post (latest build -651), (uninstalled VP 12,13,14,15,16 Suite,17, VP18 post), Vegasaur, a lot of NEWBLUE plugins, Mercalli 6.0, Respeedr, Vasco Da Gamma 16 HDpro XXL, Boris Continuum 2024, Davinci Resolve Studio 18, SOUND: RX 10 advanced Audio Editor, Sound Forge Pro 17, Spectral Layers Pro 10, Audacity, FOTO: Zoner, DXO, Luminar, Topaz...

  • OS: Windows 11 Pro 64, version 23H2 (November 2023)
  • CPU: i9-13900K (upgraded my former CPU i9-12900K), Air Cooler: Noctua NH-D15s
  • RAM: DDR5 Corsair 64GB (5600-40 Vengeance)
  • Graphics card: ASUS GeForce RTX 3090 TUF OC GAMING (24GB) 
  • Monitor: LG 38 inch ultra-wide (21x9) - Resolution: 3840x1600
  • C-drive: Corsair MP600 PRO XT NVMe SSD 4TB (PCIe Gen. 4)
  • Video drives: Samsung NVMe SSD 2TB (980 pro and 970 EVO plus) each 2TB
  • Mass Data storage & Backup: WD gold 6TB + WD Yellow 4TB
  • MOBO: Gigabyte Z690 AORUS MASTER
  • PSU: Corsair HX1500i, Case: Fractal Design Define 7 (PCGH edition)
  • Misc.: Logitech G915, Evoluent Vertical Mouse, shuttlePROv2

 

 

Comments

bitman wrote on 11/29/2023, 4:02 AM

The next script is to re-enable all the bypassed BCC+Denoise ML

/**
SlowFX
 ------------------------------------------ 
 This script will: 
 re-enable a bypassed 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 = false;
                            //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 = false;
                                //fx.Bypass = !fx.Bypass; //togggle
                            }
                        }
                    }
                }
            }
            if (fxFound)
            {    
                MessageBox.Show("All " + plugInName + " are ACTIVE again 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);
    }
}

APPS: VIDEO: VP 365 (21 - build 187), VP 365 20, VP 19 post (latest build -651), (uninstalled VP 12,13,14,15,16 Suite,17, VP18 post), Vegasaur, a lot of NEWBLUE plugins, Mercalli 6.0, Respeedr, Vasco Da Gamma 16 HDpro XXL, Boris Continuum 2024, Davinci Resolve Studio 18, SOUND: RX 10 advanced Audio Editor, Sound Forge Pro 17, Spectral Layers Pro 10, Audacity, FOTO: Zoner, DXO, Luminar, Topaz...

  • OS: Windows 11 Pro 64, version 23H2 (November 2023)
  • CPU: i9-13900K (upgraded my former CPU i9-12900K), Air Cooler: Noctua NH-D15s
  • RAM: DDR5 Corsair 64GB (5600-40 Vengeance)
  • Graphics card: ASUS GeForce RTX 3090 TUF OC GAMING (24GB) 
  • Monitor: LG 38 inch ultra-wide (21x9) - Resolution: 3840x1600
  • C-drive: Corsair MP600 PRO XT NVMe SSD 4TB (PCIe Gen. 4)
  • Video drives: Samsung NVMe SSD 2TB (980 pro and 970 EVO plus) each 2TB
  • Mass Data storage & Backup: WD gold 6TB + WD Yellow 4TB
  • MOBO: Gigabyte Z690 AORUS MASTER
  • PSU: Corsair HX1500i, Case: Fractal Design Define 7 (PCGH edition)
  • Misc.: Logitech G915, Evoluent Vertical Mouse, shuttlePROv2

 

 

jetdv wrote on 11/29/2023, 9:40 AM

@bitman, you mentioned you did not do MediaFX. There's actually a fourth place too where the effects can be added... the PROJECT level...

In many ways it's safer to have two separate scripts - one for off and one for on - rather than toggle. Especially if you've manually turned any on or off. This will make sure they're either ALL on, or ALL off!

bitman wrote on 11/29/2023, 10:28 AM

@jetdv Indeed, I do not think I ever used MediaFX, nor Project Level FX. Not sure if I will eighter; unless there is a very good reason or a particular FX that would especially benefit from it.

APPS: VIDEO: VP 365 (21 - build 187), VP 365 20, VP 19 post (latest build -651), (uninstalled VP 12,13,14,15,16 Suite,17, VP18 post), Vegasaur, a lot of NEWBLUE plugins, Mercalli 6.0, Respeedr, Vasco Da Gamma 16 HDpro XXL, Boris Continuum 2024, Davinci Resolve Studio 18, SOUND: RX 10 advanced Audio Editor, Sound Forge Pro 17, Spectral Layers Pro 10, Audacity, FOTO: Zoner, DXO, Luminar, Topaz...

  • OS: Windows 11 Pro 64, version 23H2 (November 2023)
  • CPU: i9-13900K (upgraded my former CPU i9-12900K), Air Cooler: Noctua NH-D15s
  • RAM: DDR5 Corsair 64GB (5600-40 Vengeance)
  • Graphics card: ASUS GeForce RTX 3090 TUF OC GAMING (24GB) 
  • Monitor: LG 38 inch ultra-wide (21x9) - Resolution: 3840x1600
  • C-drive: Corsair MP600 PRO XT NVMe SSD 4TB (PCIe Gen. 4)
  • Video drives: Samsung NVMe SSD 2TB (980 pro and 970 EVO plus) each 2TB
  • Mass Data storage & Backup: WD gold 6TB + WD Yellow 4TB
  • MOBO: Gigabyte Z690 AORUS MASTER
  • PSU: Corsair HX1500i, Case: Fractal Design Define 7 (PCGH edition)
  • Misc.: Logitech G915, Evoluent Vertical Mouse, shuttlePROv2

 

 

jetdv wrote on 11/29/2023, 10:36 AM

There *are* cases. For example, suppose you had a full edited project and now need the timecode embedded for a customer to reference to make changes. That's a perfect case for a Project level effect.

Suppose you need specific color changes to this one video clip that's used throughout the project, that's a perfect case for a Media level effect.

However, as you've said, I've hardly ever used either.