I have been attempting the same thing in Wirecast 8 Pro (Windows) but found that the examples in the documentation are very sparse and no 'full' examples with complete class/method bodies.

There are some methods and properties available for reference but when I take the example code into a C# project, the Visual Studio compiler complains about 'Marshal' does not contain a definition for 'GetActiveObject' and doesn't even recognize the Late static method. Is there another resource that can help with these kinds of things?

I'm trying to do CLI as SD is. We're currently running Wirecast 8 Pro on macOS with a PowerShell module I wrote (with AppleScript) to handle a lot of features but because of OS issues, we want to move to Windows, hence the C# changeover.

AH - I looked into the API and in particular apple script... The available capabilities have not been updated in many years leaving the current capabilities unsuitable for my needs. Having said that, I would be interested to know more about what you have done previously.

Moving on to your question however, the documentation is pretty light-on. No more examples available from what I have found.

Sorry that we don't provide more detailed scripting examples or support. Perhaps we need an area for user to user support.

Agree - that would be helpful. I did build the wiki with that intent - but I've not had time to load up content that I've already got in various pieces.

Some time back, I did some reverse engineering to try to understand the areas that are not well documented and/or where questions like this have gone unanswered.

I have not yet documented what each of them are, but it is a starting point. It was my goal to document the various elements that are valid in the XML data structure - but I want to wrap up some of the outstanding bugs with my usage of the standard product first. But thats another topic.

The first set of data below is what I understand to be XML parameters being loaded into a data structure during startup of Wirecast.

In addition to this, there was a bunch of other attributes scattered throughout the application that are listed below for reference. Not all of these items are valid in XML, but they are associated with the same data structure within Wirecast.

Some of the ones I am interested in are for example are end_scale and end_position. From what I am guessing, these might be not used in 10.x - but may be previous artefacts from when earlier versions of Wirecast allowed build in for shots... I am assuming these will be in use again in future versions.

Please allow me to present the PowerShell module and elaborate on the importance of moving our environment to Windows.

The PowerShell (Core) module I wrote is designed for multi-tracking (requires 8 Pro). It only handles simple functions, like start/stop streaming, changing shots in layers, and a number of asset processing features including creating single-track masters, creating and tagging MP3s, uploading to Vimeo, getting active TCP connections from Wirecast, and more. Right now there is a problem with the MP3 creation that we're trying to iron out.

Why I Need It To Work On Windows

The module was working great but we've constantly worked against network-related issues in macOS for years. This module automates the cleanup I had to do manually but when the OS isn't working, the automation breaks.

The latest update (automatically installed) for High Sierra causes the Thunderbolt Ethernet connection to not work at all. Connection attempts are made to a local server (for SMB transfers) but after a timeout, an error is thrown. Sometimes it works by IP (instead of DNS) but it crawls and eventually disconnects. Nothing has changed on this system and we haven't identified the fix. Connect that same ethernet cable to the Ethernet port, and all is well.

Since day 1 with this iMac (late 2013), we've had numerous network-related issues, including stale shares which when automatically remounted, were named with "-1", so our automation scripts failed because they were looking for /Volumes/share when it was actually /Volumes/share-1. We're also experiencing where an old cached version of the PowerShell module is suddenly used during processing (though a fresh copy is imported during each execution). This requires a safe boot restart to clear the cache for most of our issues to go away - a huge hassle.

After so many elementary features not working in macOS, I would prefer to port everything to Windows where these types of issues don't exist (renamed SMB mounts, cached module, and so on...).

Using PowerShell is native and supports classes, or one can compile their own PowerShell cmdlets which is what I am trying to work on. Hence, I am stuck as per my initial post.

I was planning to post the module on Github but there is more housekeeping to finish first. Once I get to that point, I can follow up with you if it can be of use.

I won't try to convince you - It seems like a lot of history there. As an exclusive mac user, I have none of the problems you listed. I am a network engineer by trade years ago... Perhaps there was something that could have changed before to fix your issues.