4 Commits

Author SHA1 Message Date
eed036ca03 patch bump 2023-08-05 14:06:47 +01:00
55211b9b19 replace generator function with factory function 2023-08-05 14:06:39 +01:00
4af7c0f694 initialize stop_event to None
in case outbound mode enabled
2023-08-05 14:05:18 +01:00
f082fa8ac5 reword 2023-08-05 13:40:32 +01:00
4 changed files with 20 additions and 27 deletions

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "vban-cmd" name = "vban-cmd"
version = "2.4.3" version = "2.4.4"
description = "Python interface for the VBAN RT Packet Service (Sendtext)" description = "Python interface for the VBAN RT Packet Service (Sendtext)"
authors = ["onyx-and-iris <code@onyxandiris.online>"] authors = ["onyx-and-iris <code@onyxandiris.online>"]
license = "MIT" license = "MIT"

View File

@@ -265,7 +265,7 @@ class VbanRtPacketHeader:
@dataclass @dataclass
class RequestHeader: class RequestHeader:
"""Represents the header of an REQUEST RT PACKET""" """Represents the header of a REQUEST RT PACKET"""
name: str name: str
bps_index: int bps_index: int

View File

@@ -172,32 +172,24 @@ class VbanMidiOutstream(VbanOutstream):
def _make_stream_pair(remote, kind): def _make_stream_pair(remote, kind):
num_instream, num_outstream, num_midi, num_text = kind.vban num_instream, num_outstream, num_midi, num_text = kind.vban
def _generate_streams(i, dir): def _make_cls(i, dir):
"""generator function for creating instream/outstream tuples""" match dir:
if dir == "in": case "in":
if i < num_instream: if i < num_instream:
yield VbanAudioInstream return VbanAudioInstream(remote, i)
elif i < num_instream + num_midi: elif i < num_instream + num_midi:
yield VbanMidiInstream return VbanMidiInstream(remote, i)
else:
yield VbanTextInstream
else: else:
return VbanTextInstream(remote, i)
case "out":
if i < num_outstream: if i < num_outstream:
yield VbanAudioOutstream return VbanAudioOutstream(remote, i)
else: else:
yield VbanMidiOutstream return VbanMidiOutstream(remote, i)
return ( return (
tuple( tuple(_make_cls(i, "in") for i in range(num_instream + num_midi + num_text)),
cls(remote, i) tuple(_make_cls(i, "out") for i in range(num_outstream + num_midi)),
for i in range(num_instream + num_midi + num_text)
for cls in _generate_streams(i, "in")
),
tuple(
cls(remote, i)
for i in range(num_outstream + num_midi)
for cls in _generate_streams(i, "out")
),
) )

View File

@@ -50,6 +50,7 @@ class VbanCmd(metaclass=ABCMeta):
self._pdirty = False self._pdirty = False
self._ldirty = False self._ldirty = False
self._script = str() self._script = str()
self.stop_event = None
@abstractmethod @abstractmethod
def __str__(self): def __str__(self):
@@ -109,7 +110,7 @@ class VbanCmd(metaclass=ABCMeta):
) )
def stopped(self): def stopped(self):
return self.stop_event.is_set() return self.stop_event is None or self.stop_event.is_set()
def _set_rt(self, cmd: str, val: Union[str, float]): def _set_rt(self, cmd: str, val: Union[str, float]):
"""Sends a string request command over a network.""" """Sends a string request command over a network."""