Added stream option

This commit is contained in:
BarsTiger
2022-12-22 22:46:21 +02:00
parent d718ec0bb0
commit 8a5d2738ab
5 changed files with 97 additions and 1 deletions

View File

@@ -301,6 +301,26 @@ class Ui_MainWindow(object):
self.content.addWidget(self.collections_page) self.content.addWidget(self.collections_page)
self.stream_page = QtWidgets.QWidget() self.stream_page = QtWidgets.QWidget()
self.stream_page.setObjectName("stream_page") self.stream_page.setObjectName("stream_page")
self.stream_page_lay = QtWidgets.QVBoxLayout(self.stream_page)
self.stream_page_lay.setContentsMargins(0, 0, 0, 0)
self.stream_page_lay.setObjectName("stream_page_lay")
self.stream_page_box_bt_widget = QtWidgets.QWidget(self.stream_page)
self.stream_page_box_bt_widget.setObjectName("stream_page_box_bt_widget")
self.stream_page_box_bt_lay = QtWidgets.QHBoxLayout(self.stream_page_box_bt_widget)
self.stream_page_box_bt_lay.setContentsMargins(0, -1, 0, 0)
self.stream_page_box_bt_lay.setObjectName("stream_page_box_bt_lay")
self.to_stream_url_box = QtWidgets.QLineEdit(self.stream_page_box_bt_widget)
self.to_stream_url_box.setMinimumSize(QtCore.QSize(0, 35))
self.to_stream_url_box.setObjectName("to_stream_url_box")
self.stream_page_box_bt_lay.addWidget(self.to_stream_url_box)
self.play_stream_button = QtWidgets.QPushButton(self.stream_page_box_bt_widget)
self.play_stream_button.setMinimumSize(QtCore.QSize(70, 35))
self.play_stream_button.setObjectName("play_stream_button")
self.stream_page_box_bt_lay.addWidget(self.play_stream_button)
self.stream_page_lay.addWidget(self.stream_page_box_bt_widget)
self.stream_logs_box = QtWidgets.QTextBrowser(self.stream_page)
self.stream_logs_box.setObjectName("stream_logs_box")
self.stream_page_lay.addWidget(self.stream_logs_box)
self.content.addWidget(self.stream_page) self.content.addWidget(self.stream_page)
self.collab_page = QtWidgets.QWidget() self.collab_page = QtWidgets.QWidget()
self.collab_page.setObjectName("collab_page") self.collab_page.setObjectName("collab_page")
@@ -556,6 +576,8 @@ class Ui_MainWindow(object):
self.collections_page_tabs.setTabText(self.collections_page_tabs.indexOf(self.collections_tab_in_tabs), _translate("MainWindow", "Collections")) self.collections_page_tabs.setTabText(self.collections_page_tabs.indexOf(self.collections_tab_in_tabs), _translate("MainWindow", "Collections"))
self.edit_collections_paths_label.setText(_translate("MainWindow", "Double click row to edit path to collection")) self.edit_collections_paths_label.setText(_translate("MainWindow", "Double click row to edit path to collection"))
self.collections_page_tabs.setTabText(self.collections_page_tabs.indexOf(self.edit_collections_tabs), _translate("MainWindow", "Edit collections")) self.collections_page_tabs.setTabText(self.collections_page_tabs.indexOf(self.edit_collections_tabs), _translate("MainWindow", "Edit collections"))
self.to_stream_url_box.setPlaceholderText(_translate("MainWindow", "URL (direct web file, YouTube or spotify link) or path to file"))
self.play_stream_button.setText(_translate("MainWindow", "Play"))
self.play_options_group.setTitle(_translate("MainWindow", "Play options")) self.play_options_group.setTitle(_translate("MainWindow", "Play options"))
self.output_device_play_label.setText(_translate("MainWindow", "Output device (or virtual mic input)")) self.output_device_play_label.setText(_translate("MainWindow", "Output device (or virtual mic input)"))
self.preview_device_play_label.setText(_translate("MainWindow", "Preview device (your headphones)")) self.preview_device_play_label.setText(_translate("MainWindow", "Preview device (your headphones)"))

View File

@@ -998,7 +998,66 @@ QListWidget:item:selected {
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="stream_page"/> <widget class="QWidget" name="stream_page">
<layout class="QVBoxLayout" name="stream_page_lay">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="stream_page_box_bt_widget" native="true">
<layout class="QHBoxLayout" name="stream_page_box_bt_lay">
<property name="leftMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="to_stream_url_box">
<property name="minimumSize">
<size>
<width>0</width>
<height>35</height>
</size>
</property>
<property name="placeholderText">
<string>URL (direct web file, YouTube or spotify link) or path to file</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="play_stream_button">
<property name="minimumSize">
<size>
<width>70</width>
<height>35</height>
</size>
</property>
<property name="text">
<string>Play</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTextBrowser" name="stream_logs_box"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="collab_page"/> <widget class="QWidget" name="collab_page"/>
<widget class="QWidget" name="download_page"/> <widget class="QWidget" name="download_page"/>
<widget class="QWidget" name="settings_page"> <widget class="QWidget" name="settings_page">

View File

@@ -7,6 +7,7 @@ from gui.modules import settings
from gui.modules import restreammic from gui.modules import restreammic
from gui.modules import explorer from gui.modules import explorer
from gui.modules import collections from gui.modules import collections
from gui.modules import stream
from modules.player.player import Player from modules.player.player import Player
from modules.restream.restream import Restreamer from modules.restream.restream import Restreamer
@@ -19,3 +20,4 @@ def register_handlers(ui: Ui_MainWindow, MainWindow: QMainWindow, p: Player, rs:
restreammic.register_handlers(ui, MainWindow, rs) restreammic.register_handlers(ui, MainWindow, rs)
explorer.register_handlers(ui, p) explorer.register_handlers(ui, p)
collections.register_handlers(ui, p) collections.register_handlers(ui, p)
stream.register_handlers(ui, p)

View File

@@ -0,0 +1 @@
from .handlers import *

View File

@@ -0,0 +1,12 @@
from gui.gui import Ui_MainWindow
from modules.player.player import Player
def register_handlers(ui: Ui_MainWindow, p: Player):
ui.play_stream_button.clicked.connect(
lambda: (
p.set_media(ui.to_stream_url_box.text()),
ui.stream_logs_box.append(f"Playing {ui.to_stream_url_box.text()}"),
p.play(ui)
)
)