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.stream_page = QtWidgets.QWidget()
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.collab_page = QtWidgets.QWidget()
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.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.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.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)"))

View File

@@ -998,7 +998,66 @@ QListWidget:item:selected {
</item>
</layout>
</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="download_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 explorer
from gui.modules import collections
from gui.modules import stream
from modules.player.player import Player
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)
explorer.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)
)
)