AV Specialist · Toronto

Broadcast
engineer
building with AI.

I work in live broadcast. I like building things. This is where I document both.

switcher_control.py Preview
AV Server
1from PyATEMMax import ATEMMax
2from channels import BroadcastWebSocket
3
4class SwitcherManager:
5 """Control ATEM switchers via WebSocket"""
6
7 def connect_switchers(self, locations):
8 for site in locations:
9 switcher = ATEMMax()
10 switcher.connect(site.ip)
11 self.devices.append(switcher)
12
13 def set_program(self, device_id, source):
14 switcher = self.get_device(device_id)
15 switcher.setProgramInput(source)
16 self.broadcast('program_changed', {
17 'device': device_id,
18 'source': source,
19 'status': 'live'
20 })
21
22 def execute_macro(self, macro_id):
23 # Run macro across all connected devices
24 for device in self.devices:
25 device.runMacro(macro_id)|
Program
Preview
T-Bar
Projects

Featured Projects

A few highlights from what I've been building.

Journal

Latest Entries