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 .events import EventClient
from .reqs import ReqClient 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 json
import logging import logging
import time import time
from enum import IntEnum
from threading import Thread from threading import Thread
from .baseclient import ObsClient from .baseclient import ObsClient
from .callback import Callback from .callback import Callback
from .enum import Subs
""" """
A class to interact with obs-websocket events 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 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: class EventClient:
logger = logging.getLogger("events.eventclient") logger = logging.getLogger("events.eventclient")
DELAY = 0.001 DELAY = 0.001
def __init__(self, **kwargs): def __init__(self, **kwargs):
defaultkwargs = { defaultkwargs = {"subs": Subs.LOW_VOLUME}
"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)
)
}
kwargs = defaultkwargs | kwargs kwargs = defaultkwargs | kwargs
self.base_client = ObsClient(**kwargs) self.base_client = ObsClient(**kwargs)
if self.base_client.authenticate(): if self.base_client.authenticate():