WIP: time to vocals: preview +- working
This commit is contained in:
parent
1d33622c13
commit
01916c4adc
@ -80,6 +80,8 @@ class Config(object):
|
|||||||
OBS_PORT = 4455
|
OBS_PORT = 4455
|
||||||
PLAY_NEXT_GUARD_MS = 10000
|
PLAY_NEXT_GUARD_MS = 10000
|
||||||
PLAY_SETTLE = 500000
|
PLAY_SETTLE = 500000
|
||||||
|
PREVIEW_ADVANCE_MS = 5000
|
||||||
|
PREVIEW_BACK_MS = 5000
|
||||||
REPLACE_FILES_DEFAULT_SOURCE = "/home/kae/music/Singles/tmp"
|
REPLACE_FILES_DEFAULT_SOURCE = "/home/kae/music/Singles/tmp"
|
||||||
RETURN_KEY_DEBOUNCE_MS = 500
|
RETURN_KEY_DEBOUNCE_MS = 500
|
||||||
ROOT = os.environ.get("ROOT") or "/home/kae/music"
|
ROOT = os.environ.get("ROOT") or "/home/kae/music"
|
||||||
|
|||||||
56
app/music.py
56
app/music.py
@ -66,6 +66,24 @@ class Music:
|
|||||||
self.max_volume = Config.VLC_VOLUME_DEFAULT
|
self.max_volume = Config.VLC_VOLUME_DEFAULT
|
||||||
self.start_dt: Optional[dt.datetime] = None
|
self.start_dt: Optional[dt.datetime] = None
|
||||||
|
|
||||||
|
def _adjust_by_ms(self, ms: int) -> None:
|
||||||
|
"""Move player position by ms milliseconds"""
|
||||||
|
|
||||||
|
if not self.player:
|
||||||
|
return
|
||||||
|
|
||||||
|
elapsed_ms = self.get_playtime()
|
||||||
|
position = self.get_position()
|
||||||
|
if not position:
|
||||||
|
position = 0
|
||||||
|
new_position = max(0, position + ((position * ms) / elapsed_ms))
|
||||||
|
self.player.set_position(new_position)
|
||||||
|
# Adjus start time so elapsed time calculations are correct
|
||||||
|
if new_position == 0:
|
||||||
|
self.start_dt = dt.datetime.now()
|
||||||
|
else:
|
||||||
|
self.start_dt -= dt.timedelta(milliseconds=ms)
|
||||||
|
|
||||||
def fade(self, fade_seconds: int = Config.FADEOUT_SECONDS) -> None:
|
def fade(self, fade_seconds: int = Config.FADEOUT_SECONDS) -> None:
|
||||||
"""
|
"""
|
||||||
Fade the currently playing track.
|
Fade the currently playing track.
|
||||||
@ -107,6 +125,21 @@ class Music:
|
|||||||
elapsed_seconds = (now - self.start_dt).total_seconds()
|
elapsed_seconds = (now - self.start_dt).total_seconds()
|
||||||
return int(elapsed_seconds * 1000)
|
return int(elapsed_seconds * 1000)
|
||||||
|
|
||||||
|
def get_playtime(self) -> int:
|
||||||
|
"""
|
||||||
|
Return number of milliseconds current track has been playing or
|
||||||
|
zero if not playing. The vlc function get_time() only updates 3-4
|
||||||
|
times a second; this function has much better resolution.
|
||||||
|
"""
|
||||||
|
|
||||||
|
if self.player is None or self.start_dt is None:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
now = dt.datetime.now()
|
||||||
|
elapsed_time = now - self.start_dt
|
||||||
|
elapsed_seconds = elapsed_time.seconds + (elapsed_time.microseconds / 1000000)
|
||||||
|
return int(elapsed_seconds * 1000)
|
||||||
|
|
||||||
def get_position(self) -> Optional[float]:
|
def get_position(self) -> Optional[float]:
|
||||||
"""Return current position"""
|
"""Return current position"""
|
||||||
|
|
||||||
@ -115,7 +148,12 @@ class Music:
|
|||||||
return self.player.get_position()
|
return self.player.get_position()
|
||||||
|
|
||||||
def is_playing(self) -> bool:
|
def is_playing(self) -> bool:
|
||||||
"""Return True if playing"""
|
"""
|
||||||
|
Return True if we're playing
|
||||||
|
"""
|
||||||
|
|
||||||
|
if not self.player:
|
||||||
|
return False
|
||||||
|
|
||||||
# There is a discrete time between starting playing a track and
|
# There is a discrete time between starting playing a track and
|
||||||
# player.is_playing() returning True, so assume playing if less
|
# player.is_playing() returning True, so assume playing if less
|
||||||
@ -131,6 +169,20 @@ class Music:
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def move_back(self, ms: int) -> None:
|
||||||
|
"""
|
||||||
|
Rewind player by ms milliseconds
|
||||||
|
"""
|
||||||
|
|
||||||
|
self._adjust_by_ms(ms * -1)
|
||||||
|
|
||||||
|
def move_forward(self, ms: int) -> None:
|
||||||
|
"""
|
||||||
|
Rewind player by ms milliseconds
|
||||||
|
"""
|
||||||
|
|
||||||
|
self._adjust_by_ms(ms)
|
||||||
|
|
||||||
def play(self, path: str, position: Optional[float] = None) -> None:
|
def play(self, path: str, position: Optional[float] = None) -> None:
|
||||||
"""
|
"""
|
||||||
Start playing the track at path.
|
Start playing the track at path.
|
||||||
@ -184,6 +236,8 @@ class Music:
|
|||||||
|
|
||||||
log.info(f"Music[{self.name}].stop()")
|
log.info(f"Music[{self.name}].stop()")
|
||||||
|
|
||||||
|
self.start_dt = None
|
||||||
|
|
||||||
if not self.player:
|
if not self.player:
|
||||||
return 0.0
|
return 0.0
|
||||||
|
|
||||||
|
|||||||
@ -580,7 +580,9 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
self.btnDrop3db.clicked.connect(self.drop3db)
|
self.btnDrop3db.clicked.connect(self.drop3db)
|
||||||
self.btnFade.clicked.connect(self.fade)
|
self.btnFade.clicked.connect(self.fade)
|
||||||
self.btnHidePlayed.clicked.connect(self.hide_played)
|
self.btnHidePlayed.clicked.connect(self.hide_played)
|
||||||
|
self.btnPreviewBack.clicked.connect(self.preview_back)
|
||||||
self.btnPreview.clicked.connect(self.preview)
|
self.btnPreview.clicked.connect(self.preview)
|
||||||
|
self.btnPreviewFwd.clicked.connect(self.preview_fwd)
|
||||||
self.btnStop.clicked.connect(self.stop)
|
self.btnStop.clicked.connect(self.stop)
|
||||||
self.hdrCurrentTrack.clicked.connect(self.show_current)
|
self.hdrCurrentTrack.clicked.connect(self.show_current)
|
||||||
self.hdrNextTrack.clicked.connect(self.show_next)
|
self.hdrNextTrack.clicked.connect(self.show_next)
|
||||||
@ -1252,6 +1254,17 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
self.preview_player.stop()
|
self.preview_player.stop()
|
||||||
|
self.label_intro_timer.setText("0.0")
|
||||||
|
|
||||||
|
def preview_back(self) -> None:
|
||||||
|
"""Wind back preview file"""
|
||||||
|
|
||||||
|
self.preview_player.move_back(Config.PREVIEW_BACK_MS)
|
||||||
|
|
||||||
|
def preview_fwd(self) -> None:
|
||||||
|
"""Advance preview file"""
|
||||||
|
|
||||||
|
self.preview_player.move_forward(Config.PREVIEW_ADVANCE_MS)
|
||||||
|
|
||||||
def rename_playlist(self) -> None:
|
def rename_playlist(self) -> None:
|
||||||
"""
|
"""
|
||||||
@ -1677,20 +1690,12 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# Ensure preview button is reset if preview finishes playing
|
# Ensure preview button is reset if preview finishes playing
|
||||||
if self.preview_player.player is not None and self.preview
|
self.btnPreview.setChecked(self.preview_player.is_playing())
|
||||||
and self.preview_player_start_time
|
|
||||||
and (
|
# Update preview timer
|
||||||
self.preview_player.player.is_playing()
|
if self.preview_player.is_playing():
|
||||||
or (dt.datetime.now() - self.preview_player_start_time)
|
playtime = self.preview_player.get_playtime()
|
||||||
< dt.timedelta(microseconds=Config.PLAY_SETTLE)
|
self.label_intro_timer.setText(f"{playtime / 1000:.1f}")
|
||||||
)
|
|
||||||
)
|
|
||||||
self.btnPreview.setChecked(preview_playing)
|
|
||||||
if preview_playing and self.preview_player_start_time:
|
|
||||||
now = dt.datetime.now()
|
|
||||||
elapsed_time = now - self.preview_player_start_time
|
|
||||||
elapsed_seconds = elapsed_time.seconds + (elapsed_time.microseconds / 1000000)
|
|
||||||
self.label_intro_timer.setText(f"{elapsed_seconds:.1f}")
|
|
||||||
|
|
||||||
def tick_1000ms(self) -> None:
|
def tick_1000ms(self) -> None:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -478,7 +478,7 @@ padding-left: 8px;</string>
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QPushButton" name="btnIntoStart">
|
<widget class="QPushButton" name="btnPreviewStart">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
@ -531,7 +531,7 @@ padding-left: 8px;</string>
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QPushButton" name="btnIntoEnd">
|
<widget class="QPushButton" name="btnPreviewEnd">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>88</x>
|
<x>88</x>
|
||||||
@ -556,7 +556,7 @@ padding-left: 8px;</string>
|
|||||||
<string>>></string>
|
<string>>></string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QPushButton" name="btnIntroBack">
|
<widget class="QPushButton" name="btnPreviewBack">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
@ -581,7 +581,7 @@ padding-left: 8px;</string>
|
|||||||
<string><</string>
|
<string><</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QPushButton" name="btnIntroMark">
|
<widget class="QPushButton" name="btnPreviewMark">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>44</x>
|
<x>44</x>
|
||||||
@ -606,7 +606,7 @@ padding-left: 8px;</string>
|
|||||||
<string>*</string>
|
<string>*</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QPushButton" name="btnIntroFwd">
|
<widget class="QPushButton" name="btnPreviewFwd">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>88</x>
|
<x>88</x>
|
||||||
@ -636,6 +636,55 @@ padding-left: 8px;</string>
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QFrame" name="frame_intro">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>152</width>
|
||||||
|
<height>112</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Intro</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_intro_timer">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>FreeSans</family>
|
||||||
|
<pointsize>40</pointsize>
|
||||||
|
<weight>50</weight>
|
||||||
|
<bold>false</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>0:0</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QFrame" name="frame_toggleplayed_3db">
|
<widget class="QFrame" name="frame_toggleplayed_3db">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
@ -704,55 +753,6 @@ padding-left: 8px;</string>
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QFrame" name="frame_intro">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>152</width>
|
|
||||||
<height>112</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="styleSheet">
|
|
||||||
<string notr="true"/>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::StyledPanel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="frameShadow">
|
|
||||||
<enum>QFrame::Raised</enum>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_7">
|
|
||||||
<property name="text">
|
|
||||||
<string>Intro</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_intro_timer">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>FreeSans</family>
|
|
||||||
<pointsize>40</pointsize>
|
|
||||||
<weight>50</weight>
|
|
||||||
<bold>false</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>00:00</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QFrame" name="frame_fade">
|
<widget class="QFrame" name="frame_fade">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
@ -1029,7 +1029,7 @@ padding-left: 8px;</string>
|
|||||||
<action name="actionPlay_next">
|
<action name="actionPlay_next">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset>
|
||||||
<normaloff>../../../../.designer/backup/icon-play.png</normaloff>../../../../.designer/backup/icon-play.png</iconset>
|
<normaloff>../../../../../../.designer/backup/icon-play.png</normaloff>../../../../../../.designer/backup/icon-play.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>&Play next</string>
|
<string>&Play next</string>
|
||||||
@ -1053,7 +1053,7 @@ padding-left: 8px;</string>
|
|||||||
<action name="actionInsertTrack">
|
<action name="actionInsertTrack">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset>
|
||||||
<normaloff>../../../../.designer/backup/icon_search_database.png</normaloff>../../../../.designer/backup/icon_search_database.png</iconset>
|
<normaloff>../../../../../../.designer/backup/icon_search_database.png</normaloff>../../../../../../.designer/backup/icon_search_database.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Insert &track...</string>
|
<string>Insert &track...</string>
|
||||||
@ -1065,7 +1065,7 @@ padding-left: 8px;</string>
|
|||||||
<action name="actionAdd_file">
|
<action name="actionAdd_file">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset>
|
||||||
<normaloff>../../../../.designer/backup/icon_open_file.png</normaloff>../../../../.designer/backup/icon_open_file.png</iconset>
|
<normaloff>../../../../../../.designer/backup/icon_open_file.png</normaloff>../../../../../../.designer/backup/icon_open_file.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Add &file</string>
|
<string>Add &file</string>
|
||||||
@ -1077,7 +1077,7 @@ padding-left: 8px;</string>
|
|||||||
<action name="actionFade">
|
<action name="actionFade">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset>
|
<iconset>
|
||||||
<normaloff>../../../../.designer/backup/icon-fade.png</normaloff>../../../../.designer/backup/icon-fade.png</iconset>
|
<normaloff>../../../../../../.designer/backup/icon-fade.png</normaloff>../../../../../../.designer/backup/icon-fade.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>F&ade</string>
|
<string>F&ade</string>
|
||||||
|
|||||||
@ -228,60 +228,39 @@ class Ui_MainWindow(object):
|
|||||||
self.groupBoxIntroControls.setMaximumSize(QtCore.QSize(132, 46))
|
self.groupBoxIntroControls.setMaximumSize(QtCore.QSize(132, 46))
|
||||||
self.groupBoxIntroControls.setTitle("")
|
self.groupBoxIntroControls.setTitle("")
|
||||||
self.groupBoxIntroControls.setObjectName("groupBoxIntroControls")
|
self.groupBoxIntroControls.setObjectName("groupBoxIntroControls")
|
||||||
self.btnIntoStart = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
self.btnPreviewStart = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||||
self.btnIntoStart.setGeometry(QtCore.QRect(0, 0, 44, 23))
|
self.btnPreviewStart.setGeometry(QtCore.QRect(0, 0, 44, 23))
|
||||||
self.btnIntoStart.setMinimumSize(QtCore.QSize(44, 23))
|
self.btnPreviewStart.setMinimumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntoStart.setMaximumSize(QtCore.QSize(44, 23))
|
self.btnPreviewStart.setMaximumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntoStart.setObjectName("btnIntoStart")
|
self.btnPreviewStart.setObjectName("btnPreviewStart")
|
||||||
self.btnIntroArm = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
self.btnIntroArm = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||||
self.btnIntroArm.setGeometry(QtCore.QRect(44, 0, 44, 23))
|
self.btnIntroArm.setGeometry(QtCore.QRect(44, 0, 44, 23))
|
||||||
self.btnIntroArm.setMinimumSize(QtCore.QSize(44, 23))
|
self.btnIntroArm.setMinimumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntroArm.setMaximumSize(QtCore.QSize(44, 23))
|
self.btnIntroArm.setMaximumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntroArm.setCheckable(True)
|
self.btnIntroArm.setCheckable(True)
|
||||||
self.btnIntroArm.setObjectName("btnIntroArm")
|
self.btnIntroArm.setObjectName("btnIntroArm")
|
||||||
self.btnIntoEnd = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
self.btnPreviewEnd = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||||
self.btnIntoEnd.setGeometry(QtCore.QRect(88, 0, 44, 23))
|
self.btnPreviewEnd.setGeometry(QtCore.QRect(88, 0, 44, 23))
|
||||||
self.btnIntoEnd.setMinimumSize(QtCore.QSize(44, 23))
|
self.btnPreviewEnd.setMinimumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntoEnd.setMaximumSize(QtCore.QSize(44, 23))
|
self.btnPreviewEnd.setMaximumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntoEnd.setObjectName("btnIntoEnd")
|
self.btnPreviewEnd.setObjectName("btnPreviewEnd")
|
||||||
self.btnIntroBack = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
self.btnPreviewBack = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||||
self.btnIntroBack.setGeometry(QtCore.QRect(0, 23, 44, 23))
|
self.btnPreviewBack.setGeometry(QtCore.QRect(0, 23, 44, 23))
|
||||||
self.btnIntroBack.setMinimumSize(QtCore.QSize(44, 23))
|
self.btnPreviewBack.setMinimumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntroBack.setMaximumSize(QtCore.QSize(44, 23))
|
self.btnPreviewBack.setMaximumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntroBack.setObjectName("btnIntroBack")
|
self.btnPreviewBack.setObjectName("btnPreviewBack")
|
||||||
self.btnIntroMark = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
self.btnPreviewMark = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||||
self.btnIntroMark.setGeometry(QtCore.QRect(44, 23, 44, 23))
|
self.btnPreviewMark.setGeometry(QtCore.QRect(44, 23, 44, 23))
|
||||||
self.btnIntroMark.setMinimumSize(QtCore.QSize(44, 23))
|
self.btnPreviewMark.setMinimumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntroMark.setMaximumSize(QtCore.QSize(44, 23))
|
self.btnPreviewMark.setMaximumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntroMark.setObjectName("btnIntroMark")
|
self.btnPreviewMark.setObjectName("btnPreviewMark")
|
||||||
self.btnIntroFwd = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
self.btnPreviewFwd = QtWidgets.QPushButton(parent=self.groupBoxIntroControls)
|
||||||
self.btnIntroFwd.setGeometry(QtCore.QRect(88, 23, 44, 23))
|
self.btnPreviewFwd.setGeometry(QtCore.QRect(88, 23, 44, 23))
|
||||||
self.btnIntroFwd.setMinimumSize(QtCore.QSize(44, 23))
|
self.btnPreviewFwd.setMinimumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntroFwd.setMaximumSize(QtCore.QSize(44, 23))
|
self.btnPreviewFwd.setMaximumSize(QtCore.QSize(44, 23))
|
||||||
self.btnIntroFwd.setObjectName("btnIntroFwd")
|
self.btnPreviewFwd.setObjectName("btnPreviewFwd")
|
||||||
self.verticalLayout_4.addWidget(self.groupBoxIntroControls)
|
self.verticalLayout_4.addWidget(self.groupBoxIntroControls)
|
||||||
self.horizontalLayout.addWidget(self.FadeStopInfoFrame)
|
self.horizontalLayout.addWidget(self.FadeStopInfoFrame)
|
||||||
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_intro = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
self.frame_intro = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
||||||
self.frame_intro.setMinimumSize(QtCore.QSize(152, 112))
|
self.frame_intro.setMinimumSize(QtCore.QSize(152, 112))
|
||||||
self.frame_intro.setStyleSheet("")
|
self.frame_intro.setStyleSheet("")
|
||||||
@ -305,6 +284,27 @@ class Ui_MainWindow(object):
|
|||||||
self.label_intro_timer.setObjectName("label_intro_timer")
|
self.label_intro_timer.setObjectName("label_intro_timer")
|
||||||
self.verticalLayout_9.addWidget(self.label_intro_timer)
|
self.verticalLayout_9.addWidget(self.label_intro_timer)
|
||||||
self.horizontalLayout.addWidget(self.frame_intro)
|
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 = QtWidgets.QFrame(parent=self.InfoFooterFrame)
|
||||||
self.frame_fade.setMinimumSize(QtCore.QSize(152, 112))
|
self.frame_fade.setMinimumSize(QtCore.QSize(152, 112))
|
||||||
self.frame_fade.setStyleSheet("")
|
self.frame_fade.setStyleSheet("")
|
||||||
@ -406,7 +406,7 @@ class Ui_MainWindow(object):
|
|||||||
MainWindow.setStatusBar(self.statusbar)
|
MainWindow.setStatusBar(self.statusbar)
|
||||||
self.actionPlay_next = QtGui.QAction(parent=MainWindow)
|
self.actionPlay_next = QtGui.QAction(parent=MainWindow)
|
||||||
icon4 = QtGui.QIcon()
|
icon4 = QtGui.QIcon()
|
||||||
icon4.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon-play.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
icon4.addPixmap(QtGui.QPixmap("app/ui/../../../../../../.designer/backup/icon-play.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
||||||
self.actionPlay_next.setIcon(icon4)
|
self.actionPlay_next.setIcon(icon4)
|
||||||
self.actionPlay_next.setObjectName("actionPlay_next")
|
self.actionPlay_next.setObjectName("actionPlay_next")
|
||||||
self.actionSkipToNext = QtGui.QAction(parent=MainWindow)
|
self.actionSkipToNext = QtGui.QAction(parent=MainWindow)
|
||||||
@ -416,17 +416,17 @@ class Ui_MainWindow(object):
|
|||||||
self.actionSkipToNext.setObjectName("actionSkipToNext")
|
self.actionSkipToNext.setObjectName("actionSkipToNext")
|
||||||
self.actionInsertTrack = QtGui.QAction(parent=MainWindow)
|
self.actionInsertTrack = QtGui.QAction(parent=MainWindow)
|
||||||
icon6 = QtGui.QIcon()
|
icon6 = QtGui.QIcon()
|
||||||
icon6.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon_search_database.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
icon6.addPixmap(QtGui.QPixmap("app/ui/../../../../../../.designer/backup/icon_search_database.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
||||||
self.actionInsertTrack.setIcon(icon6)
|
self.actionInsertTrack.setIcon(icon6)
|
||||||
self.actionInsertTrack.setObjectName("actionInsertTrack")
|
self.actionInsertTrack.setObjectName("actionInsertTrack")
|
||||||
self.actionAdd_file = QtGui.QAction(parent=MainWindow)
|
self.actionAdd_file = QtGui.QAction(parent=MainWindow)
|
||||||
icon7 = QtGui.QIcon()
|
icon7 = QtGui.QIcon()
|
||||||
icon7.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon_open_file.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
icon7.addPixmap(QtGui.QPixmap("app/ui/../../../../../../.designer/backup/icon_open_file.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
||||||
self.actionAdd_file.setIcon(icon7)
|
self.actionAdd_file.setIcon(icon7)
|
||||||
self.actionAdd_file.setObjectName("actionAdd_file")
|
self.actionAdd_file.setObjectName("actionAdd_file")
|
||||||
self.actionFade = QtGui.QAction(parent=MainWindow)
|
self.actionFade = QtGui.QAction(parent=MainWindow)
|
||||||
icon8 = QtGui.QIcon()
|
icon8 = QtGui.QIcon()
|
||||||
icon8.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon-fade.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
icon8.addPixmap(QtGui.QPixmap("app/ui/../../../../../../.designer/backup/icon-fade.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
|
||||||
self.actionFade.setIcon(icon8)
|
self.actionFade.setIcon(icon8)
|
||||||
self.actionFade.setObjectName("actionFade")
|
self.actionFade.setObjectName("actionFade")
|
||||||
self.actionStop = QtGui.QAction(parent=MainWindow)
|
self.actionStop = QtGui.QAction(parent=MainWindow)
|
||||||
@ -582,16 +582,16 @@ class Ui_MainWindow(object):
|
|||||||
self.lblTOD.setText(_translate("MainWindow", "00:00:00"))
|
self.lblTOD.setText(_translate("MainWindow", "00:00:00"))
|
||||||
self.label_elapsed_timer.setText(_translate("MainWindow", "00:00 / 00:00"))
|
self.label_elapsed_timer.setText(_translate("MainWindow", "00:00 / 00:00"))
|
||||||
self.btnPreview.setText(_translate("MainWindow", " Preview"))
|
self.btnPreview.setText(_translate("MainWindow", " Preview"))
|
||||||
self.btnIntoStart.setText(_translate("MainWindow", "<<"))
|
self.btnPreviewStart.setText(_translate("MainWindow", "<<"))
|
||||||
self.btnIntroArm.setText(_translate("MainWindow", "o"))
|
self.btnIntroArm.setText(_translate("MainWindow", "o"))
|
||||||
self.btnIntoEnd.setText(_translate("MainWindow", ">>"))
|
self.btnPreviewEnd.setText(_translate("MainWindow", ">>"))
|
||||||
self.btnIntroBack.setText(_translate("MainWindow", "<"))
|
self.btnPreviewBack.setText(_translate("MainWindow", "<"))
|
||||||
self.btnIntroMark.setText(_translate("MainWindow", "*"))
|
self.btnPreviewMark.setText(_translate("MainWindow", "*"))
|
||||||
self.btnIntroFwd.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.btnDrop3db.setText(_translate("MainWindow", "-3dB to talk"))
|
||||||
self.btnHidePlayed.setText(_translate("MainWindow", "Hide played"))
|
self.btnHidePlayed.setText(_translate("MainWindow", "Hide played"))
|
||||||
self.label_7.setText(_translate("MainWindow", "Intro"))
|
|
||||||
self.label_intro_timer.setText(_translate("MainWindow", "00:00"))
|
|
||||||
self.label_4.setText(_translate("MainWindow", "Fade"))
|
self.label_4.setText(_translate("MainWindow", "Fade"))
|
||||||
self.label_fade_timer.setText(_translate("MainWindow", "00:00"))
|
self.label_fade_timer.setText(_translate("MainWindow", "00:00"))
|
||||||
self.label_5.setText(_translate("MainWindow", "Silent"))
|
self.label_5.setText(_translate("MainWindow", "Silent"))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user