replace generator function with factory function

patch bump
This commit is contained in:
onyx-and-iris 2023-08-03 12:09:34 +01:00
parent 58a26e89a8
commit b33926f304
2 changed files with 17 additions and 25 deletions

View File

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "voicemeeter-api" name = "voicemeeter-api"
version = "2.4.1" version = "2.4.2"
description = "A Python wrapper for the Voiceemeter API" description = "A Python wrapper for the Voiceemeter API"
authors = ["onyx-and-iris <code@onyxandiris.online>"] authors = ["onyx-and-iris <code@onyxandiris.online>"]
license = "MIT" license = "MIT"

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 instream/outstream types""" 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")
),
) )