I had a little time today to work on Bluff, my extension for Sony Vegas Pro. Over the last couple weeks I’ve done several things to the project, including:
- Converting the project to .NET 3.5 (from 2.0)
- Converting the UI to WPF (still a little cleanup to do on that UI, but it is a lot easier to work with now)
- Add a new command called Arrange Events By Created Timestamp that spaces the events out on the timeline relative to each others created timestamp
- Changed the Vegas DLL reference to a v8 dll (to provide better compatibility form Vegas Pro 8 – 13)
- And last, but not least, I added a WIX based installer to the project
If you just want grab the latest version jump over to the GitHub release page.
If you’d like to hear a little about what I did, then stick around for a minute.
The new Arrange Events By Created Timestamp command is a very useful script I originally wrote years ago to patch together video from three cameras, one of which was continuously running, and the other two had the recoding start and stop several times. I needed to get all the clips in the right vicinity to save time with the editing process. Because the clocks were not exactly synced the clips were still off by seconds, but it took a lot less time to find my clacker or some other identifier to line them up then scanning sometime several minutes of video on the main clip. As I do more diving and have video from both my wife and myself I plan to use it to speed up editing wide and macro shots together.
I was stoked to find that Vegas would indeed run the .NET 3.5 components (it IS all .NET 2.0 after all) and was happy to toss the WinForms I was using out. I still have some work to do to bring the new WPF screens up to where they need to be, but having WPF at my disposal now makes a configuration screen I was dreading trying to make work in WinForms feel much more attainable (the Bezier Motion configuration screen). My plans for the Bezier screen is to provide an actual Bezier curve on screen with movable control points to allow you to visually setup the path you want. I’m really looking forward to being able to use LINQ again, I knew I loved it, but sometimes you don’t realize how big a feature is until you have to write FOR/FOREACH loops for everything!
I really like working with WIX for installers, especially these small projects that just need a file written to the right place. The format is really easy to work with and very well documented. I went from no installer to a simple one with a custom Add/Remove Icon and multi-level install path in about 30 minutes (with testing). I needed to put the DLL in the common application extension folder for Sony Vegas and it was as simple as created nested Directory elements in WIX:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="SONYFOLDER" Name="Sony">
<Directory Id="VEGASPROFOLDER" Name="Vegas Pro">
<Directory Id="INSTALLFOLDER" Name="Application Extensions"/>
I may be looking at installing an MVC website with WIX soon, that should be interesting.