Free Transitions A/B Extension - Merry Christmas from JETDV

jetdv wrote on 12/24/2021, 1:01 PM

Here's a new free Custom Command/Extension you can use with a sample XML file written by @jetdv and idea by @a3on. Simply run the attached installer:

http://www.jetdv.com/scripts/TransitionsAB.exe

When you start VEGAS, it will now be under View - Extensions - Transition A/B (Free). Select an event on the timeline, choose the desired entry in the dropdown box, and click on "A" or "B" to add the necessary effects to transition out or in.

Instructions to modify the extension: http://www.jetdv.com/2021/12/24/transitions-a-b-extension-a-free-christmas-gift-for-everyone/

To modify what effects and keyframes are used, you simply need to modify the XML file located at [My Documents]\Vegas Application Extensions\TransitionsAB.config

Two critical lines:

    <init name="NumberOfEffects" value="2" />
    <init name="MaxEntriesInList" value="3" />

These must match the number of effects defined and the number of selections defined. The rest of the lines in that section are just "maximum" values so as long as you stay under the maximum you are fine. But those can be increased if needed.

Defining an effect: each effect is defined individually. You must specify the Name of the effect, the GUID of the effect (The GUID is actually used to add the effect so it MUST be there) and the preset to be used. I included the "num" after the "Effect" simply so you could identify this is effect number 0, the next is effect number 1. That way you won't get confused when setting up the selections but that number is not used anywhere.

    <Effect num="0">
      <Name>Gaussian Blur</Name>
      <GUID>{Svfx:com.vegascreativesoftware:gaussianblur}</GUID>
      <preset>Medium Blur</preset>

To find the GUID, you can use the instructions found in this tutorial: http://www.jetdv.com/2021/06/21/reading-available-effects-transitions-generated-media-and-renderers-in-vegas-pro/

Then you specify one or more parameters in that effect to be modified. You must specify the name of the parameter and then all of the keyframe information for that parameter. You can have up to 5 different parameters unless you increase the "Max" number at the top. I have defined the "A" Parameters to be at the end (transition out) and the "B" Parameters to be at the start (transition in) but it really doesn't matter how you define them. Only DOUBLE Parameters are allowed to be modified at this time!!!!

      <Parameters>
        <Parameter>
          <PName>VerticalRange</PName>
          <AParms>
            <Aparm Location="Start" value="5.0" />
            <Aparm Location="+15" value=".88" />
            <Aparm Location="+60" value="0.0" />
          </AParms>
          <BParms>
            <Bparm Location="Center" value="1.0" />
            <Bparm Location="-3" value=".88" />
            <Bparm Location="End" value=".4" />
          </BParms>
        </Parameter>
        <Parameter>
          <PName>HorizontalRange</PName>
          <AParms>
            <Aparm Location="Start" value="5.0" />
            <Aparm Location="+10" value=".88" />
            <Aparm Location="+30" value="0.0" />
          </AParms>
          <BParms>
            <Bparm Location="-30" value="1.0" />
            <Bparm Location="-10" value=".88" />
            <Bparm Location="End" value=".4" />
          </BParms>
        </Parameter>
      </Parameters>

Here's what the "locations" mean:

"End" place at the end of the event
"Center" place at the center of the event
"Start" place at the beginning of the event
+(timecode) place timecode distance (in frames) from the beginning of the event
-(timecode) place timecode distance (in frames) from the end of the event

Then you must set the "Selections". These are what show up in the dropdown box. This also specifies which of the above effects are used by that selection.

    <Selection>
      <Name>Gaussian Blur + Glow</Name>
      <EffectsToUse>
        <Uses>0</Uses>
        <Uses>1</Uses>
      </EffectsToUse>
    </Selection>

This is a sample selection that uses both of the defined effects. I have it set to allow up to 10 effects but that can also be increased if needed. You just specify one or more "Uses" entries and use the number of the effect. Internally, the effects will be processed starting at the top and working downward. So the first one will be zero, the second one is one, third one is two, etc...

So you can easily change this to use whatever effects, parameters, and keyframes you want to use. Then you can define the selections that use one or more of those defined effects.

Please see here to see it in use:

Check with @a3on for information on his effects list.

Comments

Photo_G wrote on 12/24/2021, 2:01 PM

Thanks so much!!

jetdv wrote on 12/24/2021, 2:24 PM

Ok, per request there's a new version uploaded that allows changing the interpolation per keyframe.

The options you can add are: Fast, Hold, Linear, Sharp, Slow, Smooth, and Split.

        <Parameter>
          <PName>VerticalRange</PName>
          <AParms>
            <AParm Location="Center" value="1.0" Interpolation="Fast" />
            <AParm Location="-3" value=".88" Interpolation="Slow" />
            <AParm Location="End" value=".4" Interpolation="Smooth" />
          </AParms>
          <BParms>
            <BParm Location="Start" value="5.0" Interpolation="Linear" />
            <BParm Location="+15" value=".88" Interpolation="Sharp" />
            <BParm Location="+60" value="0.0" Interpolation="Fast" />
          </BParms>
        </Parameter>

 

Photo_G wrote on 12/24/2021, 5:40 PM

This is a really awesome gift sir! Thanks again!! Happy Holidays indeed!

lan-mLMC wrote on 12/24/2021, 6:15 PM

Hello Jet, I want to say something but I'm afraid it might go too far.

It would be great if the plug-in could read the Fx chain and keyframes (based on time but not frames) already on the event, automatically generate the code into XML, and save a custom name in the pull-down list.

I know that, basically, if do that, this plugin will be a big improvement of the built-in FX Pacakage function, and there will be two advantages over FX Package : 1, the plugin is time-based rather than frame-based, so it works better than built-in FX Package when the project frame rate changes a lot; 

2, When applying transition A or B, it will not remove existing FX of the event. But built-in FX package will do.

If so, this is basically a great optimization and improvement of FX package feature. I am worried that it is not easy to implement and workload, so I just mention it for your reference.

jetdv wrote on 12/25/2021, 8:20 AM

@lan-mLMC, I just uploaded a new version. In this version I added looking for a new entry in the top section. It can now contain:

  <MaxValues>
    <init name="NumberOfEffects" value="3" />
    <init name="MaximumKeyframes" value="10" />
    <init name="MaxEntriesInList" value="4" />
    <init name="MaxEffectsPerListEntry" value="10" />
    <init name="MaxParametersToChange" value="5" />
    <init name="KeyframeOffsetMS" value="1" />
  </MaxValues>

So there's now a new entry you can use. If it's missing, it will use frames as originally defined. If you add this line:

<init name="KeyframeOffsetMS" value="1" />

Then it will use Milliseconds instead of frames. So if you wanted something at -1 second from the end, you would use -1000 as the value now instead of -30 or -24 or -25 and if you changed the project framerate you will then always get 1 second instead of 1 second +/- 6 frames.

That should take care of both 1 and 2 in your post above. As for auto creating the file based on something created on the timeline, that's certainly doable but not in the scope/time of this project. I'm not going to say I'd never add that but it would take more time than I can spare right now to get it to add to the XML file or even create a new XML file.

lan-mLMC wrote on 12/25/2021, 8:53 AM

@lan-mLMC, I just uploaded a new version. In this version I added looking for a new entry in the top section. It can now contain:

  <MaxValues>
    <init name="NumberOfEffects" value="3" />
    <init name="MaximumKeyframes" value="10" />
    <init name="MaxEntriesInList" value="4" />
    <init name="MaxEffectsPerListEntry" value="10" />
    <init name="MaxParametersToChange" value="5" />
    <init name="KeyframeOffsetMS" value="1" />
  </MaxValues>

So there's now a new entry you can use. If it's missing, it will use frames as originally defined. If you add this line:

<init name="KeyframeOffsetMS" value="1" />

Then it will use Milliseconds instead of frames. So if you wanted something at -1 second from the end, you would use -1000 as the value now instead of -30 or -24 or -25 and if you changed the project framerate you will then always get 1 second instead of 1 second +/- 6 frames.

That's great! Thank you so much!  In 30 fps -> 60fps (even 120fps) project, the deviation of FX package is huge.

That should take care of both 1 and 2 in your post above. As for auto creating the file based on something created on the timeline, that's certainly doable but not in the scope/time of this project. I'm not going to say I'd never add that but it would take more time than I can spare right now to get it to add to the XML file or even create a new XML file.

Absolutely!

By the way, only need to detect the parameters whose current value is different from the default value (I'm not sure whether there is a api to get parameter's default value), or the parameters which contain keyframes. Then ask user to save this fx chain as A or B, and prompt the user to input this transition name.

.

Finally, I am wondering if the current extension can change the value of parameter in static mode (without generating keyframes). If can do that, that will be great and contributes to the simplicity of keyframe Lanes. And thanks again!

jetdv wrote on 12/25/2021, 9:03 AM

@lan-mLMC, changing a parameter without keyframes is certainly doable. However, this extension is assuming you want multiple keyframes. You could, essentially, do what you want by setting a single keyframe at the "Start" position but it will still add the lane. However, you could then click on the "red clock" beside that parameter and it will close the lane but keep the value that was set.

Reyfox wrote on 1/4/2022, 6:05 AM

My last functioning brain cell says this is way above it's capacity. But I find it very interesting! Thanks for sharing this!

Newbie😁

Vegas Pro 22 (VP18-21 also installed)

Win 11 Pro always updated

AMD Ryzen 9 5950X 16 cores / 32 threads

32GB DDR4 3200

Sapphire RX6700XT 12GB Driver: 25.3.1

Gigabyte X570 Elite Motherboard

Panasonic G9, G7, FZ300

jetdv wrote on 1/6/2022, 9:44 PM

@lan-mLMC, all the updates are posted above. Original release in post 1.

Update 1: allows changing the interpolation per keyframe. The options you can add are: Fast, Hold, Linear, Sharp, Slow, Smooth, and Split.

Update 2: There's now a new entry you can use. If it's missing, it will use frames as originally defined. If you add this line:

<init name="KeyframeOffsetMS" value="1" />

Then it will use Milliseconds instead of frames. So if you wanted something at -1 second from the end, you would use -1000 as the value now instead of -30 or -24 or -25

jetdv wrote on 1/6/2022, 11:14 PM

Yes, each of the updates made it a little bit bigger. This is the details of the last installer made:

m3lquixd wrote on 1/27/2023, 8:05 AM

Hello Jet, I want to say something but I'm afraid it might go too far.

It would be great if the plug-in could read the Fx chain and keyframes (based on time but not frames) already on the event, automatically generate the code into XML, and save a custom name in the pull-down list.

I know that, basically, if do that, this plugin will be a big improvement of the built-in FX Pacakage function, and there will be two advantages over FX Package : 1, the plugin is time-based rather than frame-based, so it works better than built-in FX Package when the project frame rate changes a lot; 

2, When applying transition A or B, it will not remove existing FX of the event. But built-in FX package will do.

If so, this is basically a great optimization and improvement of FX package feature. I am worried that it is not easy to implement and workload, so I just mention it for your reference.


@jetdv Still thinking about bringing this feature? 😁😁

About me:
Hi! Melqui Calheiros Here. I've been using Vegas as my only video editor for over 10 years. I edit professionally for various influencers, public bodies and small businesses. My goal is to squeeze Vegas to the fullest! And end the prejudice that software has here in Brazil.

⬇️ Some of my jobs. ⬇️
https://www.vegascreativesoftware.info/us/forum/post-your-vegas-creations--109464/?page=37#ca872169

PC Specs:
Operating System:
    Windows 11 Pro 64-bit
CPU:
    AMD Ryzen 7 5700G 3.80 GHz
RAM:
    32,0GB Dual-Channel DDR4 3200MHz
Motherboard:
    ASRock B450M Steel Legend (AM4)
Graphics:
    MSI RTX 4060 Ventus 2X Black OC 8GB
Storage:
    476GB ADATA SU650 (SATA (SSD))
    931GB KINGSTON SNV2S1000G (SATA-2 (SSD))

m3lquixd wrote on 1/27/2023, 8:10 AM

@jetdv For me it is very complicated to create transitions by codes in a notepad. I don't understand programming/scripting.
It would be interesting if we could create directly in Vegas and the script converted to code in XML and saved. I don't know if this is really possible.

About me:
Hi! Melqui Calheiros Here. I've been using Vegas as my only video editor for over 10 years. I edit professionally for various influencers, public bodies and small businesses. My goal is to squeeze Vegas to the fullest! And end the prejudice that software has here in Brazil.

⬇️ Some of my jobs. ⬇️
https://www.vegascreativesoftware.info/us/forum/post-your-vegas-creations--109464/?page=37#ca872169

PC Specs:
Operating System:
    Windows 11 Pro 64-bit
CPU:
    AMD Ryzen 7 5700G 3.80 GHz
RAM:
    32,0GB Dual-Channel DDR4 3200MHz
Motherboard:
    ASRock B450M Steel Legend (AM4)
Graphics:
    MSI RTX 4060 Ventus 2X Black OC 8GB
Storage:
    476GB ADATA SU650 (SATA (SSD))
    931GB KINGSTON SNV2S1000G (SATA-2 (SSD))

jetdv wrote on 1/27/2023, 12:30 PM

Honestly, no I have not put any more thought into that. It's only useful if you are using multiple effects and presets to create a transition. Personally, I like using a single transition to create a transition (or just use a cut or crossfade).

jetdv wrote on 1/27/2023, 12:33 PM

The XML file only lists effects and presets used and the creates options to pick that add one or more of those effects/presets and the effects/ presets can be used by more than one choice.

m3lquixd wrote on 1/27/2023, 12:59 PM

@jetdv Not necessarily to use multiple effects. And yes to create the keyframes in an easier way by Vegas itself. Instead of creating through notepad.

About me:
Hi! Melqui Calheiros Here. I've been using Vegas as my only video editor for over 10 years. I edit professionally for various influencers, public bodies and small businesses. My goal is to squeeze Vegas to the fullest! And end the prejudice that software has here in Brazil.

⬇️ Some of my jobs. ⬇️
https://www.vegascreativesoftware.info/us/forum/post-your-vegas-creations--109464/?page=37#ca872169

PC Specs:
Operating System:
    Windows 11 Pro 64-bit
CPU:
    AMD Ryzen 7 5700G 3.80 GHz
RAM:
    32,0GB Dual-Channel DDR4 3200MHz
Motherboard:
    ASRock B450M Steel Legend (AM4)
Graphics:
    MSI RTX 4060 Ventus 2X Black OC 8GB
Storage:
    476GB ADATA SU650 (SATA (SSD))
    931GB KINGSTON SNV2S1000G (SATA-2 (SSD))

Time-Tree wrote on 7/11/2024, 5:30 PM

@jetdv For me it is very complicated to create transitions by codes in a notepad. I don't understand programming/scripting.
It would be interesting if we could create directly in Vegas and the script converted to code in XML and saved. I don't know if this is really possible.

That would be nice if they ever decided to add that, because I definitely feel like there's certain transitions I want, although can't and don't know how to convert them into code form.