module Obsctl::OBS::Protocol::EventSubscription

Overview

obs-websocket event subscription bit masks.

Defined in:

obsctl/obs/protocol/event_subscription.cr

Constant Summary

ALL = ((((((((((GENERAL | CONFIG) | SCENES) | INPUTS) | TRANSITIONS) | FILTERS) | OUTPUTS) | SCENE_ITEMS) | MEDIA_INPUTS) | VENDORS) | UI) | CANVASES
CANVASES = 1 << 11
CONFIG = 1 << 1
FILTERS = 1 << 5
GENERAL = 1 << 0
INPUT_ACTIVE_STATE_CHANGED = 1 << 17
INPUT_SHOW_STATE_CHANGED = 1 << 18
INPUT_VOLUME_METERS = 1 << 16
INPUTS = 1 << 3
MEDIA_INPUTS = 1 << 8
NONE = 0
OUTPUTS = 1 << 6
SCENE_ITEM_TRANSFORM_CHANGED = 1 << 19
SCENE_ITEMS = 1 << 7
SCENES = 1 << 2
SERVER_DEFAULT = (((GENERAL | CONFIG) | SCENES) | INPUTS) | OUTPUTS

Every category the supervisor's event handler acts on. obs-websocket only delivers an event to clients subscribed to its category, so a missing bit here silently turns the matching handler arm into dead code: OUTPUTS is what carries StreamStateChanged, and without it a stream started from the OBS UI or another client never reached daemon state. Keep this in sync with ObsSupervisor#apply_event.

TRANSITIONS = 1 << 4
UI = 1 << 10
VENDORS = 1 << 9