From 710017ab88ff4f5d84a077034b64e47ce0b8036f Mon Sep 17 00:00:00 2001 From: BarsTiger Date: Fri, 9 Dec 2022 22:24:09 +0200 Subject: [PATCH] Restreaming mic --- gui/modules/handlers/register.py | 12 ++++-------- gui/modules/initialize/setup_ui.py | 6 +++++- gui/modules/restreammic/handlers.py | 12 ++++++++++++ modules/restream/restream.py | 3 +++ 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/gui/modules/handlers/register.py b/gui/modules/handlers/register.py index 52d50d7..a1c332d 100644 --- a/gui/modules/handlers/register.py +++ b/gui/modules/handlers/register.py @@ -4,18 +4,14 @@ from gui.modules import menu from gui.modules import pads from gui.modules import player from gui.modules import settings +from gui.modules import restreammic from modules.player.player import Player +from modules.restream.restream import Restreamer -def register_handlers(ui: Ui_MainWindow, MainWindow: QMainWindow, p: Player): - """ - Register all handlers - :param ui: - :param MainWindow: - :param p: - :return: - """ +def register_handlers(ui: Ui_MainWindow, MainWindow: QMainWindow, p: Player, rs: Restreamer): menu.register_handlers(ui) pads.register_handlers(ui, MainWindow, p) player.register_handlers(ui, MainWindow, p) settings.register_handlers(ui) + restreammic.register_handlers(ui, MainWindow, rs) diff --git a/gui/modules/initialize/setup_ui.py b/gui/modules/initialize/setup_ui.py index 4964d24..4ca76ed 100644 --- a/gui/modules/initialize/setup_ui.py +++ b/gui/modules/initialize/setup_ui.py @@ -7,6 +7,7 @@ from PyQt5.QtWidgets import QMainWindow from PyQt5 import QtCore from modules.config import Config from modules.player.player import Player +from modules.restream.restream import Restreamer def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow): @@ -27,7 +28,10 @@ def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow): ui.timer.start(100) p = Player() + rs = Restreamer() fill_settings.fill_settings(ui) - register.register_handlers(ui, MainWindow, p) + (lambda: rs.restart(ui) if ui.restream_micro_checkbox.isChecked() else rs.stop())() + + register.register_handlers(ui, MainWindow, p, rs) diff --git a/gui/modules/restreammic/handlers.py b/gui/modules/restreammic/handlers.py index e69de29..d0c8f32 100644 --- a/gui/modules/restreammic/handlers.py +++ b/gui/modules/restreammic/handlers.py @@ -0,0 +1,12 @@ +from gui.gui import Ui_MainWindow +from PyQt5.QtWidgets import QMainWindow +from modules.restream.restream import Restreamer + + +def register_handlers(ui: Ui_MainWindow, MainWindow: QMainWindow, rs: Restreamer): + ui.restream_micro_checkbox.clicked.connect( + lambda: rs.restart(ui) if ui.restream_micro_checkbox.isChecked() else rs.stop() + ) + + ui.output_device_restream_box.currentTextChanged.connect(lambda: rs.restart(ui)) + ui.input_device_restream_box.currentTextChanged.connect(lambda: rs.restart(ui)) diff --git a/modules/restream/restream.py b/modules/restream/restream.py index cb2c154..ec321c5 100644 --- a/modules/restream/restream.py +++ b/modules/restream/restream.py @@ -19,3 +19,6 @@ class Restreamer(object): get_streaming_devices().output[ui.output_device_restream_box.currentText()]), callback=Restreamer.callback) self.stream.start() + + def stop(self): + self.stream.stop()