debug window table working, ui changes, small bugfixes
This commit is contained in:
parent
d15e9f6c02
commit
2693973975
@ -44,7 +44,7 @@ class AudioVisualizer(QtWidgets.QWidget):
|
|||||||
# Graphics plot
|
# Graphics plot
|
||||||
# Make sure PlotWidget doesn't exceed album art height
|
# Make sure PlotWidget doesn't exceed album art height
|
||||||
# Adjust to leave room for playback controls
|
# Adjust to leave room for playback controls
|
||||||
self.PlotWidget.setFixedHeight(225)
|
self.PlotWidget.setFixedHeight(250)
|
||||||
# x range
|
# x range
|
||||||
self.PlotWidget.setXRange(
|
self.PlotWidget.setXRange(
|
||||||
0, self.get_x_resolution(), padding=0
|
0, self.get_x_resolution(), padding=0
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
from collections.abc import Iterable
|
from collections.abc import Iterable
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
|
QAbstractScrollArea,
|
||||||
QDialog,
|
QDialog,
|
||||||
|
QHeaderView,
|
||||||
QPlainTextEdit,
|
QPlainTextEdit,
|
||||||
QTableWidget,
|
QTableWidget,
|
||||||
QTableWidgetItem,
|
QTableWidgetItem,
|
||||||
QVBoxLayout,
|
QVBoxLayout,
|
||||||
)
|
)
|
||||||
from pprint import pformat
|
from pprint import pformat
|
||||||
from logging import debug
|
from logging import debug, error
|
||||||
|
|
||||||
|
|
||||||
class DebugWindow(QDialog):
|
class DebugWindow(QDialog):
|
||||||
@ -27,29 +29,33 @@ class DebugWindow(QDialog):
|
|||||||
if isinstance(self.data, str):
|
if isinstance(self.data, str):
|
||||||
self.input_field = QPlainTextEdit(pformat(self.data))
|
self.input_field = QPlainTextEdit(pformat(self.data))
|
||||||
layout.addWidget(self.input_field)
|
layout.addWidget(self.input_field)
|
||||||
elif isinstance(self.data, list):
|
else:
|
||||||
table = QTableWidget()
|
table: QTableWidget = QTableWidget()
|
||||||
table.setRowCount(len(data))
|
table.setSizeAdjustPolicy(QAbstractScrollArea.SizeAdjustPolicy.AdjustToContents)
|
||||||
table.setColumnCount(len(data[0]))
|
table.horizontalHeader().setStretchLastSection(True)
|
||||||
for ri, row_data in enumerate(data):
|
table.horizontalHeader().setSectionResizeMode(QHeaderView.Interactive)
|
||||||
for ci, item in enumerate(row_data):
|
if isinstance(self.data, list):
|
||||||
table.setItem(ri, ci, QTableWidgetItem(str(item)))
|
# big ol column
|
||||||
layout.addWidget(table)
|
table.setRowCount(len(data))
|
||||||
elif isinstance(self.data, dict):
|
table.setColumnCount(1)
|
||||||
# FIXME: i wanna grow....woah
|
for i, item in enumerate(self.data):
|
||||||
try:
|
table.setItem(i, 0, QTableWidgetItem(str(item)))
|
||||||
table = QTableWidget()
|
|
||||||
rows = max(len(value) for value in data.keys())
|
|
||||||
table.setRowCount(rows)
|
|
||||||
table.setColumnCount(len(data))
|
|
||||||
table.setHorizontalHeaderLabels(data.keys())
|
|
||||||
for ci, (key, values) in enumerate(data.items()):
|
|
||||||
for ri, value in enumerate(values):
|
|
||||||
table.setItem(ri, ci, QTableWidgetItem(str(value)))
|
|
||||||
layout.addWidget(table)
|
layout.addWidget(table)
|
||||||
except Exception as e:
|
elif isinstance(self.data, dict):
|
||||||
data = str(self.data)
|
try:
|
||||||
self.input_field = QPlainTextEdit(pformat(data + "\n\n" + str(e)))
|
# | TIT2 | title goes here |
|
||||||
layout.addWidget(self.input_field)
|
# | TDRC | 2025-05-05 |
|
||||||
|
table.setRowCount(len(data.keys()))
|
||||||
|
table.setColumnCount(2)
|
||||||
|
table.setHorizontalHeaderLabels(['Tag', 'Value'])
|
||||||
|
for i, (k, v) in enumerate(data.items()):
|
||||||
|
table.setItem(i, 0, QTableWidgetItem(str(k)))
|
||||||
|
table.setItem(i, 1, QTableWidgetItem(str(v)))
|
||||||
|
layout.addWidget(table)
|
||||||
|
except Exception as e:
|
||||||
|
data = str(self.data)
|
||||||
|
self.input_field = QPlainTextEdit(pformat(data + "\n\n" + str(e)))
|
||||||
|
layout.addWidget(self.input_field)
|
||||||
|
error(f'Tried to load self.data as dict but could not. {e}')
|
||||||
|
|
||||||
self.setLayout(layout)
|
self.setLayout(layout)
|
||||||
|
|||||||
@ -221,7 +221,7 @@ class MusicTable(QTableView):
|
|||||||
menu.addAction(open_containing_folder_action)
|
menu.addAction(open_containing_folder_action)
|
||||||
# view id3 tags (debug)
|
# view id3 tags (debug)
|
||||||
view_id3_tags_debug = QAction("View ID3 tags (debug)", self)
|
view_id3_tags_debug = QAction("View ID3 tags (debug)", self)
|
||||||
view_id3_tags_debug.triggered.connect(self.show_id3_tags_debug_menu)
|
view_id3_tags_debug.triggered.connect(self.view_id3_tags_debug_menu)
|
||||||
menu.addAction(view_id3_tags_debug)
|
menu.addAction(view_id3_tags_debug)
|
||||||
# delete song
|
# delete song
|
||||||
delete_action = QAction("Delete", self)
|
delete_action = QAction("Delete", self)
|
||||||
@ -292,7 +292,7 @@ class MusicTable(QTableView):
|
|||||||
if key == Qt.Key.Key_Space:
|
if key == Qt.Key.Key_Space:
|
||||||
self.toggle_play_pause()
|
self.toggle_play_pause()
|
||||||
|
|
||||||
elif key == Qt.Key.Key_Right:
|
if key == Qt.Key.Key_Right:
|
||||||
index = self.currentIndex()
|
index = self.currentIndex()
|
||||||
new_index = self.model2.index(index.row(), index.column() + 1)
|
new_index = self.model2.index(index.row(), index.column() + 1)
|
||||||
if new_index.isValid():
|
if new_index.isValid():
|
||||||
@ -565,7 +565,7 @@ class MusicTable(QTableView):
|
|||||||
path = "/".join(filepath)
|
path = "/".join(filepath)
|
||||||
Popen(["xdg-open", path])
|
Popen(["xdg-open", path])
|
||||||
|
|
||||||
def show_id3_tags_debug_menu(self):
|
def view_id3_tags_debug_menu(self):
|
||||||
"""Shows ID3 tags for a specific .mp3 file"""
|
"""Shows ID3 tags for a specific .mp3 file"""
|
||||||
if self.get_selected_song_filepath() is not None:
|
if self.get_selected_song_filepath() is not None:
|
||||||
window = DebugWindow(dict(self.get_selected_song_metadata()))
|
window = DebugWindow(dict(self.get_selected_song_metadata()))
|
||||||
|
|||||||
6
main.py
6
main.py
@ -248,8 +248,8 @@ class ApplicationWindow(QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
## CONNECTIONS
|
## CONNECTIONS
|
||||||
# tableView
|
# tableView
|
||||||
self.tableView.doubleClicked.connect(self.play_audio_file)
|
# self.tableView.doubleClicked.connect(self.play_audio_file)
|
||||||
self.tableView.enterKey.connect(self.play_audio_file)
|
# self.tableView.enterKey.connect(self.play_audio_file)
|
||||||
self.tableView.playSignal.connect(self.play_audio_file)
|
self.tableView.playSignal.connect(self.play_audio_file)
|
||||||
self.tableView.playPauseSignal.connect(
|
self.tableView.playPauseSignal.connect(
|
||||||
self.on_play_clicked
|
self.on_play_clicked
|
||||||
@ -419,7 +419,7 @@ class ApplicationWindow(QMainWindow, Ui_MainWindow):
|
|||||||
Start playback of `tableView.current_song_filepath` & moves playback slider
|
Start playback of `tableView.current_song_filepath` & moves playback slider
|
||||||
"""
|
"""
|
||||||
if not filepath:
|
if not filepath:
|
||||||
filepath = self.tableView.set_current_song_filepath()
|
filepath = self.tableView.get_current_song_filepath()
|
||||||
# get metadata
|
# get metadata
|
||||||
metadata = get_id3_tags(filepath)[0]
|
metadata = get_id3_tags(filepath)[0]
|
||||||
# read the file
|
# read the file
|
||||||
|
|||||||
181
ui.py
181
ui.py
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'ui.ui'
|
# Form implementation generated from reading ui file 'ui.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.15.11
|
# Created by: PyQt5 UI code generator 5.15.10
|
||||||
#
|
#
|
||||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||||
# run again. Do not edit this file unless you know what you are doing.
|
# run again. Do not edit this file unless you know what you are doing.
|
||||||
@ -45,15 +45,50 @@ class Ui_MainWindow(object):
|
|||||||
self.vLayoutSongDetails.setObjectName("vLayoutSongDetails")
|
self.vLayoutSongDetails.setObjectName("vLayoutSongDetails")
|
||||||
self.hLayoutHead.addLayout(self.vLayoutSongDetails)
|
self.hLayoutHead.addLayout(self.vLayoutSongDetails)
|
||||||
self.vLayoutPlaybackVisuals = QtWidgets.QVBoxLayout()
|
self.vLayoutPlaybackVisuals = QtWidgets.QVBoxLayout()
|
||||||
self.vLayoutPlaybackVisuals.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
|
|
||||||
self.vLayoutPlaybackVisuals.setObjectName("vLayoutPlaybackVisuals")
|
self.vLayoutPlaybackVisuals.setObjectName("vLayoutPlaybackVisuals")
|
||||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
self.PlotWidget = PlotWidget(self.centralwidget)
|
||||||
self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
|
self.PlotWidget.setObjectName("PlotWidget")
|
||||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
self.vLayoutPlaybackVisuals.addWidget(self.PlotWidget)
|
||||||
|
self.hLayoutHead.addLayout(self.vLayoutPlaybackVisuals)
|
||||||
|
self.hLayoutHead.setStretch(0, 1)
|
||||||
|
self.hLayoutHead.setStretch(2, 6)
|
||||||
|
self.verticalLayout.addLayout(self.hLayoutHead)
|
||||||
|
self.hLayoutMusicTable = QtWidgets.QHBoxLayout()
|
||||||
|
self.hLayoutMusicTable.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
|
||||||
|
self.hLayoutMusicTable.setContentsMargins(0, -1, 0, -1)
|
||||||
|
self.hLayoutMusicTable.setObjectName("hLayoutMusicTable")
|
||||||
|
self.playlistTreeView = PlaylistsPane(self.centralwidget)
|
||||||
|
self.playlistTreeView.setObjectName("playlistTreeView")
|
||||||
|
self.hLayoutMusicTable.addWidget(self.playlistTreeView)
|
||||||
|
self.tableView = MusicTable(self.centralwidget)
|
||||||
|
self.tableView.setObjectName("tableView")
|
||||||
|
self.hLayoutMusicTable.addWidget(self.tableView)
|
||||||
|
self.hLayoutMusicTable.setStretch(0, 2)
|
||||||
|
self.hLayoutMusicTable.setStretch(1, 10)
|
||||||
|
self.verticalLayout.addLayout(self.hLayoutMusicTable)
|
||||||
|
self.hLayoutCurrentSongDetails = QtWidgets.QHBoxLayout()
|
||||||
|
self.hLayoutCurrentSongDetails.setSpacing(6)
|
||||||
|
self.hLayoutCurrentSongDetails.setObjectName("hLayoutCurrentSongDetails")
|
||||||
|
self.hLayoutSongDetails = QtWidgets.QHBoxLayout()
|
||||||
|
self.hLayoutSongDetails.setObjectName("hLayoutSongDetails")
|
||||||
|
self.artistLabel = QtWidgets.QLabel(self.centralwidget)
|
||||||
|
self.artistLabel.setObjectName("artistLabel")
|
||||||
|
self.hLayoutSongDetails.addWidget(self.artistLabel)
|
||||||
|
self.titleLabel = QtWidgets.QLabel(self.centralwidget)
|
||||||
|
self.titleLabel.setObjectName("titleLabel")
|
||||||
|
self.hLayoutSongDetails.addWidget(self.titleLabel)
|
||||||
|
self.albumLabel = QtWidgets.QLabel(self.centralwidget)
|
||||||
|
self.albumLabel.setObjectName("albumLabel")
|
||||||
|
self.hLayoutSongDetails.addWidget(self.albumLabel)
|
||||||
|
self.hLayoutCurrentSongDetails.addLayout(self.hLayoutSongDetails)
|
||||||
|
self.verticalLayout.addLayout(self.hLayoutCurrentSongDetails)
|
||||||
|
self.hLayoutPlayback = QtWidgets.QHBoxLayout()
|
||||||
|
self.hLayoutPlayback.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
|
||||||
|
self.hLayoutPlayback.setObjectName("hLayoutPlayback")
|
||||||
self.playbackSlider = QtWidgets.QSlider(self.centralwidget)
|
self.playbackSlider = QtWidgets.QSlider(self.centralwidget)
|
||||||
self.playbackSlider.setOrientation(QtCore.Qt.Horizontal)
|
self.playbackSlider.setOrientation(QtCore.Qt.Horizontal)
|
||||||
self.playbackSlider.setObjectName("playbackSlider")
|
self.playbackSlider.setObjectName("playbackSlider")
|
||||||
self.horizontalLayout.addWidget(self.playbackSlider)
|
self.hLayoutPlayback.addWidget(self.playbackSlider)
|
||||||
self.timeHorizontalLayout2 = QtWidgets.QHBoxLayout()
|
self.timeHorizontalLayout2 = QtWidgets.QHBoxLayout()
|
||||||
self.timeHorizontalLayout2.setObjectName("timeHorizontalLayout2")
|
self.timeHorizontalLayout2.setObjectName("timeHorizontalLayout2")
|
||||||
self.startTimeLabel = QtWidgets.QLabel(self.centralwidget)
|
self.startTimeLabel = QtWidgets.QLabel(self.centralwidget)
|
||||||
@ -79,56 +114,26 @@ class Ui_MainWindow(object):
|
|||||||
self.endTimeLabel.setFont(font)
|
self.endTimeLabel.setFont(font)
|
||||||
self.endTimeLabel.setObjectName("endTimeLabel")
|
self.endTimeLabel.setObjectName("endTimeLabel")
|
||||||
self.timeHorizontalLayout2.addWidget(self.endTimeLabel)
|
self.timeHorizontalLayout2.addWidget(self.endTimeLabel)
|
||||||
self.horizontalLayout.addLayout(self.timeHorizontalLayout2)
|
self.hLayoutPlayback.addLayout(self.timeHorizontalLayout2)
|
||||||
self.speedSlider = QtWidgets.QSlider(self.centralwidget)
|
self.hLayoutPlayback.setStretch(0, 4)
|
||||||
self.speedSlider.setMinimum(0)
|
self.verticalLayout.addLayout(self.hLayoutPlayback)
|
||||||
self.speedSlider.setMaximum(100)
|
|
||||||
self.speedSlider.setSingleStep(1)
|
|
||||||
self.speedSlider.setProperty("value", 50)
|
|
||||||
self.speedSlider.setOrientation(QtCore.Qt.Horizontal)
|
|
||||||
self.speedSlider.setInvertedAppearance(False)
|
|
||||||
self.speedSlider.setTickPosition(QtWidgets.QSlider.TicksAbove)
|
|
||||||
self.speedSlider.setObjectName("speedSlider")
|
|
||||||
self.horizontalLayout.addWidget(self.speedSlider)
|
|
||||||
self.speedLabel = QtWidgets.QLabel(self.centralwidget)
|
|
||||||
font = QtGui.QFont()
|
|
||||||
font.setFamily("Monospace")
|
|
||||||
self.speedLabel.setFont(font)
|
|
||||||
self.speedLabel.setObjectName("speedLabel")
|
|
||||||
self.horizontalLayout.addWidget(self.speedLabel)
|
|
||||||
self.horizontalLayout.setStretch(0, 4)
|
|
||||||
self.horizontalLayout.setStretch(2, 4)
|
|
||||||
self.horizontalLayout.setStretch(3, 1)
|
|
||||||
self.vLayoutPlaybackVisuals.addLayout(self.horizontalLayout)
|
|
||||||
self.PlotWidget = PlotWidget(self.centralwidget)
|
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Maximum)
|
|
||||||
sizePolicy.setHorizontalStretch(0)
|
|
||||||
sizePolicy.setVerticalStretch(0)
|
|
||||||
sizePolicy.setHeightForWidth(self.PlotWidget.sizePolicy().hasHeightForWidth())
|
|
||||||
self.PlotWidget.setSizePolicy(sizePolicy)
|
|
||||||
self.PlotWidget.setMaximumSize(QtCore.QSize(16777215, 150))
|
|
||||||
self.PlotWidget.setObjectName("PlotWidget")
|
|
||||||
self.vLayoutPlaybackVisuals.addWidget(self.PlotWidget)
|
|
||||||
self.hLayoutHead.addLayout(self.vLayoutPlaybackVisuals)
|
|
||||||
self.hLayoutHead.setStretch(0, 1)
|
|
||||||
self.hLayoutHead.setStretch(2, 6)
|
|
||||||
self.verticalLayout.addLayout(self.hLayoutHead)
|
|
||||||
self.hLayoutMusicTable = QtWidgets.QHBoxLayout()
|
|
||||||
self.hLayoutMusicTable.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize)
|
|
||||||
self.hLayoutMusicTable.setContentsMargins(0, -1, 0, -1)
|
|
||||||
self.hLayoutMusicTable.setObjectName("hLayoutMusicTable")
|
|
||||||
self.playlistTreeView = PlaylistsPane(self.centralwidget)
|
|
||||||
self.playlistTreeView.setObjectName("playlistTreeView")
|
|
||||||
self.hLayoutMusicTable.addWidget(self.playlistTreeView)
|
|
||||||
self.tableView = MusicTable(self.centralwidget)
|
|
||||||
self.tableView.setObjectName("tableView")
|
|
||||||
self.hLayoutMusicTable.addWidget(self.tableView)
|
|
||||||
self.hLayoutMusicTable.setStretch(0, 2)
|
|
||||||
self.hLayoutMusicTable.setStretch(1, 10)
|
|
||||||
self.verticalLayout.addLayout(self.hLayoutMusicTable)
|
|
||||||
self.hLayoutControls = QtWidgets.QHBoxLayout()
|
self.hLayoutControls = QtWidgets.QHBoxLayout()
|
||||||
self.hLayoutControls.setSpacing(6)
|
self.hLayoutControls.setSpacing(6)
|
||||||
self.hLayoutControls.setObjectName("hLayoutControls")
|
self.hLayoutControls.setObjectName("hLayoutControls")
|
||||||
|
self.hLayoutVolume = QtWidgets.QHBoxLayout()
|
||||||
|
self.hLayoutVolume.setObjectName("hLayoutVolume")
|
||||||
|
self.volumeLabel = QtWidgets.QLabel(self.centralwidget)
|
||||||
|
self.volumeLabel.setObjectName("volumeLabel")
|
||||||
|
self.hLayoutVolume.addWidget(self.volumeLabel)
|
||||||
|
self.volumeSlider = QtWidgets.QSlider(self.centralwidget)
|
||||||
|
self.volumeSlider.setMinimum(-1)
|
||||||
|
self.volumeSlider.setMaximum(101)
|
||||||
|
self.volumeSlider.setProperty("value", 50)
|
||||||
|
self.volumeSlider.setOrientation(QtCore.Qt.Horizontal)
|
||||||
|
self.volumeSlider.setTickPosition(QtWidgets.QSlider.TicksAbove)
|
||||||
|
self.volumeSlider.setObjectName("volumeSlider")
|
||||||
|
self.hLayoutVolume.addWidget(self.volumeSlider)
|
||||||
|
self.hLayoutControls.addLayout(self.hLayoutVolume)
|
||||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||||
self.hLayoutControls.addItem(spacerItem)
|
self.hLayoutControls.addItem(spacerItem)
|
||||||
self.previousButton = QtWidgets.QPushButton(self.centralwidget)
|
self.previousButton = QtWidgets.QPushButton(self.centralwidget)
|
||||||
@ -151,57 +156,36 @@ class Ui_MainWindow(object):
|
|||||||
self.hLayoutControls.addWidget(self.nextButton)
|
self.hLayoutControls.addWidget(self.nextButton)
|
||||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||||
self.hLayoutControls.addItem(spacerItem1)
|
self.hLayoutControls.addItem(spacerItem1)
|
||||||
|
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
|
||||||
|
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||||
|
self.speedSlider = QtWidgets.QSlider(self.centralwidget)
|
||||||
|
self.speedSlider.setMinimum(0)
|
||||||
|
self.speedSlider.setMaximum(100)
|
||||||
|
self.speedSlider.setSingleStep(1)
|
||||||
|
self.speedSlider.setProperty("value", 50)
|
||||||
|
self.speedSlider.setOrientation(QtCore.Qt.Horizontal)
|
||||||
|
self.speedSlider.setInvertedAppearance(False)
|
||||||
|
self.speedSlider.setTickPosition(QtWidgets.QSlider.TicksAbove)
|
||||||
|
self.speedSlider.setObjectName("speedSlider")
|
||||||
|
self.horizontalLayout_2.addWidget(self.speedSlider)
|
||||||
|
self.speedLabel = QtWidgets.QLabel(self.centralwidget)
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setFamily("Monospace")
|
||||||
|
self.speedLabel.setFont(font)
|
||||||
|
self.speedLabel.setObjectName("speedLabel")
|
||||||
|
self.horizontalLayout_2.addWidget(self.speedLabel)
|
||||||
|
self.hLayoutControls.addLayout(self.horizontalLayout_2)
|
||||||
self.hLayoutControls.setStretch(0, 1)
|
self.hLayoutControls.setStretch(0, 1)
|
||||||
self.hLayoutControls.setStretch(1, 2)
|
self.hLayoutControls.setStretch(2, 1)
|
||||||
self.hLayoutControls.setStretch(2, 2)
|
self.hLayoutControls.setStretch(3, 1)
|
||||||
self.hLayoutControls.setStretch(3, 2)
|
|
||||||
self.hLayoutControls.setStretch(4, 1)
|
self.hLayoutControls.setStretch(4, 1)
|
||||||
|
self.hLayoutControls.setStretch(6, 1)
|
||||||
self.verticalLayout.addLayout(self.hLayoutControls)
|
self.verticalLayout.addLayout(self.hLayoutControls)
|
||||||
self.hLayoutControls2 = QtWidgets.QHBoxLayout()
|
|
||||||
self.hLayoutControls2.setSpacing(6)
|
|
||||||
self.hLayoutControls2.setObjectName("hLayoutControls2")
|
|
||||||
self.hLayoutVolume = QtWidgets.QHBoxLayout()
|
|
||||||
self.hLayoutVolume.setObjectName("hLayoutVolume")
|
|
||||||
self.volumeLabel = QtWidgets.QLabel(self.centralwidget)
|
|
||||||
self.volumeLabel.setObjectName("volumeLabel")
|
|
||||||
self.hLayoutVolume.addWidget(self.volumeLabel)
|
|
||||||
self.volumeSlider = QtWidgets.QSlider(self.centralwidget)
|
|
||||||
self.volumeSlider.setMinimum(-1)
|
|
||||||
self.volumeSlider.setMaximum(101)
|
|
||||||
self.volumeSlider.setProperty("value", 50)
|
|
||||||
self.volumeSlider.setOrientation(QtCore.Qt.Horizontal)
|
|
||||||
self.volumeSlider.setTickPosition(QtWidgets.QSlider.TicksAbove)
|
|
||||||
self.volumeSlider.setObjectName("volumeSlider")
|
|
||||||
self.hLayoutVolume.addWidget(self.volumeSlider)
|
|
||||||
self.hLayoutControls2.addLayout(self.hLayoutVolume)
|
|
||||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
|
||||||
self.hLayoutControls2.addItem(spacerItem2)
|
|
||||||
self.hLayoutSongDetails = QtWidgets.QHBoxLayout()
|
|
||||||
self.hLayoutSongDetails.setObjectName("hLayoutSongDetails")
|
|
||||||
self.artistLabel = QtWidgets.QLabel(self.centralwidget)
|
|
||||||
self.artistLabel.setObjectName("artistLabel")
|
|
||||||
self.hLayoutSongDetails.addWidget(self.artistLabel)
|
|
||||||
self.titleLabel = QtWidgets.QLabel(self.centralwidget)
|
|
||||||
self.titleLabel.setObjectName("titleLabel")
|
|
||||||
self.hLayoutSongDetails.addWidget(self.titleLabel)
|
|
||||||
self.albumLabel = QtWidgets.QLabel(self.centralwidget)
|
|
||||||
self.albumLabel.setObjectName("albumLabel")
|
|
||||||
self.hLayoutSongDetails.addWidget(self.albumLabel)
|
|
||||||
self.hLayoutControls2.addLayout(self.hLayoutSongDetails)
|
|
||||||
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
|
||||||
self.hLayoutControls2.addItem(spacerItem3)
|
|
||||||
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
|
|
||||||
self.pushButton.setObjectName("pushButton")
|
|
||||||
self.hLayoutControls2.addWidget(self.pushButton)
|
|
||||||
self.hLayoutControls2.setStretch(0, 1)
|
|
||||||
self.hLayoutControls2.setStretch(2, 5)
|
|
||||||
self.hLayoutControls2.setStretch(4, 1)
|
|
||||||
self.verticalLayout.addLayout(self.hLayoutControls2)
|
|
||||||
self.verticalLayout_3.addLayout(self.verticalLayout)
|
self.verticalLayout_3.addLayout(self.verticalLayout)
|
||||||
self.verticalLayout_3.setStretch(0, 20)
|
self.verticalLayout_3.setStretch(0, 20)
|
||||||
MainWindow.setCentralWidget(self.centralwidget)
|
MainWindow.setCentralWidget(self.centralwidget)
|
||||||
self.menubar = QtWidgets.QMenuBar(MainWindow)
|
self.menubar = QtWidgets.QMenuBar(MainWindow)
|
||||||
self.menubar.setGeometry(QtCore.QRect(0, 0, 1152, 21))
|
self.menubar.setGeometry(QtCore.QRect(0, 0, 1152, 24))
|
||||||
self.menubar.setObjectName("menubar")
|
self.menubar.setObjectName("menubar")
|
||||||
self.menuFile = QtWidgets.QMenu(self.menubar)
|
self.menuFile = QtWidgets.QMenu(self.menubar)
|
||||||
self.menuFile.setObjectName("menuFile")
|
self.menuFile.setObjectName("menuFile")
|
||||||
@ -253,9 +237,8 @@ class Ui_MainWindow(object):
|
|||||||
self.startTimeLabel.setText(_translate("MainWindow", "00:00"))
|
self.startTimeLabel.setText(_translate("MainWindow", "00:00"))
|
||||||
self.slashLabel.setText(_translate("MainWindow", "/"))
|
self.slashLabel.setText(_translate("MainWindow", "/"))
|
||||||
self.endTimeLabel.setText(_translate("MainWindow", "00:00"))
|
self.endTimeLabel.setText(_translate("MainWindow", "00:00"))
|
||||||
self.speedLabel.setText(_translate("MainWindow", "1.00"))
|
|
||||||
self.volumeLabel.setText(_translate("MainWindow", "50"))
|
self.volumeLabel.setText(_translate("MainWindow", "50"))
|
||||||
self.pushButton.setText(_translate("MainWindow", "nothing"))
|
self.speedLabel.setText(_translate("MainWindow", "1.00"))
|
||||||
self.menuFile.setTitle(_translate("MainWindow", "File"))
|
self.menuFile.setTitle(_translate("MainWindow", "File"))
|
||||||
self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
|
self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
|
||||||
self.menuView.setTitle(_translate("MainWindow", "View"))
|
self.menuView.setTitle(_translate("MainWindow", "View"))
|
||||||
|
|||||||
323
ui.ui
323
ui.ui
@ -19,7 +19,7 @@
|
|||||||
<widget class="QWidget" name="centralwidget">
|
<widget class="QWidget" name="centralwidget">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3" stretch="20">
|
<layout class="QVBoxLayout" name="verticalLayout_3" stretch="20">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,0,0,0">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
@ -65,120 +65,8 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="vLayoutPlaybackVisuals">
|
<layout class="QVBoxLayout" name="vLayoutPlaybackVisuals">
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetMaximumSize</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="4,0,4,1">
|
<widget class="PlotWidget" name="PlotWidget" native="true"/>
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetMaximumSize</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QSlider" name="playbackSlider">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="timeHorizontalLayout2">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="startTimeLabel">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Monospace</family>
|
|
||||||
<italic>false</italic>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>00:00</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="slashLabel">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Monospace</family>
|
|
||||||
<italic>false</italic>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>/</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="endTimeLabel">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Monospace</family>
|
|
||||||
<weight>75</weight>
|
|
||||||
<italic>false</italic>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>00:00</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QSlider" name="speedSlider">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>100</number>
|
|
||||||
</property>
|
|
||||||
<property name="singleStep">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>50</number>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="invertedAppearance">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="tickPosition">
|
|
||||||
<enum>QSlider::TicksAbove</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="speedLabel">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Monospace</family>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>1.00</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="PlotWidget" name="PlotWidget" native="true">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>150</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
@ -204,67 +92,86 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="hLayoutControls" stretch="1,2,2,2,1">
|
<layout class="QHBoxLayout" name="hLayoutCurrentSongDetails" stretch="0">
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_2">
|
<layout class="QHBoxLayout" name="hLayoutSongDetails" stretch="0,0,0">
|
||||||
<property name="orientation">
|
<item>
|
||||||
<enum>Qt::Horizontal</enum>
|
<widget class="QLabel" name="artistLabel"/>
|
||||||
</property>
|
</item>
|
||||||
<property name="sizeHint" stdset="0">
|
<item>
|
||||||
<size>
|
<widget class="QLabel" name="titleLabel"/>
|
||||||
<width>40</width>
|
</item>
|
||||||
<height>20</height>
|
<item>
|
||||||
</size>
|
<widget class="QLabel" name="albumLabel"/>
|
||||||
</property>
|
</item>
|
||||||
</spacer>
|
</layout>
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="previousButton">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>28</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="playButton">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>28</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="nextButton">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>28</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer_3">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="hLayoutControls2" stretch="1,0,5,0,1">
|
<layout class="QHBoxLayout" name="hLayoutPlayback" stretch="4,0">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SetMaximumSize</enum>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="playbackSlider">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="timeHorizontalLayout2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="startTimeLabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Monospace</family>
|
||||||
|
<italic>false</italic>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>00:00</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="slashLabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Monospace</family>
|
||||||
|
<italic>false</italic>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>/</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="endTimeLabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Monospace</family>
|
||||||
|
<weight>75</weight>
|
||||||
|
<italic>false</italic>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>00:00</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="hLayoutControls" stretch="1,0,1,1,1,0,1">
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
@ -312,17 +219,31 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="hLayoutSongDetails">
|
<widget class="QPushButton" name="previousButton">
|
||||||
<item>
|
<property name="font">
|
||||||
<widget class="QLabel" name="artistLabel"/>
|
<font>
|
||||||
</item>
|
<pointsize>28</pointsize>
|
||||||
<item>
|
</font>
|
||||||
<widget class="QLabel" name="titleLabel"/>
|
</property>
|
||||||
</item>
|
</widget>
|
||||||
<item>
|
</item>
|
||||||
<widget class="QLabel" name="albumLabel"/>
|
<item>
|
||||||
</item>
|
<widget class="QPushButton" name="playButton">
|
||||||
</layout>
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>28</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="nextButton">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>28</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer">
|
<spacer name="horizontalSpacer">
|
||||||
@ -338,11 +259,45 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="pushButton">
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
<property name="text">
|
<item>
|
||||||
<string>nothing</string>
|
<widget class="QSlider" name="speedSlider">
|
||||||
</property>
|
<property name="minimum">
|
||||||
</widget>
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>50</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="invertedAppearance">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="tickPosition">
|
||||||
|
<enum>QSlider::TicksAbove</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="speedLabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Monospace</family>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>1.00</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
@ -356,7 +311,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1152</width>
|
<width>1152</width>
|
||||||
<height>21</height>
|
<height>24</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menuFile">
|
<widget class="QMenu" name="menuFile">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user