Subs moved into enum.py

Subs now exported
This commit is contained in:
onyx-and-iris 2022-10-26 11:08:24 +01:00
parent f239173edb
commit d4ae72dee5
3 changed files with 47 additions and 23 deletions

View File

@ -1,4 +1,5 @@
from .enum import Subs
from .events import EventClient
from .reqs import ReqClient
__ALL__ = ["ReqClient", "EventClient"]
__ALL__ = ["ReqClient", "EventClient", "Subs"]

43
obsws_python/enum.py Normal file
View File

@ -0,0 +1,43 @@
from enum import IntFlag
class Subs(IntFlag):
GENERAL = 1 << 0
CONFIG = 1 << 1
SCENES = 1 << 2
INPUTS = 1 << 3
TRANSITIONS = 1 << 4
FILTERS = 1 << 5
OUTPUTS = 1 << 6
SCENEITEMS = 1 << 7
MEDIAINPUTS = 1 << 8
VENDORS = 1 << 9
UI = 1 << 10
LOW_VOLUME = (
GENERAL
| CONFIG
| SCENES
| INPUTS
| TRANSITIONS
| FILTERS
| OUTPUTS
| SCENEITEMS
| MEDIAINPUTS
| VENDORS
| UI
)
INPUTVOLUMEMETERS = 1 << 16
INPUTACTIVESTATECHANGED = 1 << 17
INPUTSHOWSTATECHANGED = 1 << 18
SCENEITEMTRANSFORMCHANGED = 1 << 19
HIGH_VOLUME = (
INPUTVOLUMEMETERS
| INPUTACTIVESTATECHANGED
| INPUTSHOWSTATECHANGED
| SCENEITEMTRANSFORMCHANGED
)
ALL = LOW_VOLUME | HIGH_VOLUME

View File

@ -1,11 +1,11 @@
import json
import logging
import time
from enum import IntEnum
from threading import Thread
from .baseclient import ObsClient
from .callback import Callback
from .enum import Subs
"""
A class to interact with obs-websocket events
@ -13,33 +13,13 @@ defined in official github repo
https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#events
"""
Subs = IntEnum(
"Subs",
"general config scenes inputs transitions filters outputs sceneitems mediainputs vendors ui",
start=0,
)
class EventClient:
logger = logging.getLogger("events.eventclient")
DELAY = 0.001
def __init__(self, **kwargs):
defaultkwargs = {
"subs": (
(1 << Subs.general)
| (1 << Subs.config)
| (1 << Subs.scenes)
| (1 << Subs.inputs)
| (1 << Subs.transitions)
| (1 << Subs.filters)
| (1 << Subs.outputs)
| (1 << Subs.sceneitems)
| (1 << Subs.mediainputs)
| (1 << Subs.vendors)
| (1 << Subs.ui)
)
}
defaultkwargs = {"subs": Subs.LOW_VOLUME}
kwargs = defaultkwargs | kwargs
self.base_client = ObsClient(**kwargs)
if self.base_client.authenticate():