-
Notifications
You must be signed in to change notification settings - Fork 41
TallyServer
his TallyServer library allows Clients running Skaarhoj's (https://skaarhoj.com) ATEM libraries for Arduino to connect and retrieve tally data. This is useful as ATEM switchers only allow for 5-8 connections (depending on the model), and you might need more tally lights than that.
This library can also be used for creating a tally system for other platforms, if you get tally data from another data source and use this librabry to transmit the data to your tally lights. Again, the tally lights need to run Skaarhoj's ATEM libraries for Arduino.
The library supports:
- Arduino boards with an Ethernet module or ESP8266 WiFi module.
- Stand Alone ESP8266 modeules.
- Stand Alone ESP32 modules. (Skaarhoj's libraries doesn't support this natively. Use my version of the ATEMbase library that fixes this)
The default constructor limits the TallyServer to accept 5 clients, as this is what the ESP8266 can handle. By using the TallyServer(int maxClients) constructor you can raise the limit, as an ESP32 would be able to handle more clients at once, as it's a more powerful microprocessor.
Documentation for public methods (to be used in Arduino sketches)
Default constructor.
Contruct TallyServer with default capacity of 5 clients.
Construct TallyServer with a set max capacity of clients connected.
int maxClients: The max amount of clients to allow simultaniously.
Begin tally server, letting other tally lights connect to it in runLoop().
Disable tally server, disconnecting all tally lights currently connected.
Handle data transmission and connections to clients.
It's important that this is called all the time in your loop(), as else clients will disconnect.
Set the number of tally sources to send to clients. Must be less than 41.
uint8_t tallySources: The amount of tally sources to send to clients.
Set a tally flag to send to clients in runLoop().
uint8_t tallyIndex: The tally index to set tally flag for. 0 indexed.
uint8_t tallyFlag: The tally flag value.
Flag value | Flag meaning |
---|---|
0 | No tally |
1 | Program |
2 | Preview |
3 | Both program and preview |
Note: The updated falgs wont be sent until runLoop() is called, so you can safely update multiple falgs before sending the updated state.
Set all Tally Flags to 0 (No tally)