SuperFlyTV / SuperConductor

A playout client for Windows/Linux/macOS that will let you control CasparCG Server, BMD ATEM, OBS Studio, vMix, OSC-compatible devices, HTTP (REST)-compatible devices, and more!
Other
219 stars 12 forks source link

ATEM Constellation 8k not working properly #142

Open yannisgu opened 1 year ago

yannisgu commented 1 year ago

Describe the bug

I'm trying to make SuperConductor to work with the ATEM Constallation 8k.

Screenshot 2023-05-02 at 14 36 55

I can connect to the ATEM, but when I connect, the whole state of the ATEM is reset (e.g. all SuperSource or Upstream Keyers are reseted, all program inputs are set to BLK) and also I don't get any ressource in the rundown view:

Screenshot 2023-05-02 at 14 38 40

I also tried to refresh the available resources but don't get anything.

To Reproduce

  1. Connect SuperConductor with ATEM Constellation 8k
  2. Check ATEM Configuration, which is completly
  3. Go to the Rundown und check the right "Ressources" Sidebar which is completly empty

Expected behavior

Screenshots Added to the desscription

Desktop (please complete the following information):

Additional context

yannisgu commented 1 year ago

I now restarted SuperConductor couple of times and observed different behaviours:

nytamin commented 1 year ago

Thanks for the report!

I don't have a Constellation 8k readily available for testing, so first we need to figure out if your issues are unique to that or if they apply to all/most of the ATEM.

Regarding the whole-ATEM-reset issue

This is a known problem, and is addressed in this issue, Feature request: ATEM "takeover" ON-OFF .

Regarding the missing resources

This might be a tough nut to crack without hands-on fiddling with the Constellation. If you would be able to help troubleshooting this, that would help a lot!

If you where to clone the repo and start it up in dev-mode (npm run start) and add a few console.log's, you might be able to figure out what the issue is.

The resources are fetched here, https://github.com/SuperFlyTV/SuperConductor/blob/84640368b08dda223588ae4f77df15f27f1dd18f/shared/packages/tsr-bridge/src/sideload/Atem.ts#L51 so the problem is probably somewhere in the vicinity of there.

x3rud commented 1 year ago

Hello there,

I made some test, the TRS get stuck on the initialization of the device

superconductor: [1] 2023-05-09T07:23:18.232Z [electron] info: TSR Initializing device sLKrC44P (443) of type ATEM... superconductor: [1] 2023-05-09T07:23:23.769Z [electron] error: TSR device error: Method "init()" aborted due to: Child process "Child_ instance_2427_6sLKrC44P" was closed, Error: Method "init()" aborted due to: Child process "Child instance_2427_6_sLKrC44P" was closed superconductor: [1] at C:\Users\X\Documents\SuperConductor-master\node_modules\threadedclass\dist\parent-process\manager.js:949:27 superconductor: [1] at Array.forEach () superconductor: [1] at ThreadedClassManagerClassInternal.rejectChildMethods (C:\Users\X\Documents\SuperConductor-master\node_modules\threadedclass\dist\parent-process\manager.js:947:36)
superconductor: [1] at ThreadedClassManagerClassInternal._childHasCrashed (C:\Users\X\Documents\SuperConductor-master\node_modules\threadedclass\dist\parent-process\manager.js:673:14) superconductor: [1] at FakeProcess. (C:\Users\X\Documents\SuperConductor-master\node_modules\threadedclass\dist\parent-process\manager.js:766:22) superconductor: [1] at FakeProcess.emit (C:\Users\X\Documents\SuperConductor-master\node_modules\eventemitter3\index.js:201:33) superconductor: [1] at FakeProcess.kill (C:\Users\X\Documents\SuperConductor-master\node_modules\threadedclass\dist\parent-process\workerPlatform\fakeWorker.js:16:14) superconductor: [1] at C:\Users\X\Documents\SuperConductor-master\node_modules\threadedclass\dist\parent-process\manager.js:940:39 superconductor: [1] at new Promise () superconductor: [1] at ThreadedClassManagerClassInternal.killChild (C:\Users\X\Documents\SuperConductor-master\node_modules\threadedclass\dist\parent-process\manager.js:881:16) superconductor: [1] 2023-05-09T07:23:23.770Z [electron] info: TSR Initializing device sLKrC44P (3940) of type ATEM... superconductor: [1] 2023-05-09T07:23:23.843Z [electron] info: TSR Device sLKrC44P (3940) initialized!

If I run the app again in dev mode the resources of the atem are available on the view.

I've just open up the code now I'll going to search the problem.

Julusian commented 1 year ago

@nytamin using https://github.com/LibAtem/AtemUtils/tree/master/AtemMock with one of the data files from https://github.com/nrkno/sofie-atem-connection/tree/master/src/__tests__/connection will give you enough of a constellation to make the atem library (and official software) think its connected to a constelllation 8k, or whatever model you choose.

Or if that doesnt reproduce it, there is a tool https://builds.julusian.dev/atem/ to generate one of those data files from an atem, which would be useful to add as a test case if something is broken in the connection library