Hi I'm Hayden a Mechatronic Engineer / Computer Science Graduate apart of the team at CubePilot.
What I Love
- Designing Stuff
- Building Stuff
- Coding Stuff
Favorite Languages
- TypeScript
- JavaScript
- C++
- Python
- C#
- C
๐ What I Use
A Simple C# Libary for the Black Magic Design ATEM Vision Switcher
Hi I'm Hayden a Mechatronic Engineer / Computer Science Graduate apart of the team at CubePilot.
What I Love
Favorite Languages
๐ What I Use
Hi Hayden,
I believe that your COM object casting problem is because you are not getting events called in the main thread. See the following example from one of BMD's API samples:
m_switcherMonitor = new SwitcherMonitor();
// note: this invoke pattern ensures our callback is called in the main thread. We are making double
// use of lambda expressions here to achieve this.
// Essentially, the events will arrive at the callback class (implemented by our monitor classes)
// on a separate thread. We must marshal these to the main thread, and we're doing this by calling
// invoke on the Windows Forms object. The lambda expression is just a simplification.
m_switcherMonitor.SwitcherDisconnected += new SwitcherEventHandler((s, a) => this.Invoke((Action)(() => SwitcherDisconnected())));
I set up a small test app using your library and got the COM error you described, but after wiring the event handler as described above, the problem was resolved. E.g.
_atem.Inputs.AuxInputs[0].Monitor.InputSourceChanged += new EventHandler((s, a) => this.Invoke((Action)(() => Aux1SourceChanged())));
I note that you haven't worked on this project for a while - have you abandoned it? I am working on an app to control an ATEM TV Studio HD (and a few other things) for my church, and your library is the best starting point I have found for C# development of ATEM control.
Best regards,
Conrad Venn
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.