nrkno / sofie-atem-connection

Sofie ATEM Connection: A Part of the Sofie TV Studio Automation System
https://github.com/nrkno/Sofie-TV-automation/
MIT License
129 stars 36 forks source link

feat: atem tvs hd8 audio routing SOFIE-2512 #146

Closed Julusian closed 1 year ago

Julusian commented 1 year ago

feature

This implements the functionality in this menu: image_480

Providing both an object describing the available outputs, and an object describing the available sources.

I have found one bug with this implementation, where setting the names often leaves 'garbage' characters after the new name. perhaps something is missing a null termination? This bug also happens when using the official SDK (in C#), so it is likely to be a bug in the ATEM.

I have given this a quick test against an TVS HD8, and it got the correct state updates, and responded as expected to any commands.

This could do with some helper methods/thought on how to generate the source/output ids nicely. It might be as simple as a function which combines the sourceId/outputId and channels into the full id number, or maybe we can do more to make the sourceId/outputId more friendly

codecov-commenter commented 1 year ago

Codecov Report

Patch coverage: 97.75% and project coverage change: +0.17 :tada:

Comparison is base (4e26777) 86.27% compared to head (0ef7cec) 86.45%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #146 +/- ## ========================================== + Coverage 86.27% 86.45% +0.17% ========================================== Files 174 177 +3 Lines 5595 5684 +89 Branches 928 937 +9 ========================================== + Hits 4827 4914 +87 - Misses 748 750 +2 Partials 20 20 ``` | [Impacted Files](https://app.codecov.io/gh/nrkno/sofie-atem-connection/pull/146?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nrkno) | Coverage Δ | | |---|---|---| | [...mands/Fairlight/AudioRouting/AudioRoutingSource.ts](https://app.codecov.io/gh/nrkno/sofie-atem-connection/pull/146?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nrkno#diff-c3JjL2NvbW1hbmRzL0ZhaXJsaWdodC9BdWRpb1JvdXRpbmcvQXVkaW9Sb3V0aW5nU291cmNlLnRz) | `96.77% <96.77%> (ø)` | | | [...mands/Fairlight/AudioRouting/AudioRoutingOutput.ts](https://app.codecov.io/gh/nrkno/sofie-atem-connection/pull/146?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nrkno#diff-c3JjL2NvbW1hbmRzL0ZhaXJsaWdodC9BdWRpb1JvdXRpbmcvQXVkaW9Sb3V0aW5nT3V0cHV0LnRz) | `96.87% <96.87%> (ø)` | | | [src/commands/Fairlight/AudioRouting/index.ts](https://app.codecov.io/gh/nrkno/sofie-atem-connection/pull/146?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nrkno#diff-c3JjL2NvbW1hbmRzL0ZhaXJsaWdodC9BdWRpb1JvdXRpbmcvaW5kZXgudHM=) | `100.00% <100.00%> (ø)` | | | [src/commands/Fairlight/index.ts](https://app.codecov.io/gh/nrkno/sofie-atem-connection/pull/146?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nrkno#diff-c3JjL2NvbW1hbmRzL0ZhaXJsaWdodC9pbmRleC50cw==) | `100.00% <100.00%> (ø)` | | | [src/enums/index.ts](https://app.codecov.io/gh/nrkno/sofie-atem-connection/pull/146?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nrkno#diff-c3JjL2VudW1zL2luZGV4LnRz) | `100.00% <100.00%> (ø)` | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.