mirror of
https://github.com/onyx-and-iris/obsws-python.git
synced 2024-11-25 06:10:52 +00:00
Subs moved into enum.py
Subs now exported
This commit is contained in:
parent
f239173edb
commit
d4ae72dee5
@ -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
43
obsws_python/enum.py
Normal 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
|
@ -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():
|
||||
|
Loading…
Reference in New Issue
Block a user