Code Monkey home page Code Monkey logo

atemvisionswitcher-libary's Issues

Event Marshalling

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.