-
Notifications
You must be signed in to change notification settings - Fork 43
feat: Run order groups for ATEM commands #178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Julusian
merged 4 commits into
Sofie-Automation:main
from
rjmunro:rjmunro/atem-run-order-groups
Nov 11, 2025
Merged
feat: Run order groups for ATEM commands #178
Julusian
merged 4 commits into
Sofie-Automation:main
from
rjmunro:rjmunro/atem-run-order-groups
Nov 11, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Merged
4 tasks
jstarpl
requested changes
Sep 24, 2025
Contributor
jstarpl
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, but test suites need updating to match the new structure before this can be merged.
Julusian
reviewed
Sep 30, 2025
nytamin
reviewed
Sep 30, 2025
29b2cf0 to
fc1db88
Compare
fc1db88 to
7e786dd
Compare
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Only batch operations with the same runOrderGroup, then run them lowest first. When not specified, defaults to 0, so to run before other commands use a negative value.
feaa0de to
0b66b34
Compare
Julusian
reviewed
Nov 11, 2025
Julusian
reviewed
Nov 11, 2025
E.g. when used as a dependency like in yarn with something like:
"resolutions": {
"atem-connection": "github:Sofie-automation/sofie-atem-connection#branchname"
},
0b66b34 to
5f63cd4
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About the Contributor
This pull request is posted on behalf of the BBC.
Type of Contribution
This is a Feature
It's required for the following bugfix: Sofie-Automation/sofie-atem-state#37.
Current Behavior
Commands sent to an ATEM are batched where possible. You cannot control which batch they go in. Additionally the ATEM firmware sometimes seems to execute things out of order within a batch.. On some occasions, order is important, for example when setting up and switching on a key it's important not to switch it on until after it's input are all set. Also when switching it off, it's important not to make any other changes until after it has switched off.
New Behavior
You can set a runOrderGroup property on an ATEM command. This is a number. Commands will only be batched if they are in the same group. Groups will be run in numerical order. Default is 0, so you can use a positive number to run something after other commands (such as turning on a key after sending it's settings), or a negative number to ensure it happens first (such as turning off a key before changing settings).
Testing Instructions
This will be easiest to test in conjunction with the corresponding PR in ATEM-state.
Other Information
A minor version bump and release will be needed as this adds new API surface. It is backwards compatible as a default is provided which won't change behaviour.
VSCode was showing syntax problems for me because the build target for typescript was older than some of the library features being used, so I bumped the version to match
@sofie-automation/code-standard-preset. I didn't upgrade the dependency on that project because that caused other issues which will need addressing.Status