Added stream option
This commit is contained in:
22
gui/gui.py
22
gui/gui.py
@@ -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)"))
|
||||||
|
|||||||
61
gui/gui.ui
61
gui/gui.ui
@@ -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">
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
1
gui/modules/stream/__init__.py
Normal file
1
gui/modules/stream/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
from .handlers import *
|
||||||
12
gui/modules/stream/handlers.py
Normal file
12
gui/modules/stream/handlers.py
Normal 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)
|
||||||
|
)
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user