Merge branch 'dev'
This commit is contained in:
commit
77a9baa34f
@ -57,6 +57,7 @@ from PyQt6.QtWidgets import (
|
||||
)
|
||||
|
||||
# Third party imports
|
||||
import line_profiler
|
||||
from pygame import mixer
|
||||
from sqlalchemy.orm.session import Session
|
||||
import stackprinter # type: ignore
|
||||
@ -693,7 +694,6 @@ class PreviewManager:
|
||||
mixer.init()
|
||||
self.intro: Optional[int] = None
|
||||
self.path: str = ""
|
||||
self.row_number: Optional[int] = None
|
||||
self.start_time: Optional[dt.datetime] = None
|
||||
self.track_id: int = 0
|
||||
|
||||
@ -767,22 +767,14 @@ class PreviewManager:
|
||||
|
||||
self.intro = ms
|
||||
|
||||
def set_track_info(self, info: TrackInfo) -> None:
|
||||
self.track_id = info.track_id
|
||||
self.row_number = info.row_number
|
||||
|
||||
with db.Session() as session:
|
||||
track = session.get(Tracks, self.track_id)
|
||||
if not track:
|
||||
raise ValueError(
|
||||
f"PreviewManager: unable to retreive track {self.track_id=}"
|
||||
)
|
||||
self.intro = track.intro
|
||||
self.path = track.path
|
||||
def set_track_info(self, track_id: int, track_intro: int, track_path: str) -> None:
|
||||
self.track_id = track_id
|
||||
self.intro = track_intro
|
||||
self.path = track_path
|
||||
|
||||
# Check file readable
|
||||
if file_is_unreadable(self.path):
|
||||
raise ValueError(f"PreviewManager.__init__: {track.path=} unreadable")
|
||||
raise ValueError(f"PreviewManager.__init__: {track_path=} unreadable")
|
||||
|
||||
mixer.music.load(self.path)
|
||||
|
||||
@ -790,7 +782,6 @@ class PreviewManager:
|
||||
mixer.music.stop()
|
||||
mixer.music.unload()
|
||||
self.path = ""
|
||||
self.row_number = None
|
||||
self.track_id = 0
|
||||
self.start_time = None
|
||||
|
||||
@ -2123,7 +2114,8 @@ class Window(QMainWindow):
|
||||
|
||||
webbrowser.get("browser").open_new_tab(url)
|
||||
|
||||
def paste_rows(self) -> None:
|
||||
@line_profiler.profile
|
||||
def paste_rows(self, dummy_for_profiling: int | None = None) -> None:
|
||||
"""
|
||||
Paste earlier cut rows.
|
||||
"""
|
||||
@ -2263,10 +2255,25 @@ class Window(QMainWindow):
|
||||
return
|
||||
if not track_info:
|
||||
return
|
||||
self.preview_manager.set_track_info(track_info)
|
||||
self.preview_manager.play()
|
||||
with db.Session() as session:
|
||||
track = session.get(Tracks, track_info.track_id)
|
||||
if not track:
|
||||
raise ApplicationError(
|
||||
f"musicmuster.preview: unable to retreive track {track_info.track_id=}"
|
||||
)
|
||||
self.preview_manager.set_track_info(
|
||||
track_id=track.id,
|
||||
track_path=track.path,
|
||||
track_intro=track.intro
|
||||
)
|
||||
self.preview_manager.play()
|
||||
self.show_status_message(
|
||||
f"Preview: {track.title} / {track.artist} (row {track_info.row_number})",
|
||||
0
|
||||
)
|
||||
else:
|
||||
self.preview_manager.stop()
|
||||
self.show_status_message("", 0)
|
||||
|
||||
def preview_arm(self):
|
||||
"""Manager arm button for setting intro length"""
|
||||
@ -2528,10 +2535,14 @@ class Window(QMainWindow):
|
||||
def show_status_message(self, message: str, timing: int) -> None:
|
||||
"""
|
||||
Show status message in status bar for timing milliseconds
|
||||
Clear message if message is null string
|
||||
"""
|
||||
|
||||
if self.statusbar:
|
||||
self.statusbar.showMessage(message, timing)
|
||||
if message:
|
||||
self.statusbar.showMessage(message, timing)
|
||||
else:
|
||||
self.statusbar.clearMessage()
|
||||
|
||||
def show_track(self, playlist_track: RowAndTrack) -> None:
|
||||
"""Scroll to show track in plt"""
|
||||
|
||||
@ -31,6 +31,7 @@ from PyQt6.QtWidgets import (
|
||||
)
|
||||
|
||||
# Third party imports
|
||||
import line_profiler
|
||||
|
||||
# App imports
|
||||
from audacity_controller import AudacityController
|
||||
@ -357,7 +358,8 @@ class PlaylistTab(QTableView):
|
||||
# Deselect edited line
|
||||
self.clear_selection()
|
||||
|
||||
def dropEvent(self, event: Optional[QDropEvent]) -> None:
|
||||
@line_profiler.profile
|
||||
def dropEvent(self, event: Optional[QDropEvent], dummy: int | None = None) -> None:
|
||||
"""
|
||||
Move dropped rows
|
||||
"""
|
||||
|
||||
@ -1,850 +0,0 @@
|
||||
# Form implementation generated from reading ui file 'app/ui/main_window.ui'
|
||||
#
|
||||
# Created by: PyQt6 UI code generator 6.8.1
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
MainWindow.setObjectName("MainWindow")
|
||||
MainWindow.resize(1280, 857)
|
||||
MainWindow.setMinimumSize(QtCore.QSize(1280, 0))
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(
|
||||
QtGui.QPixmap(":/icons/musicmuster"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
MainWindow.setWindowIcon(icon)
|
||||
MainWindow.setStyleSheet("")
|
||||
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
|
||||
self.centralwidget.setObjectName("centralwidget")
|
||||
self.gridLayout_4 = QtWidgets.QGridLayout(self.centralwidget)
|
||||
self.gridLayout_4.setObjectName("gridLayout_4")
|
||||
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.previous_track_2 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(
|
||||
self.previous_track_2.sizePolicy().hasHeightForWidth()
|
||||
)
|
||||
self.previous_track_2.setSizePolicy(sizePolicy)
|
||||
self.previous_track_2.setMaximumSize(QtCore.QSize(230, 16777215))
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("Sans")
|
||||
font.setPointSize(20)
|
||||
self.previous_track_2.setFont(font)
|
||||
self.previous_track_2.setStyleSheet(
|
||||
"background-color: #f8d7da;\n" "border: 1px solid rgb(85, 87, 83);"
|
||||
)
|
||||
self.previous_track_2.setAlignment(
|
||||
QtCore.Qt.AlignmentFlag.AlignRight
|
||||
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
||||
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
||||
)
|
||||
self.previous_track_2.setObjectName("previous_track_2")
|
||||
self.verticalLayout_3.addWidget(self.previous_track_2)
|
||||
self.current_track_2 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(
|
||||
self.current_track_2.sizePolicy().hasHeightForWidth()
|
||||
)
|
||||
self.current_track_2.setSizePolicy(sizePolicy)
|
||||
self.current_track_2.setMaximumSize(QtCore.QSize(230, 16777215))
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("Sans")
|
||||
font.setPointSize(20)
|
||||
self.current_track_2.setFont(font)
|
||||
self.current_track_2.setStyleSheet(
|
||||
"background-color: #d4edda;\n" "border: 1px solid rgb(85, 87, 83);"
|
||||
)
|
||||
self.current_track_2.setAlignment(
|
||||
QtCore.Qt.AlignmentFlag.AlignRight
|
||||
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
||||
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
||||
)
|
||||
self.current_track_2.setObjectName("current_track_2")
|
||||
self.verticalLayout_3.addWidget(self.current_track_2)
|
||||
self.next_track_2 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.next_track_2.sizePolicy().hasHeightForWidth())
|
||||
self.next_track_2.setSizePolicy(sizePolicy)
|
||||
self.next_track_2.setMaximumSize(QtCore.QSize(230, 16777215))
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("Sans")
|
||||
font.setPointSize(20)
|
||||
self.next_track_2.setFont(font)
|
||||
self.next_track_2.setStyleSheet(
|
||||
"background-color: #fff3cd;\n" "border: 1px solid rgb(85, 87, 83);"
|
||||
)
|
||||
self.next_track_2.setAlignment(
|
||||
QtCore.Qt.AlignmentFlag.AlignRight
|
||||
| QtCore.Qt.AlignmentFlag.AlignTrailing
|
||||
| QtCore.Qt.AlignmentFlag.AlignVCenter
|
||||
)
|
||||
self.next_track_2.setObjectName("next_track_2")
|
||||
self.verticalLayout_3.addWidget(self.next_track_2)
|
||||
self.horizontalLayout_3.addLayout(self.verticalLayout_3)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.hdrPreviousTrack = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(
|
||||
self.hdrPreviousTrack.sizePolicy().hasHeightForWidth()
|
||||
)
|
||||
self.hdrPreviousTrack.setSizePolicy(sizePolicy)
|
||||
self.hdrPreviousTrack.setMinimumSize(QtCore.QSize(0, 0))
|
||||
self.hdrPreviousTrack.setMaximumSize(QtCore.QSize(16777215, 16777215))
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("Sans")
|
||||
font.setPointSize(20)
|
||||
self.hdrPreviousTrack.setFont(font)
|
||||
self.hdrPreviousTrack.setStyleSheet(
|
||||
"background-color: #f8d7da;\n" "border: 1px solid rgb(85, 87, 83);"
|
||||
)
|
||||
self.hdrPreviousTrack.setText("")
|
||||
self.hdrPreviousTrack.setWordWrap(False)
|
||||
self.hdrPreviousTrack.setObjectName("hdrPreviousTrack")
|
||||
self.verticalLayout.addWidget(self.hdrPreviousTrack)
|
||||
self.hdrCurrentTrack = QtWidgets.QPushButton(parent=self.centralwidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(
|
||||
self.hdrCurrentTrack.sizePolicy().hasHeightForWidth()
|
||||
)
|
||||
self.hdrCurrentTrack.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setPointSize(20)
|
||||
self.hdrCurrentTrack.setFont(font)
|
||||
self.hdrCurrentTrack.setStyleSheet(
|
||||
"background-color: #d4edda;\n"
|
||||
"border: 1px solid rgb(85, 87, 83);\n"
|
||||
"text-align: left;\n"
|
||||
"padding-left: 8px;\n"
|
||||
""
|
||||
)
|
||||
self.hdrCurrentTrack.setText("")
|
||||
self.hdrCurrentTrack.setFlat(True)
|
||||
self.hdrCurrentTrack.setObjectName("hdrCurrentTrack")
|
||||
self.verticalLayout.addWidget(self.hdrCurrentTrack)
|
||||
self.hdrNextTrack = QtWidgets.QPushButton(parent=self.centralwidget)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.hdrNextTrack.sizePolicy().hasHeightForWidth())
|
||||
self.hdrNextTrack.setSizePolicy(sizePolicy)
|
||||
font = QtGui.QFont()
|
||||
font.setPointSize(20)
|
||||
self.hdrNextTrack.setFont(font)
|
||||
self.hdrNextTrack.setStyleSheet(
|
||||
"background-color: #fff3cd;\n"
|
||||
"border: 1px solid rgb(85, 87, 83);\n"
|
||||
"text-align: left;\n"
|
||||
"padding-left: 8px;"
|
||||
)
|
||||
self.hdrNextTrack.setText("")
|
||||
self.hdrNextTrack.setFlat(True)
|
||||
self.hdrNextTrack.setObjectName("hdrNextTrack")
|
||||
self.verticalLayout.addWidget(self.hdrNextTrack)
|
||||
self.horizontalLayout_3.addLayout(self.verticalLayout)
|
||||
self.frame_2 = QtWidgets.QFrame(parent=self.centralwidget)
|
||||
self.frame_2.setMinimumSize(QtCore.QSize(0, 131))
|
||||
self.frame_2.setMaximumSize(QtCore.QSize(230, 131))
|
||||
self.frame_2.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame_2.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame_2.setObjectName("frame_2")
|
||||
self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.frame_2)
|
||||
self.verticalLayout_10.setObjectName("verticalLayout_10")
|
||||
self.lblTOD = QtWidgets.QLabel(parent=self.frame_2)
|
||||
self.lblTOD.setMinimumSize(QtCore.QSize(208, 0))
|
||||
font = QtGui.QFont()
|
||||
font.setPointSize(35)
|
||||
self.lblTOD.setFont(font)
|
||||
self.lblTOD.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.lblTOD.setObjectName("lblTOD")
|
||||
self.verticalLayout_10.addWidget(self.lblTOD)
|
||||
self.label_elapsed_timer = QtWidgets.QLabel(parent=self.frame_2)
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("FreeSans")
|
||||
font.setPointSize(18)
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_elapsed_timer.setFont(font)
|
||||
self.label_elapsed_timer.setStyleSheet("color: black;")
|
||||
self.label_elapsed_timer.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_elapsed_timer.setObjectName("label_elapsed_timer")
|
||||
self.verticalLayout_10.addWidget(self.label_elapsed_timer)
|
||||
self.horizontalLayout_3.addWidget(self.frame_2)
|
||||
self.gridLayout_4.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
|
||||
self.frame_4 = QtWidgets.QFrame(parent=self.centralwidget)
|
||||
self.frame_4.setMinimumSize(QtCore.QSize(0, 16))
|
||||
self.frame_4.setAutoFillBackground(False)
|
||||
self.frame_4.setStyleSheet("background-color: rgb(154, 153, 150)")
|
||||
self.frame_4.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame_4.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame_4.setObjectName("frame_4")
|
||||
self.gridLayout_4.addWidget(self.frame_4, 1, 0, 1, 1)
|
||||
self.cartsWidget = QtWidgets.QWidget(parent=self.centralwidget)
|
||||
self.cartsWidget.setObjectName("cartsWidget")
|
||||
self.horizontalLayout_Carts = QtWidgets.QHBoxLayout(self.cartsWidget)
|
||||
self.horizontalLayout_Carts.setObjectName("horizontalLayout_Carts")
|
||||
spacerItem = QtWidgets.QSpacerItem(
|
||||
40,
|
||||
20,
|
||||
QtWidgets.QSizePolicy.Policy.Expanding,
|
||||
QtWidgets.QSizePolicy.Policy.Minimum,
|
||||
)
|
||||
self.horizontalLayout_Carts.addItem(spacerItem)
|
||||
self.gridLayout_4.addWidget(self.cartsWidget, 2, 0, 1, 1)
|
||||
self.frame_6 = QtWidgets.QFrame(parent=self.centralwidget)
|
||||
self.frame_6.setMinimumSize(QtCore.QSize(0, 16))
|
||||
self.frame_6.setAutoFillBackground(False)
|
||||
self.frame_6.setStyleSheet("background-color: rgb(154, 153, 150)")
|
||||
self.frame_6.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame_6.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame_6.setObjectName("frame_6")
|
||||
self.gridLayout_4.addWidget(self.frame_6, 3, 0, 1, 1)
|
||||
self.splitter = QtWidgets.QSplitter(parent=self.centralwidget)
|
||||
self.splitter.setOrientation(QtCore.Qt.Orientation.Vertical)
|
||||
self.splitter.setObjectName("splitter")
|
||||
self.tabPlaylist = QtWidgets.QTabWidget(parent=self.splitter)
|
||||
self.tabPlaylist.setDocumentMode(False)
|
||||
self.tabPlaylist.setTabsClosable(True)
|
||||
self.tabPlaylist.setMovable(True)
|
||||
self.tabPlaylist.setObjectName("tabPlaylist")
|
||||
self.tabInfolist = InfoTabs(parent=self.splitter)
|
||||
self.tabInfolist.setDocumentMode(False)
|
||||
self.tabInfolist.setTabsClosable(True)
|
||||
self.tabInfolist.setMovable(True)
|
||||
self.tabInfolist.setTabBarAutoHide(False)
|
||||
self.tabInfolist.setObjectName("tabInfolist")
|
||||
self.gridLayout_4.addWidget(self.splitter, 4, 0, 1, 1)
|
||||
self.InfoFooterFrame = QtWidgets.QFrame(parent=self.centralwidget)
|
||||
self.InfoFooterFrame.setMaximumSize(QtCore.QSize(16777215, 16777215))
|
||||
self.InfoFooterFrame.setStyleSheet("background-color: rgb(192, 191, 188)")
|
||||
self.InfoFooterFrame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.InfoFooterFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.InfoFooterFrame.setObjectName("InfoFooterFrame")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(self.InfoFooterFrame)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.FadeStopInfoFrame = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
||||
self.FadeStopInfoFrame.setMinimumSize(QtCore.QSize(152, 112))
|
||||
self.FadeStopInfoFrame.setMaximumSize(QtCore.QSize(184, 16777215))
|
||||
self.FadeStopInfoFrame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.FadeStopInfoFrame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.FadeStopInfoFrame.setObjectName("FadeStopInfoFrame")
|
||||
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.FadeStopInfoFrame)
|
||||
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||
self.btnPreview = QtWidgets.QPushButton(parent=self.FadeStopInfoFrame)
|
||||
self.btnPreview.setMinimumSize(QtCore.QSize(132, 41))
|
||||
icon1 = QtGui.QIcon()
|
||||
icon1.addPixmap(
|
||||
QtGui.QPixmap(":/icons/headphones"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.btnPreview.setIcon(icon1)
|
||||
self.btnPreview.setIconSize(QtCore.QSize(30, 30))
|
||||
self.btnPreview.setCheckable(True)
|
||||
self.btnPreview.setObjectName("btnPreview")
|
||||
self.verticalLayout_4.addWidget(self.btnPreview)
|
||||
self.groupBoxIntroControls = QtWidgets.QGroupBox(parent=self.FadeStopInfoFrame)
|
||||
self.groupBoxIntroControls.setMinimumSize(QtCore.QSize(132, 46))
|
||||
self.groupBoxIntroControls.setMaximumSize(QtCore.QSize(132, 46))
|
||||
self.groupBoxIntroControls.setTitle("")
|
||||
self.groupBoxIntroControls.setObjectName("groupBoxIntroControls")
|
||||
self.btnPreviewStart = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||
self.btnPreviewStart.setGeometry(QtCore.QRect(0, 0, 44, 23))
|
||||
self.btnPreviewStart.setMinimumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewStart.setMaximumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewStart.setObjectName("btnPreviewStart")
|
||||
self.btnPreviewArm = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||
self.btnPreviewArm.setGeometry(QtCore.QRect(44, 0, 44, 23))
|
||||
self.btnPreviewArm.setMinimumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewArm.setMaximumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewArm.setText("")
|
||||
icon2 = QtGui.QIcon()
|
||||
icon2.addPixmap(
|
||||
QtGui.QPixmap(":/icons/record-button.png"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
icon2.addPixmap(
|
||||
QtGui.QPixmap(":/icons/record-red-button.png"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.On,
|
||||
)
|
||||
self.btnPreviewArm.setIcon(icon2)
|
||||
self.btnPreviewArm.setCheckable(True)
|
||||
self.btnPreviewArm.setObjectName("btnPreviewArm")
|
||||
self.btnPreviewEnd = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||
self.btnPreviewEnd.setGeometry(QtCore.QRect(88, 0, 44, 23))
|
||||
self.btnPreviewEnd.setMinimumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewEnd.setMaximumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewEnd.setObjectName("btnPreviewEnd")
|
||||
self.btnPreviewBack = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||
self.btnPreviewBack.setGeometry(QtCore.QRect(0, 23, 44, 23))
|
||||
self.btnPreviewBack.setMinimumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewBack.setMaximumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewBack.setObjectName("btnPreviewBack")
|
||||
self.btnPreviewMark = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||
self.btnPreviewMark.setEnabled(False)
|
||||
self.btnPreviewMark.setGeometry(QtCore.QRect(44, 23, 44, 23))
|
||||
self.btnPreviewMark.setMinimumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewMark.setMaximumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewMark.setText("")
|
||||
icon3 = QtGui.QIcon()
|
||||
icon3.addPixmap(
|
||||
QtGui.QPixmap(":/icons/star.png"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.On,
|
||||
)
|
||||
icon3.addPixmap(
|
||||
QtGui.QPixmap(":/icons/star_empty.png"),
|
||||
QtGui.QIcon.Mode.Disabled,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.btnPreviewMark.setIcon(icon3)
|
||||
self.btnPreviewMark.setObjectName("btnPreviewMark")
|
||||
self.btnPreviewFwd = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||
self.btnPreviewFwd.setGeometry(QtCore.QRect(88, 23, 44, 23))
|
||||
self.btnPreviewFwd.setMinimumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewFwd.setMaximumSize(QtCore.QSize(44, 23))
|
||||
self.btnPreviewFwd.setObjectName("btnPreviewFwd")
|
||||
self.verticalLayout_4.addWidget(self.groupBoxIntroControls)
|
||||
self.horizontalLayout.addWidget(self.FadeStopInfoFrame)
|
||||
self.frame_intro = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
||||
self.frame_intro.setMinimumSize(QtCore.QSize(152, 112))
|
||||
self.frame_intro.setStyleSheet("")
|
||||
self.frame_intro.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame_intro.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame_intro.setObjectName("frame_intro")
|
||||
self.verticalLayout_9 = QtWidgets.QVBoxLayout(self.frame_intro)
|
||||
self.verticalLayout_9.setObjectName("verticalLayout_9")
|
||||
self.label_7 = QtWidgets.QLabel(parent=self.frame_intro)
|
||||
self.label_7.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_7.setObjectName("label_7")
|
||||
self.verticalLayout_9.addWidget(self.label_7)
|
||||
self.label_intro_timer = QtWidgets.QLabel(parent=self.frame_intro)
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("FreeSans")
|
||||
font.setPointSize(40)
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_intro_timer.setFont(font)
|
||||
self.label_intro_timer.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_intro_timer.setObjectName("label_intro_timer")
|
||||
self.verticalLayout_9.addWidget(self.label_intro_timer)
|
||||
self.horizontalLayout.addWidget(self.frame_intro)
|
||||
self.frame_toggleplayed_3db = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
||||
self.frame_toggleplayed_3db.setMinimumSize(QtCore.QSize(152, 112))
|
||||
self.frame_toggleplayed_3db.setMaximumSize(QtCore.QSize(184, 16777215))
|
||||
self.frame_toggleplayed_3db.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame_toggleplayed_3db.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame_toggleplayed_3db.setObjectName("frame_toggleplayed_3db")
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.frame_toggleplayed_3db)
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.btnDrop3db = QtWidgets.QPushButton(parent=self.frame_toggleplayed_3db)
|
||||
self.btnDrop3db.setMinimumSize(QtCore.QSize(132, 41))
|
||||
self.btnDrop3db.setMaximumSize(QtCore.QSize(164, 16777215))
|
||||
self.btnDrop3db.setCheckable(True)
|
||||
self.btnDrop3db.setObjectName("btnDrop3db")
|
||||
self.verticalLayout_6.addWidget(self.btnDrop3db)
|
||||
self.btnHidePlayed = QtWidgets.QPushButton(parent=self.frame_toggleplayed_3db)
|
||||
self.btnHidePlayed.setMinimumSize(QtCore.QSize(132, 41))
|
||||
self.btnHidePlayed.setMaximumSize(QtCore.QSize(164, 16777215))
|
||||
self.btnHidePlayed.setCheckable(True)
|
||||
self.btnHidePlayed.setObjectName("btnHidePlayed")
|
||||
self.verticalLayout_6.addWidget(self.btnHidePlayed)
|
||||
self.horizontalLayout.addWidget(self.frame_toggleplayed_3db)
|
||||
self.frame_fade = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
||||
self.frame_fade.setMinimumSize(QtCore.QSize(152, 112))
|
||||
self.frame_fade.setStyleSheet("")
|
||||
self.frame_fade.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame_fade.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame_fade.setObjectName("frame_fade")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.frame_fade)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.label_4 = QtWidgets.QLabel(parent=self.frame_fade)
|
||||
self.label_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_4.setObjectName("label_4")
|
||||
self.verticalLayout_2.addWidget(self.label_4)
|
||||
self.label_fade_timer = QtWidgets.QLabel(parent=self.frame_fade)
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("FreeSans")
|
||||
font.setPointSize(40)
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_fade_timer.setFont(font)
|
||||
self.label_fade_timer.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_fade_timer.setObjectName("label_fade_timer")
|
||||
self.verticalLayout_2.addWidget(self.label_fade_timer)
|
||||
self.horizontalLayout.addWidget(self.frame_fade)
|
||||
self.frame_silent = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
||||
self.frame_silent.setMinimumSize(QtCore.QSize(152, 112))
|
||||
self.frame_silent.setStyleSheet("")
|
||||
self.frame_silent.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame_silent.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame_silent.setObjectName("frame_silent")
|
||||
self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.frame_silent)
|
||||
self.verticalLayout_7.setObjectName("verticalLayout_7")
|
||||
self.label_5 = QtWidgets.QLabel(parent=self.frame_silent)
|
||||
self.label_5.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_5.setObjectName("label_5")
|
||||
self.verticalLayout_7.addWidget(self.label_5)
|
||||
self.label_silent_timer = QtWidgets.QLabel(parent=self.frame_silent)
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("FreeSans")
|
||||
font.setPointSize(40)
|
||||
font.setBold(False)
|
||||
font.setWeight(50)
|
||||
self.label_silent_timer.setFont(font)
|
||||
self.label_silent_timer.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.label_silent_timer.setObjectName("label_silent_timer")
|
||||
self.verticalLayout_7.addWidget(self.label_silent_timer)
|
||||
self.horizontalLayout.addWidget(self.frame_silent)
|
||||
self.widgetFadeVolume = PlotWidget(parent=self.InfoFooterFrame)
|
||||
sizePolicy = QtWidgets.QSizePolicy(
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
QtWidgets.QSizePolicy.Policy.Preferred,
|
||||
)
|
||||
sizePolicy.setHorizontalStretch(1)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(
|
||||
self.widgetFadeVolume.sizePolicy().hasHeightForWidth()
|
||||
)
|
||||
self.widgetFadeVolume.setSizePolicy(sizePolicy)
|
||||
self.widgetFadeVolume.setMinimumSize(QtCore.QSize(0, 0))
|
||||
self.widgetFadeVolume.setObjectName("widgetFadeVolume")
|
||||
self.horizontalLayout.addWidget(self.widgetFadeVolume)
|
||||
self.frame = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
||||
self.frame.setMinimumSize(QtCore.QSize(151, 0))
|
||||
self.frame.setMaximumSize(QtCore.QSize(151, 112))
|
||||
self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
|
||||
self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
|
||||
self.frame.setObjectName("frame")
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.frame)
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.btnFade = QtWidgets.QPushButton(parent=self.frame)
|
||||
self.btnFade.setMinimumSize(QtCore.QSize(132, 32))
|
||||
self.btnFade.setMaximumSize(QtCore.QSize(164, 16777215))
|
||||
icon4 = QtGui.QIcon()
|
||||
icon4.addPixmap(
|
||||
QtGui.QPixmap(":/icons/fade"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.btnFade.setIcon(icon4)
|
||||
self.btnFade.setIconSize(QtCore.QSize(30, 30))
|
||||
self.btnFade.setObjectName("btnFade")
|
||||
self.verticalLayout_5.addWidget(self.btnFade)
|
||||
self.btnStop = QtWidgets.QPushButton(parent=self.frame)
|
||||
self.btnStop.setMinimumSize(QtCore.QSize(0, 36))
|
||||
icon5 = QtGui.QIcon()
|
||||
icon5.addPixmap(
|
||||
QtGui.QPixmap(":/icons/stopsign"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.btnStop.setIcon(icon5)
|
||||
self.btnStop.setObjectName("btnStop")
|
||||
self.verticalLayout_5.addWidget(self.btnStop)
|
||||
self.horizontalLayout.addWidget(self.frame)
|
||||
self.gridLayout_4.addWidget(self.InfoFooterFrame, 5, 0, 1, 1)
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
|
||||
self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 29))
|
||||
self.menubar.setObjectName("menubar")
|
||||
self.menuFile = QtWidgets.QMenu(parent=self.menubar)
|
||||
self.menuFile.setObjectName("menuFile")
|
||||
self.menuPlaylist = QtWidgets.QMenu(parent=self.menubar)
|
||||
self.menuPlaylist.setObjectName("menuPlaylist")
|
||||
self.menuSearc_h = QtWidgets.QMenu(parent=self.menubar)
|
||||
self.menuSearc_h.setObjectName("menuSearc_h")
|
||||
self.menuHelp = QtWidgets.QMenu(parent=self.menubar)
|
||||
self.menuHelp.setObjectName("menuHelp")
|
||||
MainWindow.setMenuBar(self.menubar)
|
||||
self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
|
||||
self.statusbar.setEnabled(True)
|
||||
self.statusbar.setStyleSheet("background-color: rgb(211, 215, 207);")
|
||||
self.statusbar.setObjectName("statusbar")
|
||||
MainWindow.setStatusBar(self.statusbar)
|
||||
self.actionPlay_next = QtGui.QAction(parent=MainWindow)
|
||||
icon6 = QtGui.QIcon()
|
||||
icon6.addPixmap(
|
||||
QtGui.QPixmap("app/ui/../../../../../../.designer/backup/icon-play.png"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.actionPlay_next.setIcon(icon6)
|
||||
self.actionPlay_next.setObjectName("actionPlay_next")
|
||||
self.actionSkipToNext = QtGui.QAction(parent=MainWindow)
|
||||
icon7 = QtGui.QIcon()
|
||||
icon7.addPixmap(
|
||||
QtGui.QPixmap(":/icons/next"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.actionSkipToNext.setIcon(icon7)
|
||||
self.actionSkipToNext.setObjectName("actionSkipToNext")
|
||||
self.actionInsertTrack = QtGui.QAction(parent=MainWindow)
|
||||
icon8 = QtGui.QIcon()
|
||||
icon8.addPixmap(
|
||||
QtGui.QPixmap(
|
||||
"app/ui/../../../../../../.designer/backup/icon_search_database.png"
|
||||
),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.actionInsertTrack.setIcon(icon8)
|
||||
self.actionInsertTrack.setObjectName("actionInsertTrack")
|
||||
self.actionAdd_file = QtGui.QAction(parent=MainWindow)
|
||||
icon9 = QtGui.QIcon()
|
||||
icon9.addPixmap(
|
||||
QtGui.QPixmap(
|
||||
"app/ui/../../../../../../.designer/backup/icon_open_file.png"
|
||||
),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.actionAdd_file.setIcon(icon9)
|
||||
self.actionAdd_file.setObjectName("actionAdd_file")
|
||||
self.actionFade = QtGui.QAction(parent=MainWindow)
|
||||
icon10 = QtGui.QIcon()
|
||||
icon10.addPixmap(
|
||||
QtGui.QPixmap("app/ui/../../../../../../.designer/backup/icon-fade.png"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.actionFade.setIcon(icon10)
|
||||
self.actionFade.setObjectName("actionFade")
|
||||
self.actionStop = QtGui.QAction(parent=MainWindow)
|
||||
icon11 = QtGui.QIcon()
|
||||
icon11.addPixmap(
|
||||
QtGui.QPixmap(":/icons/stop"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.actionStop.setIcon(icon11)
|
||||
self.actionStop.setObjectName("actionStop")
|
||||
self.action_Clear_selection = QtGui.QAction(parent=MainWindow)
|
||||
self.action_Clear_selection.setObjectName("action_Clear_selection")
|
||||
self.action_Resume_previous = QtGui.QAction(parent=MainWindow)
|
||||
icon12 = QtGui.QIcon()
|
||||
icon12.addPixmap(
|
||||
QtGui.QPixmap(":/icons/previous"),
|
||||
QtGui.QIcon.Mode.Normal,
|
||||
QtGui.QIcon.State.Off,
|
||||
)
|
||||
self.action_Resume_previous.setIcon(icon12)
|
||||
self.action_Resume_previous.setObjectName("action_Resume_previous")
|
||||
self.actionE_xit = QtGui.QAction(parent=MainWindow)
|
||||
self.actionE_xit.setObjectName("actionE_xit")
|
||||
self.actionTest = QtGui.QAction(parent=MainWindow)
|
||||
self.actionTest.setObjectName("actionTest")
|
||||
self.actionOpenPlaylist = QtGui.QAction(parent=MainWindow)
|
||||
self.actionOpenPlaylist.setObjectName("actionOpenPlaylist")
|
||||
self.actionNewPlaylist = QtGui.QAction(parent=MainWindow)
|
||||
self.actionNewPlaylist.setObjectName("actionNewPlaylist")
|
||||
self.actionTestFunction = QtGui.QAction(parent=MainWindow)
|
||||
self.actionTestFunction.setObjectName("actionTestFunction")
|
||||
self.actionSkipToFade = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSkipToFade.setObjectName("actionSkipToFade")
|
||||
self.actionSkipToEnd = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSkipToEnd.setObjectName("actionSkipToEnd")
|
||||
self.actionClosePlaylist = QtGui.QAction(parent=MainWindow)
|
||||
self.actionClosePlaylist.setEnabled(True)
|
||||
self.actionClosePlaylist.setObjectName("actionClosePlaylist")
|
||||
self.actionRenamePlaylist = QtGui.QAction(parent=MainWindow)
|
||||
self.actionRenamePlaylist.setEnabled(True)
|
||||
self.actionRenamePlaylist.setObjectName("actionRenamePlaylist")
|
||||
self.actionDeletePlaylist = QtGui.QAction(parent=MainWindow)
|
||||
self.actionDeletePlaylist.setEnabled(True)
|
||||
self.actionDeletePlaylist.setObjectName("actionDeletePlaylist")
|
||||
self.actionMoveSelected = QtGui.QAction(parent=MainWindow)
|
||||
self.actionMoveSelected.setObjectName("actionMoveSelected")
|
||||
self.actionExport_playlist = QtGui.QAction(parent=MainWindow)
|
||||
self.actionExport_playlist.setObjectName("actionExport_playlist")
|
||||
self.actionSetNext = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSetNext.setObjectName("actionSetNext")
|
||||
self.actionSelect_next_track = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSelect_next_track.setObjectName("actionSelect_next_track")
|
||||
self.actionSelect_previous_track = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSelect_previous_track.setObjectName("actionSelect_previous_track")
|
||||
self.actionSelect_played_tracks = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSelect_played_tracks.setObjectName("actionSelect_played_tracks")
|
||||
self.actionMoveUnplayed = QtGui.QAction(parent=MainWindow)
|
||||
self.actionMoveUnplayed.setObjectName("actionMoveUnplayed")
|
||||
self.actionAdd_note = QtGui.QAction(parent=MainWindow)
|
||||
self.actionAdd_note.setObjectName("actionAdd_note")
|
||||
self.actionEnable_controls = QtGui.QAction(parent=MainWindow)
|
||||
self.actionEnable_controls.setObjectName("actionEnable_controls")
|
||||
self.actionImport = QtGui.QAction(parent=MainWindow)
|
||||
self.actionImport.setObjectName("actionImport")
|
||||
self.actionDownload_CSV_of_played_tracks = QtGui.QAction(parent=MainWindow)
|
||||
self.actionDownload_CSV_of_played_tracks.setObjectName(
|
||||
"actionDownload_CSV_of_played_tracks"
|
||||
)
|
||||
self.actionSearch = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSearch.setObjectName("actionSearch")
|
||||
self.actionInsertSectionHeader = QtGui.QAction(parent=MainWindow)
|
||||
self.actionInsertSectionHeader.setObjectName("actionInsertSectionHeader")
|
||||
self.actionRemove = QtGui.QAction(parent=MainWindow)
|
||||
self.actionRemove.setObjectName("actionRemove")
|
||||
self.actionFind_next = QtGui.QAction(parent=MainWindow)
|
||||
self.actionFind_next.setObjectName("actionFind_next")
|
||||
self.actionFind_previous = QtGui.QAction(parent=MainWindow)
|
||||
self.actionFind_previous.setObjectName("actionFind_previous")
|
||||
self.action_About = QtGui.QAction(parent=MainWindow)
|
||||
self.action_About.setObjectName("action_About")
|
||||
self.actionSave_as_template = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSave_as_template.setObjectName("actionSave_as_template")
|
||||
self.actionManage_templates = QtGui.QAction(parent=MainWindow)
|
||||
self.actionManage_templates.setObjectName("actionManage_templates")
|
||||
self.actionDebug = QtGui.QAction(parent=MainWindow)
|
||||
self.actionDebug.setObjectName("actionDebug")
|
||||
self.actionAdd_cart = QtGui.QAction(parent=MainWindow)
|
||||
self.actionAdd_cart.setObjectName("actionAdd_cart")
|
||||
self.actionMark_for_moving = QtGui.QAction(parent=MainWindow)
|
||||
self.actionMark_for_moving.setObjectName("actionMark_for_moving")
|
||||
self.actionPaste = QtGui.QAction(parent=MainWindow)
|
||||
self.actionPaste.setObjectName("actionPaste")
|
||||
self.actionResume = QtGui.QAction(parent=MainWindow)
|
||||
self.actionResume.setObjectName("actionResume")
|
||||
self.actionSearch_title_in_Wikipedia = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSearch_title_in_Wikipedia.setObjectName(
|
||||
"actionSearch_title_in_Wikipedia"
|
||||
)
|
||||
self.actionSearch_title_in_Songfacts = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSearch_title_in_Songfacts.setObjectName(
|
||||
"actionSearch_title_in_Songfacts"
|
||||
)
|
||||
self.actionSelect_duplicate_rows = QtGui.QAction(parent=MainWindow)
|
||||
self.actionSelect_duplicate_rows.setObjectName("actionSelect_duplicate_rows")
|
||||
self.actionImport_files = QtGui.QAction(parent=MainWindow)
|
||||
self.actionImport_files.setObjectName("actionImport_files")
|
||||
self.actionOpenQuerylist = QtGui.QAction(parent=MainWindow)
|
||||
self.actionOpenQuerylist.setObjectName("actionOpenQuerylist")
|
||||
self.actionManage_querylists = QtGui.QAction(parent=MainWindow)
|
||||
self.actionManage_querylists.setObjectName("actionManage_querylists")
|
||||
self.menuFile.addSeparator()
|
||||
self.menuFile.addAction(self.actionInsertTrack)
|
||||
self.menuFile.addAction(self.actionRemove)
|
||||
self.menuFile.addAction(self.actionInsertSectionHeader)
|
||||
self.menuFile.addSeparator()
|
||||
self.menuFile.addAction(self.actionMark_for_moving)
|
||||
self.menuFile.addAction(self.actionPaste)
|
||||
self.menuFile.addSeparator()
|
||||
self.menuFile.addAction(self.actionExport_playlist)
|
||||
self.menuFile.addAction(self.actionDownload_CSV_of_played_tracks)
|
||||
self.menuFile.addSeparator()
|
||||
self.menuFile.addAction(self.actionSelect_duplicate_rows)
|
||||
self.menuFile.addAction(self.actionMoveSelected)
|
||||
self.menuFile.addAction(self.actionMoveUnplayed)
|
||||
self.menuFile.addAction(self.action_Clear_selection)
|
||||
self.menuPlaylist.addSeparator()
|
||||
self.menuPlaylist.addSeparator()
|
||||
self.menuPlaylist.addAction(self.actionOpenPlaylist)
|
||||
self.menuPlaylist.addAction(self.actionNewPlaylist)
|
||||
self.menuPlaylist.addAction(self.actionClosePlaylist)
|
||||
self.menuPlaylist.addAction(self.actionRenamePlaylist)
|
||||
self.menuPlaylist.addAction(self.actionDeletePlaylist)
|
||||
self.menuPlaylist.addSeparator()
|
||||
self.menuPlaylist.addAction(self.actionOpenQuerylist)
|
||||
self.menuPlaylist.addAction(self.actionManage_querylists)
|
||||
self.menuPlaylist.addSeparator()
|
||||
self.menuPlaylist.addAction(self.actionSave_as_template)
|
||||
self.menuPlaylist.addAction(self.actionManage_templates)
|
||||
self.menuPlaylist.addSeparator()
|
||||
self.menuPlaylist.addAction(self.actionImport_files)
|
||||
self.menuPlaylist.addSeparator()
|
||||
self.menuPlaylist.addAction(self.actionE_xit)
|
||||
self.menuSearc_h.addAction(self.actionSetNext)
|
||||
self.menuSearc_h.addAction(self.actionPlay_next)
|
||||
self.menuSearc_h.addAction(self.actionFade)
|
||||
self.menuSearc_h.addAction(self.actionStop)
|
||||
self.menuSearc_h.addAction(self.actionResume)
|
||||
self.menuSearc_h.addAction(self.actionSkipToNext)
|
||||
self.menuSearc_h.addSeparator()
|
||||
self.menuSearc_h.addAction(self.actionSearch)
|
||||
self.menuSearc_h.addAction(self.actionSearch_title_in_Wikipedia)
|
||||
self.menuSearc_h.addAction(self.actionSearch_title_in_Songfacts)
|
||||
self.menuHelp.addAction(self.action_About)
|
||||
self.menuHelp.addAction(self.actionDebug)
|
||||
self.menubar.addAction(self.menuPlaylist.menuAction())
|
||||
self.menubar.addAction(self.menuFile.menuAction())
|
||||
self.menubar.addAction(self.menuSearc_h.menuAction())
|
||||
self.menubar.addAction(self.menuHelp.menuAction())
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.tabPlaylist.setCurrentIndex(-1)
|
||||
self.tabInfolist.setCurrentIndex(-1)
|
||||
self.actionE_xit.triggered.connect(MainWindow.close) # type: ignore
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "Music Muster"))
|
||||
self.previous_track_2.setText(_translate("MainWindow", "Last track:"))
|
||||
self.current_track_2.setText(_translate("MainWindow", "Current track:"))
|
||||
self.next_track_2.setText(_translate("MainWindow", "Next track:"))
|
||||
self.lblTOD.setText(_translate("MainWindow", "00:00:00"))
|
||||
self.label_elapsed_timer.setText(_translate("MainWindow", "00:00 / 00:00"))
|
||||
self.btnPreview.setText(_translate("MainWindow", " Preview"))
|
||||
self.btnPreviewStart.setText(_translate("MainWindow", "<<"))
|
||||
self.btnPreviewEnd.setText(_translate("MainWindow", ">>"))
|
||||
self.btnPreviewBack.setText(_translate("MainWindow", "<"))
|
||||
self.btnPreviewFwd.setText(_translate("MainWindow", ">"))
|
||||
self.label_7.setText(_translate("MainWindow", "Intro"))
|
||||
self.label_intro_timer.setText(_translate("MainWindow", "0:0"))
|
||||
self.btnDrop3db.setText(_translate("MainWindow", "-3dB to talk"))
|
||||
self.btnHidePlayed.setText(_translate("MainWindow", "Hide played"))
|
||||
self.label_4.setText(_translate("MainWindow", "Fade"))
|
||||
self.label_fade_timer.setText(_translate("MainWindow", "00:00"))
|
||||
self.label_5.setText(_translate("MainWindow", "Silent"))
|
||||
self.label_silent_timer.setText(_translate("MainWindow", "00:00"))
|
||||
self.btnFade.setText(_translate("MainWindow", " Fade"))
|
||||
self.btnStop.setText(_translate("MainWindow", " Stop"))
|
||||
self.menuFile.setTitle(_translate("MainWindow", "&Playlist"))
|
||||
self.menuPlaylist.setTitle(_translate("MainWindow", "&File"))
|
||||
self.menuSearc_h.setTitle(_translate("MainWindow", "&Music"))
|
||||
self.menuHelp.setTitle(_translate("MainWindow", "Help"))
|
||||
self.actionPlay_next.setText(_translate("MainWindow", "&Play next"))
|
||||
self.actionPlay_next.setShortcut(_translate("MainWindow", "Return"))
|
||||
self.actionSkipToNext.setText(_translate("MainWindow", "Skip to &next"))
|
||||
self.actionSkipToNext.setShortcut(_translate("MainWindow", "Ctrl+Alt+Return"))
|
||||
self.actionInsertTrack.setText(_translate("MainWindow", "Insert &track..."))
|
||||
self.actionInsertTrack.setShortcut(_translate("MainWindow", "Ctrl+T"))
|
||||
self.actionAdd_file.setText(_translate("MainWindow", "Add &file"))
|
||||
self.actionAdd_file.setShortcut(_translate("MainWindow", "Ctrl+F"))
|
||||
self.actionFade.setText(_translate("MainWindow", "F&ade"))
|
||||
self.actionFade.setShortcut(_translate("MainWindow", "Ctrl+Z"))
|
||||
self.actionStop.setText(_translate("MainWindow", "S&top"))
|
||||
self.actionStop.setShortcut(_translate("MainWindow", "Ctrl+Alt+S"))
|
||||
self.action_Clear_selection.setText(
|
||||
_translate("MainWindow", "Clear &selection")
|
||||
)
|
||||
self.action_Clear_selection.setShortcut(_translate("MainWindow", "Esc"))
|
||||
self.action_Resume_previous.setText(
|
||||
_translate("MainWindow", "&Resume previous")
|
||||
)
|
||||
self.actionE_xit.setText(_translate("MainWindow", "E&xit"))
|
||||
self.actionTest.setText(_translate("MainWindow", "&Test"))
|
||||
self.actionOpenPlaylist.setText(_translate("MainWindow", "O&pen..."))
|
||||
self.actionNewPlaylist.setText(_translate("MainWindow", "&New..."))
|
||||
self.actionTestFunction.setText(_translate("MainWindow", "&Test function"))
|
||||
self.actionSkipToFade.setText(
|
||||
_translate("MainWindow", "&Skip to start of fade")
|
||||
)
|
||||
self.actionSkipToEnd.setText(_translate("MainWindow", "Skip to &end of track"))
|
||||
self.actionClosePlaylist.setText(_translate("MainWindow", "&Close"))
|
||||
self.actionRenamePlaylist.setText(_translate("MainWindow", "&Rename..."))
|
||||
self.actionDeletePlaylist.setText(_translate("MainWindow", "Dele&te..."))
|
||||
self.actionMoveSelected.setText(
|
||||
_translate("MainWindow", "Mo&ve selected tracks to...")
|
||||
)
|
||||
self.actionExport_playlist.setText(_translate("MainWindow", "E&xport..."))
|
||||
self.actionSetNext.setText(_translate("MainWindow", "Set &next"))
|
||||
self.actionSetNext.setShortcut(_translate("MainWindow", "Ctrl+N"))
|
||||
self.actionSelect_next_track.setText(
|
||||
_translate("MainWindow", "Select next track")
|
||||
)
|
||||
self.actionSelect_next_track.setShortcut(_translate("MainWindow", "J"))
|
||||
self.actionSelect_previous_track.setText(
|
||||
_translate("MainWindow", "Select previous track")
|
||||
)
|
||||
self.actionSelect_previous_track.setShortcut(_translate("MainWindow", "K"))
|
||||
self.actionSelect_played_tracks.setText(
|
||||
_translate("MainWindow", "Select played tracks")
|
||||
)
|
||||
self.actionMoveUnplayed.setText(
|
||||
_translate("MainWindow", "Move &unplayed tracks to...")
|
||||
)
|
||||
self.actionAdd_note.setText(_translate("MainWindow", "Add note..."))
|
||||
self.actionAdd_note.setShortcut(_translate("MainWindow", "Ctrl+T"))
|
||||
self.actionEnable_controls.setText(_translate("MainWindow", "Enable controls"))
|
||||
self.actionImport.setText(_translate("MainWindow", "Import track..."))
|
||||
self.actionImport.setShortcut(_translate("MainWindow", "Ctrl+Shift+I"))
|
||||
self.actionDownload_CSV_of_played_tracks.setText(
|
||||
_translate("MainWindow", "Download CSV of played tracks...")
|
||||
)
|
||||
self.actionSearch.setText(_translate("MainWindow", "Search..."))
|
||||
self.actionSearch.setShortcut(_translate("MainWindow", "/"))
|
||||
self.actionInsertSectionHeader.setText(
|
||||
_translate("MainWindow", "Insert §ion header...")
|
||||
)
|
||||
self.actionInsertSectionHeader.setShortcut(_translate("MainWindow", "Ctrl+H"))
|
||||
self.actionRemove.setText(_translate("MainWindow", "&Remove track"))
|
||||
self.actionFind_next.setText(_translate("MainWindow", "Find next"))
|
||||
self.actionFind_next.setShortcut(_translate("MainWindow", "N"))
|
||||
self.actionFind_previous.setText(_translate("MainWindow", "Find previous"))
|
||||
self.actionFind_previous.setShortcut(_translate("MainWindow", "P"))
|
||||
self.action_About.setText(_translate("MainWindow", "&About"))
|
||||
self.actionSave_as_template.setText(
|
||||
_translate("MainWindow", "Save as template...")
|
||||
)
|
||||
self.actionManage_templates.setText(
|
||||
_translate("MainWindow", "Manage templates...")
|
||||
)
|
||||
self.actionDebug.setText(_translate("MainWindow", "Debug"))
|
||||
self.actionAdd_cart.setText(_translate("MainWindow", "Edit cart &1..."))
|
||||
self.actionMark_for_moving.setText(_translate("MainWindow", "Mark for moving"))
|
||||
self.actionMark_for_moving.setShortcut(_translate("MainWindow", "Ctrl+C"))
|
||||
self.actionPaste.setText(_translate("MainWindow", "Paste"))
|
||||
self.actionPaste.setShortcut(_translate("MainWindow", "Ctrl+V"))
|
||||
self.actionResume.setText(_translate("MainWindow", "Resume"))
|
||||
self.actionResume.setShortcut(_translate("MainWindow", "Ctrl+R"))
|
||||
self.actionSearch_title_in_Wikipedia.setText(
|
||||
_translate("MainWindow", "Search title in Wikipedia")
|
||||
)
|
||||
self.actionSearch_title_in_Wikipedia.setShortcut(
|
||||
_translate("MainWindow", "Ctrl+W")
|
||||
)
|
||||
self.actionSearch_title_in_Songfacts.setText(
|
||||
_translate("MainWindow", "Search title in Songfacts")
|
||||
)
|
||||
self.actionSearch_title_in_Songfacts.setShortcut(
|
||||
_translate("MainWindow", "Ctrl+S")
|
||||
)
|
||||
self.actionSelect_duplicate_rows.setText(
|
||||
_translate("MainWindow", "Select duplicate rows...")
|
||||
)
|
||||
self.actionImport_files.setText(_translate("MainWindow", "Import files..."))
|
||||
|
||||
|
||||
from infotabs import InfoTabs
|
||||
from pyqtgraph import PlotWidget # type: ignore
|
||||
Loading…
Reference in New Issue
Block a user