Skip to content
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

Support on M/E 2 #81

Open
LOGANO1 opened this issue Apr 17, 2023 · 2 comments
Open

Support on M/E 2 #81

LOGANO1 opened this issue Apr 17, 2023 · 2 comments

Comments

@LOGANO1
Copy link

LOGANO1 commented Apr 17, 2023

Is it Possible to change the Code so it takes the Tally data of an M/E 2 Mixer from the ME2 and not the Main ME (ME1)

@AronHetLam
Copy link
Owner

As I've only really worked with an ATEM mini I'm not entirely sure what you mean. Most likely because I'm not sure how M/E 2 works exactly.
I assume that all video inputs would go to both ME's. If so, I would assume that tally indication is pr. Input source, and not pr. ME. Indicating to the camera operator that they are live regardless of what ME they're live on.
Please correct me if I'm wrong.

Else, have you built some tally units already you can demonstrate your issue with?

@Kent461
Copy link

Kent461 commented Dec 6, 2024

It is possible to get Program and Preview on each M/E.
Your assumption is correct that all inputs are available to both M/Es
This is a code snippet that I used for a more simple program than yours. Mine was written for the M5 Atom, the coding is not pretty but it works.
Source 0 is M/E1 and Source 1 is M/E2. It should work similar for the large 4M/E units as well.

int ProgramTallyme2 = AtemSwitcher.getProgramInputVideoSource(1);
//delay(5);
int ProgramTallyme1 = AtemSwitcher.getProgramInputVideoSource(0);
// delay(5);
int PreviewTallyme2 = AtemSwitcher.getPreviewInputVideoSource(1);
// delay(5);
int PreviewTallyme1 = AtemSwitcher.getPreviewInputVideoSource(0);

if ((ProgramTallyme2Previous != ProgramTallyme2) || (ProgramTallyme1Previous != ProgramTallyme1) || (PreviewTallyme2Previous != PreviewTallyme2) || (PreviewTallyme1Previous != PreviewTallyme1))
{ // changed?
if ((ProgramTallyme2 == cameraNumber) || (ProgramTallyme1 == cameraNumber))
{ // only program, or program AND preview
fillDisplay(GRB_COLOR_RED);
// delay(5);
}

else if ((PreviewTallyme2 == cameraNumber && ProgramTallyme2 != cameraNumber) || (PreviewTallyme1 == cameraNumber && ProgramTallyme1 != cameraNumber))
{ // only preview
  fillDisplay(GRB_COLOR_GREEN);
 // delay(5);
}

else if (PreviewTallyme2 != cameraNumber && ProgramTallyme2 != cameraNumber && PreviewTallyme1 != cameraNumber && ProgramTallyme1 != cameraNumber)
{ // neither
  fillDisplay(GRB_COLOR_GREY);
 // delay(5);
}

In my case I use one M/E for my inhouse feed and the other M/E for my broadcast feed.
It may be beyond my programming skills but I would like to modify your code to be able to do 2 M/Es.

I like to use Grey (actually dark blue) instead of off when a camera is neither Program or Preview, but that is more a personal preference.

Any hints on modifying your code would be appreciated.
Thanks, Kent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants