Compare commits

...

4 Commits

Author SHA1 Message Date
Keith Edmunds
3295e121c2 List open playlists first in playlist selection 2022-07-24 15:00:15 +01:00
Keith Edmunds
8192e79d42 Make search case insensitive 2022-06-19 13:57:39 +01:00
Keith Edmunds
29860268ba Revise UI; add -3db button
Fixes #55
2022-06-19 13:33:04 +01:00
Keith Edmunds
de3a746806 WIP: button to drop 3db 2022-06-18 19:04:01 +01:00
8 changed files with 420 additions and 423 deletions

View File

@ -62,6 +62,7 @@ class Config(object):
TIMER_MS = 500 TIMER_MS = 500
TRACK_TIME_FORMAT = "%H:%M:%S" TRACK_TIME_FORMAT = "%H:%M:%S"
VOLUME_VLC_DEFAULT = 75 VOLUME_VLC_DEFAULT = 75
VOLUME_VLC_DROP3db = 65
WEB_ZOOM_FACTOR = 1.4 WEB_ZOOM_FACTOR = 1.4

View File

@ -306,7 +306,8 @@ class Playlists(Base):
"""Returns a list of all playlists ordered by last use""" """Returns a list of all playlists ordered by last use"""
return ( return (
session.query(cls).order_by(cls.last_used.desc()) session.query(cls).order_by(
cls.loaded.desc(), cls.last_used.desc())
).all() ).all()
@classmethod @classmethod

View File

@ -8,7 +8,7 @@ import urllib.parse
import webbrowser import webbrowser
from datetime import datetime from datetime import datetime, timedelta
from log import DEBUG, EXCEPTION from log import DEBUG, EXCEPTION
from typing import Callable, Dict, List, Optional, Tuple from typing import Callable, Dict, List, Optional, Tuple
@ -75,7 +75,6 @@ class Window(QMainWindow, Ui_MainWindow):
self.next_track_playlist_tab: Optional[PlaylistTab] = None self.next_track_playlist_tab: Optional[PlaylistTab] = None
self.previous_track: Optional[Tracks] = None self.previous_track: Optional[Tracks] = None
self.previous_track_position: Optional[int] = None self.previous_track_position: Optional[int] = None
self.spnVolume.setValue(Config.VOLUME_VLC_DEFAULT)
self.set_main_window_size() self.set_main_window_size()
self.lblSumPlaytime: QLabel = QLabel("") self.lblSumPlaytime: QLabel = QLabel("")
@ -83,6 +82,7 @@ class Window(QMainWindow, Ui_MainWindow):
self.txtSearch = QLineEdit() self.txtSearch = QLineEdit()
self.statusbar.addWidget(self.txtSearch) self.statusbar.addWidget(self.txtSearch)
self.txtSearch.setHidden(True) self.txtSearch.setHidden(True)
self.hide_played_tracks = False
self.visible_playlist_tab: Callable[[], PlaylistTab] = \ self.visible_playlist_tab: Callable[[], PlaylistTab] = \
self.tabPlaylist.currentWidget self.tabPlaylist.currentWidget
@ -199,15 +199,16 @@ class Window(QMainWindow, Ui_MainWindow):
lambda: self.tabPlaylist.currentWidget().set_selected_as_next()) lambda: self.tabPlaylist.currentWidget().set_selected_as_next())
self.actionSkip_next.triggered.connect(self.play_next) self.actionSkip_next.triggered.connect(self.play_next)
self.actionStop.triggered.connect(self.stop) self.actionStop.triggered.connect(self.stop)
self.btnAddNote.clicked.connect(self.create_note) # self.btnAddNote.clicked.connect(self.create_note)
self.btnDatabase.clicked.connect(self.search_database) # self.btnDatabase.clicked.connect(self.search_database)
self.btnDrop3db.clicked.connect(self.drop3db)
self.btnHidePlayed.clicked.connect(self.hide_played)
self.btnFade.clicked.connect(self.fade) self.btnFade.clicked.connect(self.fade)
self.btnPlay.clicked.connect(self.play_next) # self.btnPlay.clicked.connect(self.play_next)
self.btnSetNext.clicked.connect( # self.btnSetNext.clicked.connect(
lambda: self.tabPlaylist.currentWidget().set_selected_as_next()) # lambda: self.tabPlaylist.currentWidget().set_selected_as_next())
self.btnSongInfo.clicked.connect(self.song_info_search) # self.btnSongInfo.clicked.connect(self.song_info_search)
self.btnStop.clicked.connect(self.stop) self.btnStop.clicked.connect(self.stop)
self.spnVolume.valueChanged.connect(self.change_volume)
self.tabPlaylist.tabCloseRequested.connect(self.close_tab) self.tabPlaylist.tabCloseRequested.connect(self.close_tab)
self.txtSearch.returnPressed.connect(self.search_playlist_return) self.txtSearch.returnPressed.connect(self.search_playlist_return)
self.txtSearch.textChanged.connect(self.search_playlist_update) self.txtSearch.textChanged.connect(self.search_playlist_update)
@ -227,13 +228,6 @@ class Window(QMainWindow, Ui_MainWindow):
playlist = Playlists(session, dlg.textValue()) playlist = Playlists(session, dlg.textValue())
self.create_playlist_tab(session, playlist) self.create_playlist_tab(session, playlist)
def change_volume(self, volume: int) -> None:
"""Change player maximum volume"""
DEBUG(f"change_volume({volume})")
self.music.set_volume(volume)
def close_playlist_tab(self) -> None: def close_playlist_tab(self) -> None:
"""Close active playlist tab""" """Close active playlist tab"""
@ -316,6 +310,14 @@ class Window(QMainWindow, Ui_MainWindow):
f"{playdate.track.artist},{playdate.track.title}\n" f"{playdate.track.artist},{playdate.track.title}\n"
) )
def drop3db(self) -> None:
"""Drop music level by 3db if button checked"""
if self.btnDrop3db.isChecked():
self.music.set_volume(Config.VOLUME_VLC_DROP3db)
else:
self.music.set_volume(Config.VOLUME_VLC_DEFAULT)
def enable_play_next_controls(self) -> None: def enable_play_next_controls(self) -> None:
""" """
Enable "play next" keyboard controls Enable "play next" keyboard controls
@ -361,9 +363,10 @@ class Window(QMainWindow, Ui_MainWindow):
self.label_end_timer.setText("00:00") self.label_end_timer.setText("00:00")
self.label_fade_length.setText("0:00") self.label_fade_length.setText("0:00")
self.label_fade_timer.setText("00:00") self.label_fade_timer.setText("00:00")
self.label_silence_length.setText("0:00")
self.label_silent_timer.setText("00:00") self.label_silent_timer.setText("00:00")
self.label_track_length.setText("0:00") self.label_track_length.setText("0:00")
self.label_start_time.setText("00:00:00")
self.label_end_time.setText("00:00:00")
# Update headers # Update headers
self.update_headers() self.update_headers()
@ -414,6 +417,19 @@ class Window(QMainWindow, Ui_MainWindow):
self.stop_playing(fade=True) self.stop_playing(fade=True)
def hide_played(self):
"""Toggle hide played tracks"""
if self.hide_played_tracks:
self.hide_played_tracks = False
self.btnHidePlayed.setText("Hide played")
else:
self.hide_played_tracks = True
self.btnHidePlayed.setText("Show played")
if self.current_track_playlist_tab:
with Session() as session:
self.current_track_playlist_tab.update_display(session)
def import_track(self) -> None: def import_track(self) -> None:
"""Import track file""" """Import track file"""
@ -581,6 +597,7 @@ class Window(QMainWindow, Ui_MainWindow):
- If current track on different playlist_tab to last, reset - If current track on different playlist_tab to last, reset
last track playlist_tab colour last track playlist_tab colour
- Set current track playlist_tab colour - Set current track playlist_tab colour
- Restore volume if -3dB active
- Play (new) current track. - Play (new) current track.
- Tell database to record it as played - Tell database to record it as played
- Tell playlist track is now playing - Tell playlist track is now playing
@ -625,7 +642,12 @@ class Window(QMainWindow, Ui_MainWindow):
self.set_tab_colour(self.current_track_playlist_tab, self.set_tab_colour(self.current_track_playlist_tab,
QColor(Config.COLOUR_CURRENT_TAB)) QColor(Config.COLOUR_CURRENT_TAB))
# Restore volume if -3dB active
if self.btnDrop3db.isChecked():
self.btnDrop3db.setChecked(False)
# Play (new) current track # Play (new) current track
start_at = datetime.now()
self.music.play(self.current_track.path) self.music.play(self.current_track.path)
# Tell database to record it as played # Tell database to record it as played
@ -652,8 +674,12 @@ class Window(QMainWindow, Ui_MainWindow):
length = self.current_track.duration length = self.current_track.duration
self.label_fade_length.setText( self.label_fade_length.setText(
helpers.ms_to_mmss(silence_at - fade_at)) helpers.ms_to_mmss(silence_at - fade_at))
self.label_silence_length.setText( self.label_start_time.setText(
helpers.ms_to_mmss(length - silence_at)) start_at.strftime(Config.TRACK_TIME_FORMAT))
end_at = start_at + timedelta(
milliseconds=self.current_track.duration)
self.label_end_time.setText(
end_at.strftime(Config.TRACK_TIME_FORMAT))
def search_database(self) -> None: def search_database(self) -> None:
"""Show dialog box to select and cue track from database""" """Show dialog box to select and cue track from database"""

View File

@ -742,6 +742,11 @@ class PlaylistTab(QTableWidget):
played: Optional[List[int]] = self._get_played_track_rows() played: Optional[List[int]] = self._get_played_track_rows()
unreadable: List[int] = self._get_unreadable_track_rows() unreadable: List[int] = self._get_unreadable_track_rows()
if self.row_filter:
filter_text = self.row_filter.lower()
else:
filter_text = None
hide_played = self.musicmuster.hide_played_tracks
last_played_str: str last_played_str: str
last_playedtime: Optional[datetime] last_playedtime: Optional[datetime]
next_start_time: Optional[datetime] = None next_start_time: Optional[datetime] = None
@ -769,8 +774,8 @@ class PlaylistTab(QTableWidget):
if row in notes: if row in notes:
# Extract note text from database to ignore section timings # Extract note text from database to ignore section timings
note_text = self._get_row_notes_object(row, session).note note_text = self._get_row_notes_object(row, session).note
if self.row_filter: if filter_text:
if self.row_filter not in note_text: if filter_text not in note_text.lower():
self.hideRow(row) self.hideRow(row)
continue continue
else: else:
@ -816,12 +821,12 @@ class PlaylistTab(QTableWidget):
if section_start_row is not None: if section_start_row is not None:
section_time += track.duration section_time += track.duration
# Render current track # Render current track
if self.row_filter: if filter_text:
try: try:
if (track.title if (track.title
and self.row_filter not in track.title and filter_text not in track.title.lower()
and track.artist and track.artist
and self.row_filter not in track.artist): and filter_text not in track.artist.lower()):
self.hideRow(row) self.hideRow(row)
continue continue
else: else:
@ -889,6 +894,9 @@ class PlaylistTab(QTableWidget):
last_played_str = get_relative_date(last_playedtime) last_played_str = get_relative_date(last_playedtime)
self.item(row, self.COL_LAST_PLAYED).setText( self.item(row, self.COL_LAST_PLAYED).setText(
last_played_str) last_played_str)
if hide_played:
self.hideRow(row)
else:
self._set_row_not_bold(row) self._set_row_not_bold(row)
else: else:
# Set start/end times as we haven't played it yet # Set start/end times as we haven't played it yet

View File

@ -10,6 +10,12 @@
<height>857</height> <height>857</height>
</rect> </rect>
</property> </property>
<property name="minimumSize">
<size>
<width>1280</width>
<height>0</height>
</size>
</property>
<property name="windowTitle"> <property name="windowTitle">
<string>Music Muster</string> <string>Music Muster</string>
</property> </property>
@ -21,7 +27,7 @@
<string notr="true"/> <string notr="true"/>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout_6"> <layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0"> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
@ -254,216 +260,25 @@ border: 1px solid rgb(85, 87, 83);</string>
</layout> </layout>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QFrame" name="frame_5"> <widget class="QFrame" name="frame_4">
<property name="minimumSize">
<size>
<width>0</width>
<height>16</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(154, 153, 150)</string>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btnPlay">
<property name="text">
<string> Play</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/play</normaloff>:/icons/play</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>68</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btnSongInfo">
<property name="text">
<string>Song info</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/wikipedia</normaloff>:/icons/wikipedia</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>70</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btnDatabase">
<property name="text">
<string>Database</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/search_db</normaloff>:/icons/search_db</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnAddFile">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Add file</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/open_file</normaloff>:/icons/open_file</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>68</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btnAddNote">
<property name="text">
<string>Add note</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/note</normaloff>:/icons/note</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnSetNext">
<property name="text">
<string>Set next</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/set_next</normaloff>:/icons/set_next</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>69</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="btnStop">
<property name="text">
<string>Stop</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/stopsign</normaloff>:/icons/stopsign</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnFade">
<property name="text">
<string>Fade</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/fade</normaloff>:/icons/fade</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spnVolume">
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>100</number>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
@ -483,16 +298,22 @@ border: 1px solid rgb(85, 87, 83);</string>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="3" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QFrame" name="frame">
<property name="minimumSize">
<size>
<width>321</width>
<height>0</height>
</size>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QFormLayout" name="formLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_x"> <widget class="QLabel" name="label_x">
<property name="text"> <property name="text">
@ -519,6 +340,32 @@ border: 1px solid rgb(85, 87, 83);</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2">
<widget class="QLabel" name="label_x_2">
<property name="text">
<string>Start:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_start_time">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>16</pointsize>
</font>
</property>
<property name="text">
<string>00:00:00</string>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_7"> <widget class="QLabel" name="label_7">
<property name="text"> <property name="text">
@ -545,18 +392,18 @@ border: 1px solid rgb(85, 87, 83);</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="1" column="2">
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_8">
<property name="text"> <property name="text">
<string>Silence length:</string> <string>End:</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="1" column="3">
<widget class="QLabel" name="label_silence_length"> <widget class="QLabel" name="label_end_time">
<property name="font"> <property name="font">
<font> <font>
<family>FreeSans</family> <family>FreeSans</family>
@ -564,18 +411,58 @@ border: 1px solid rgb(85, 87, 83);</string>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>0:00</string> <string>00:00:00</string>
</property> </property>
<property name="scaledContents"> <property name="scaledContents">
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0" colspan="2">
<widget class="QPushButton" name="btnFade">
<property name="text">
<string>Fade</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/fade</normaloff>:/icons/fade</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
<item row="2" column="2" colspan="2">
<widget class="QPushButton" name="btnStop">
<property name="text">
<string>Stop</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/icons/stopsign</normaloff>:/icons/stopsign</iconset>
</property>
<property name="iconSize">
<size>
<width>30</width>
<height>30</height>
</size>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QFrame" name="frame_elapsed"> <widget class="QFrame" name="frame_elapsed">
<property name="minimumSize">
<size>
<width>0</width>
<height>112</height>
</size>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
</property> </property>
@ -585,8 +472,8 @@ border: 1px solid rgb(85, 87, 83);</string>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item row="0" column="0"> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="text"> <property name="text">
<string>Elapsed time</string> <string>Elapsed time</string>
@ -596,7 +483,7 @@ border: 1px solid rgb(85, 87, 83);</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QLabel" name="label_elapsed_timer"> <widget class="QLabel" name="label_elapsed_timer">
<property name="font"> <property name="font">
<font> <font>
@ -619,6 +506,12 @@ border: 1px solid rgb(85, 87, 83);</string>
</item> </item>
<item> <item>
<widget class="QFrame" name="frame_fade"> <widget class="QFrame" name="frame_fade">
<property name="minimumSize">
<size>
<width>0</width>
<height>112</height>
</size>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
</property> </property>
@ -628,8 +521,8 @@ border: 1px solid rgb(85, 87, 83);</string>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item row="0" column="0"> <item>
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>Fade</string> <string>Fade</string>
@ -639,7 +532,7 @@ border: 1px solid rgb(85, 87, 83);</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QLabel" name="label_fade_timer"> <widget class="QLabel" name="label_fade_timer">
<property name="font"> <property name="font">
<font> <font>
@ -662,6 +555,12 @@ border: 1px solid rgb(85, 87, 83);</string>
</item> </item>
<item> <item>
<widget class="QFrame" name="frame_silent"> <widget class="QFrame" name="frame_silent">
<property name="minimumSize">
<size>
<width>0</width>
<height>112</height>
</size>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
</property> </property>
@ -671,8 +570,8 @@ border: 1px solid rgb(85, 87, 83);</string>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QGridLayout" name="gridLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_5">
<item row="0" column="0"> <item>
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
<property name="text"> <property name="text">
<string>Silent</string> <string>Silent</string>
@ -682,7 +581,7 @@ border: 1px solid rgb(85, 87, 83);</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QLabel" name="label_silent_timer"> <widget class="QLabel" name="label_silent_timer">
<property name="font"> <property name="font">
<font> <font>
@ -705,6 +604,12 @@ border: 1px solid rgb(85, 87, 83);</string>
</item> </item>
<item> <item>
<widget class="QFrame" name="frame_end"> <widget class="QFrame" name="frame_end">
<property name="minimumSize">
<size>
<width>0</width>
<height>112</height>
</size>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
</property> </property>
@ -714,8 +619,8 @@ border: 1px solid rgb(85, 87, 83);</string>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QGridLayout" name="gridLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_6">
<item row="0" column="0"> <item>
<widget class="QLabel" name="label_6"> <widget class="QLabel" name="label_6">
<property name="text"> <property name="text">
<string>End</string> <string>End</string>
@ -725,7 +630,7 @@ border: 1px solid rgb(85, 87, 83);</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QLabel" name="label_end_timer"> <widget class="QLabel" name="label_end_timer">
<property name="font"> <property name="font">
<font> <font>
@ -746,6 +651,74 @@ border: 1px solid rgb(85, 87, 83);</string>
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QFrame" name="frame_3">
<property name="minimumSize">
<size>
<width>152</width>
<height>112</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>184</width>
<height>16777215</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QPushButton" name="btnDrop3db">
<property name="minimumSize">
<size>
<width>132</width>
<height>36</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>164</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>-3dB to talk</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="btnHidePlayed">
<property name="minimumSize">
<size>
<width>132</width>
<height>36</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>164</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Hide played</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>
@ -763,23 +736,26 @@ border: 1px solid rgb(85, 87, 83);</string>
<property name="title"> <property name="title">
<string>Fi&amp;le</string> <string>Fi&amp;le</string>
</property> </property>
<addaction name="actionImport"/>
<addaction name="separator"/>
<addaction name="actionE_xit"/>
<addaction name="separator"/>
</widget>
<widget class="QMenu" name="menuPlaylist">
<property name="title">
<string>Pla&amp;ylist</string>
</property>
<addaction name="actionNewPlaylist"/> <addaction name="actionNewPlaylist"/>
<addaction name="actionOpenPlaylist"/> <addaction name="actionOpenPlaylist"/>
<addaction name="actionClosePlaylist"/> <addaction name="actionClosePlaylist"/>
<addaction name="actionRenamePlaylist"/> <addaction name="actionRenamePlaylist"/>
<addaction name="actionDeletePlaylist"/> <addaction name="actionDeletePlaylist"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionDownload_CSV_of_played_tracks"/>
<addaction name="actionExport_playlist"/>
<addaction name="separator"/>
<addaction name="actionE_xit"/>
<addaction name="separator"/>
</widget>
<widget class="QMenu" name="menuPlaylist">
<property name="title">
<string>&amp;Tracks</string>
</property>
<addaction name="separator"/>
<addaction name="actionSearch_database"/> <addaction name="actionSearch_database"/>
<addaction name="actionAdd_note"/> <addaction name="actionAdd_note"/>
<addaction name="actionImport"/>
<addaction name="action_Clear_selection"/> <addaction name="action_Clear_selection"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionSetNext"/> <addaction name="actionSetNext"/>
@ -788,8 +764,6 @@ border: 1px solid rgb(85, 87, 83);</string>
<addaction name="actionSelect_played_tracks"/> <addaction name="actionSelect_played_tracks"/>
<addaction name="actionMoveSelected"/> <addaction name="actionMoveSelected"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionDownload_CSV_of_played_tracks"/>
<addaction name="actionExport_playlist"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionSelect_next_track"/> <addaction name="actionSelect_next_track"/>
<addaction name="actionSelect_previous_track"/> <addaction name="actionSelect_previous_track"/>
@ -888,6 +862,9 @@ border: 1px solid rgb(85, 87, 83);</string>
<property name="text"> <property name="text">
<string>S&amp;top</string> <string>S&amp;top</string>
</property> </property>
<property name="shortcut">
<string>Ctrl+Alt+S</string>
</property>
</action> </action>
<action name="action_Clear_selection"> <action name="action_Clear_selection">
<property name="text"> <property name="text">

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui/main_window.ui' # Form implementation generated from reading ui file 'app/ui/main_window.ui'
# #
# Created by: PyQt5 UI code generator 5.15.6 # Created by: PyQt5 UI code generator 5.15.6
# #
@ -15,14 +15,15 @@ class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow") MainWindow.setObjectName("MainWindow")
MainWindow.resize(1280, 857) MainWindow.resize(1280, 857)
MainWindow.setMinimumSize(QtCore.QSize(1280, 0))
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/icons/musicmuster"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon.addPixmap(QtGui.QPixmap(":/icons/musicmuster"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon) MainWindow.setWindowIcon(icon)
MainWindow.setStyleSheet("") MainWindow.setStyleSheet("")
self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget") self.centralwidget.setObjectName("centralwidget")
self.gridLayout_6 = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout_4 = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout_6.setObjectName("gridLayout_6") self.gridLayout_4.setObjectName("gridLayout_4")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3 = QtWidgets.QVBoxLayout()
@ -132,102 +133,34 @@ class Ui_MainWindow(object):
self.lblTOD.setObjectName("lblTOD") self.lblTOD.setObjectName("lblTOD")
self.gridLayout_2.addWidget(self.lblTOD, 0, 0, 1, 1) self.gridLayout_2.addWidget(self.lblTOD, 0, 0, 1, 1)
self.horizontalLayout_3.addWidget(self.frame_2) self.horizontalLayout_3.addWidget(self.frame_2)
self.gridLayout_6.addLayout(self.horizontalLayout_3, 0, 0, 1, 1) self.gridLayout_4.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
self.frame_5 = QtWidgets.QFrame(self.centralwidget) self.frame_4 = QtWidgets.QFrame(self.centralwidget)
self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_4.setMinimumSize(QtCore.QSize(0, 16))
self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_4.setAutoFillBackground(False)
self.frame_5.setObjectName("frame_5") self.frame_4.setStyleSheet("background-color: rgb(154, 153, 150)")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame_5) self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.horizontalLayout.setObjectName("horizontalLayout") self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised)
self.btnPlay = QtWidgets.QPushButton(self.frame_5) self.frame_4.setObjectName("frame_4")
icon1 = QtGui.QIcon() self.gridLayout_4.addWidget(self.frame_4, 1, 0, 1, 1)
icon1.addPixmap(QtGui.QPixmap(":/icons/play"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnPlay.setIcon(icon1)
self.btnPlay.setIconSize(QtCore.QSize(30, 30))
self.btnPlay.setObjectName("btnPlay")
self.horizontalLayout.addWidget(self.btnPlay)
spacerItem = QtWidgets.QSpacerItem(68, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.btnSongInfo = QtWidgets.QPushButton(self.frame_5)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/icons/wikipedia"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnSongInfo.setIcon(icon2)
self.btnSongInfo.setIconSize(QtCore.QSize(30, 30))
self.btnSongInfo.setObjectName("btnSongInfo")
self.horizontalLayout.addWidget(self.btnSongInfo)
spacerItem1 = QtWidgets.QSpacerItem(70, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem1)
self.btnDatabase = QtWidgets.QPushButton(self.frame_5)
icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(":/icons/search_db"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnDatabase.setIcon(icon3)
self.btnDatabase.setIconSize(QtCore.QSize(30, 30))
self.btnDatabase.setObjectName("btnDatabase")
self.horizontalLayout.addWidget(self.btnDatabase)
self.btnAddFile = QtWidgets.QPushButton(self.frame_5)
self.btnAddFile.setEnabled(False)
icon4 = QtGui.QIcon()
icon4.addPixmap(QtGui.QPixmap(":/icons/open_file"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnAddFile.setIcon(icon4)
self.btnAddFile.setIconSize(QtCore.QSize(30, 30))
self.btnAddFile.setObjectName("btnAddFile")
self.horizontalLayout.addWidget(self.btnAddFile)
spacerItem2 = QtWidgets.QSpacerItem(68, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem2)
self.btnAddNote = QtWidgets.QPushButton(self.frame_5)
icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(":/icons/note"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnAddNote.setIcon(icon5)
self.btnAddNote.setIconSize(QtCore.QSize(30, 30))
self.btnAddNote.setObjectName("btnAddNote")
self.horizontalLayout.addWidget(self.btnAddNote)
self.btnSetNext = QtWidgets.QPushButton(self.frame_5)
icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap(":/icons/set_next"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnSetNext.setIcon(icon6)
self.btnSetNext.setIconSize(QtCore.QSize(30, 30))
self.btnSetNext.setObjectName("btnSetNext")
self.horizontalLayout.addWidget(self.btnSetNext)
spacerItem3 = QtWidgets.QSpacerItem(69, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem3)
self.btnStop = QtWidgets.QPushButton(self.frame_5)
icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap(":/icons/stopsign"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnStop.setIcon(icon7)
self.btnStop.setIconSize(QtCore.QSize(30, 30))
self.btnStop.setObjectName("btnStop")
self.horizontalLayout.addWidget(self.btnStop)
self.btnFade = QtWidgets.QPushButton(self.frame_5)
icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap(":/icons/fade"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnFade.setIcon(icon8)
self.btnFade.setIconSize(QtCore.QSize(30, 30))
self.btnFade.setObjectName("btnFade")
self.horizontalLayout.addWidget(self.btnFade)
self.spnVolume = QtWidgets.QSpinBox(self.frame_5)
self.spnVolume.setMaximum(100)
self.spnVolume.setProperty("value", 100)
self.spnVolume.setObjectName("spnVolume")
self.horizontalLayout.addWidget(self.spnVolume)
self.gridLayout_6.addWidget(self.frame_5, 1, 0, 1, 1)
self.tabPlaylist = QtWidgets.QTabWidget(self.centralwidget) self.tabPlaylist = QtWidgets.QTabWidget(self.centralwidget)
self.tabPlaylist.setDocumentMode(False) self.tabPlaylist.setDocumentMode(False)
self.tabPlaylist.setTabsClosable(True) self.tabPlaylist.setTabsClosable(True)
self.tabPlaylist.setMovable(True) self.tabPlaylist.setMovable(True)
self.tabPlaylist.setObjectName("tabPlaylist") self.tabPlaylist.setObjectName("tabPlaylist")
self.gridLayout_6.addWidget(self.tabPlaylist, 2, 0, 1, 1) self.gridLayout_4.addWidget(self.tabPlaylist, 2, 0, 1, 1)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.horizontalLayout.setObjectName("horizontalLayout")
self.frame = QtWidgets.QFrame(self.centralwidget) self.frame = QtWidgets.QFrame(self.centralwidget)
self.frame.setMinimumSize(QtCore.QSize(321, 0))
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame") self.frame.setObjectName("frame")
self.formLayout = QtWidgets.QFormLayout(self.frame) self.gridLayout = QtWidgets.QGridLayout(self.frame)
self.formLayout.setObjectName("formLayout") self.gridLayout.setObjectName("gridLayout")
self.label_x = QtWidgets.QLabel(self.frame) self.label_x = QtWidgets.QLabel(self.frame)
self.label_x.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_x.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.label_x.setObjectName("label_x") self.label_x.setObjectName("label_x")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_x) self.gridLayout.addWidget(self.label_x, 0, 0, 1, 1)
self.label_track_length = QtWidgets.QLabel(self.frame) self.label_track_length = QtWidgets.QLabel(self.frame)
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("FreeSans") font.setFamily("FreeSans")
@ -235,11 +168,23 @@ class Ui_MainWindow(object):
self.label_track_length.setFont(font) self.label_track_length.setFont(font)
self.label_track_length.setScaledContents(False) self.label_track_length.setScaledContents(False)
self.label_track_length.setObjectName("label_track_length") self.label_track_length.setObjectName("label_track_length")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.label_track_length) self.gridLayout.addWidget(self.label_track_length, 0, 1, 1, 1)
self.label_x_2 = QtWidgets.QLabel(self.frame)
self.label_x_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.label_x_2.setObjectName("label_x_2")
self.gridLayout.addWidget(self.label_x_2, 0, 2, 1, 1)
self.label_start_time = QtWidgets.QLabel(self.frame)
font = QtGui.QFont()
font.setFamily("FreeSans")
font.setPointSize(16)
self.label_start_time.setFont(font)
self.label_start_time.setScaledContents(False)
self.label_start_time.setObjectName("label_start_time")
self.gridLayout.addWidget(self.label_start_time, 0, 3, 1, 1)
self.label_7 = QtWidgets.QLabel(self.frame) self.label_7 = QtWidgets.QLabel(self.frame)
self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.label_7.setObjectName("label_7") self.label_7.setObjectName("label_7")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_7) self.gridLayout.addWidget(self.label_7, 1, 0, 1, 1)
self.label_fade_length = QtWidgets.QLabel(self.frame) self.label_fade_length = QtWidgets.QLabel(self.frame)
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("FreeSans") font.setFamily("FreeSans")
@ -247,31 +192,46 @@ class Ui_MainWindow(object):
self.label_fade_length.setFont(font) self.label_fade_length.setFont(font)
self.label_fade_length.setScaledContents(False) self.label_fade_length.setScaledContents(False)
self.label_fade_length.setObjectName("label_fade_length") self.label_fade_length.setObjectName("label_fade_length")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.label_fade_length) self.gridLayout.addWidget(self.label_fade_length, 1, 1, 1, 1)
self.label_3 = QtWidgets.QLabel(self.frame) self.label_8 = QtWidgets.QLabel(self.frame)
self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.label_3.setObjectName("label_3") self.label_8.setObjectName("label_8")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_3) self.gridLayout.addWidget(self.label_8, 1, 2, 1, 1)
self.label_silence_length = QtWidgets.QLabel(self.frame) self.label_end_time = QtWidgets.QLabel(self.frame)
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("FreeSans") font.setFamily("FreeSans")
font.setPointSize(16) font.setPointSize(16)
self.label_silence_length.setFont(font) self.label_end_time.setFont(font)
self.label_silence_length.setScaledContents(False) self.label_end_time.setScaledContents(False)
self.label_silence_length.setObjectName("label_silence_length") self.label_end_time.setObjectName("label_end_time")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.label_silence_length) self.gridLayout.addWidget(self.label_end_time, 1, 3, 1, 1)
self.horizontalLayout_2.addWidget(self.frame) self.btnFade = QtWidgets.QPushButton(self.frame)
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/icons/fade"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnFade.setIcon(icon1)
self.btnFade.setIconSize(QtCore.QSize(30, 30))
self.btnFade.setObjectName("btnFade")
self.gridLayout.addWidget(self.btnFade, 2, 0, 1, 2)
self.btnStop = QtWidgets.QPushButton(self.frame)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/icons/stopsign"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.btnStop.setIcon(icon2)
self.btnStop.setIconSize(QtCore.QSize(30, 30))
self.btnStop.setObjectName("btnStop")
self.gridLayout.addWidget(self.btnStop, 2, 2, 1, 2)
self.horizontalLayout.addWidget(self.frame)
self.frame_elapsed = QtWidgets.QFrame(self.centralwidget) self.frame_elapsed = QtWidgets.QFrame(self.centralwidget)
self.frame_elapsed.setMinimumSize(QtCore.QSize(0, 112))
self.frame_elapsed.setStyleSheet("") self.frame_elapsed.setStyleSheet("")
self.frame_elapsed.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_elapsed.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_elapsed.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_elapsed.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_elapsed.setObjectName("frame_elapsed") self.frame_elapsed.setObjectName("frame_elapsed")
self.gridLayout = QtWidgets.QGridLayout(self.frame_elapsed) self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame_elapsed)
self.gridLayout.setObjectName("gridLayout") self.verticalLayout_4.setObjectName("verticalLayout_4")
self.label = QtWidgets.QLabel(self.frame_elapsed) self.label = QtWidgets.QLabel(self.frame_elapsed)
self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label") self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1) self.verticalLayout_4.addWidget(self.label)
self.label_elapsed_timer = QtWidgets.QLabel(self.frame_elapsed) self.label_elapsed_timer = QtWidgets.QLabel(self.frame_elapsed)
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("FreeSans") font.setFamily("FreeSans")
@ -281,19 +241,20 @@ class Ui_MainWindow(object):
self.label_elapsed_timer.setFont(font) self.label_elapsed_timer.setFont(font)
self.label_elapsed_timer.setAlignment(QtCore.Qt.AlignCenter) self.label_elapsed_timer.setAlignment(QtCore.Qt.AlignCenter)
self.label_elapsed_timer.setObjectName("label_elapsed_timer") self.label_elapsed_timer.setObjectName("label_elapsed_timer")
self.gridLayout.addWidget(self.label_elapsed_timer, 1, 0, 1, 1) self.verticalLayout_4.addWidget(self.label_elapsed_timer)
self.horizontalLayout_2.addWidget(self.frame_elapsed) self.horizontalLayout.addWidget(self.frame_elapsed)
self.frame_fade = QtWidgets.QFrame(self.centralwidget) self.frame_fade = QtWidgets.QFrame(self.centralwidget)
self.frame_fade.setMinimumSize(QtCore.QSize(0, 112))
self.frame_fade.setStyleSheet("") self.frame_fade.setStyleSheet("")
self.frame_fade.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_fade.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_fade.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_fade.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_fade.setObjectName("frame_fade") self.frame_fade.setObjectName("frame_fade")
self.gridLayout_3 = QtWidgets.QGridLayout(self.frame_fade) self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.frame_fade)
self.gridLayout_3.setObjectName("gridLayout_3") self.verticalLayout_2.setObjectName("verticalLayout_2")
self.label_4 = QtWidgets.QLabel(self.frame_fade) self.label_4 = QtWidgets.QLabel(self.frame_fade)
self.label_4.setAlignment(QtCore.Qt.AlignCenter) self.label_4.setAlignment(QtCore.Qt.AlignCenter)
self.label_4.setObjectName("label_4") self.label_4.setObjectName("label_4")
self.gridLayout_3.addWidget(self.label_4, 0, 0, 1, 1) self.verticalLayout_2.addWidget(self.label_4)
self.label_fade_timer = QtWidgets.QLabel(self.frame_fade) self.label_fade_timer = QtWidgets.QLabel(self.frame_fade)
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("FreeSans") font.setFamily("FreeSans")
@ -303,19 +264,20 @@ class Ui_MainWindow(object):
self.label_fade_timer.setFont(font) self.label_fade_timer.setFont(font)
self.label_fade_timer.setAlignment(QtCore.Qt.AlignCenter) self.label_fade_timer.setAlignment(QtCore.Qt.AlignCenter)
self.label_fade_timer.setObjectName("label_fade_timer") self.label_fade_timer.setObjectName("label_fade_timer")
self.gridLayout_3.addWidget(self.label_fade_timer, 1, 0, 1, 1) self.verticalLayout_2.addWidget(self.label_fade_timer)
self.horizontalLayout_2.addWidget(self.frame_fade) self.horizontalLayout.addWidget(self.frame_fade)
self.frame_silent = QtWidgets.QFrame(self.centralwidget) self.frame_silent = QtWidgets.QFrame(self.centralwidget)
self.frame_silent.setMinimumSize(QtCore.QSize(0, 112))
self.frame_silent.setStyleSheet("") self.frame_silent.setStyleSheet("")
self.frame_silent.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_silent.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_silent.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_silent.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_silent.setObjectName("frame_silent") self.frame_silent.setObjectName("frame_silent")
self.gridLayout_4 = QtWidgets.QGridLayout(self.frame_silent) self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.frame_silent)
self.gridLayout_4.setObjectName("gridLayout_4") self.verticalLayout_5.setObjectName("verticalLayout_5")
self.label_5 = QtWidgets.QLabel(self.frame_silent) self.label_5 = QtWidgets.QLabel(self.frame_silent)
self.label_5.setAlignment(QtCore.Qt.AlignCenter) self.label_5.setAlignment(QtCore.Qt.AlignCenter)
self.label_5.setObjectName("label_5") self.label_5.setObjectName("label_5")
self.gridLayout_4.addWidget(self.label_5, 0, 0, 1, 1) self.verticalLayout_5.addWidget(self.label_5)
self.label_silent_timer = QtWidgets.QLabel(self.frame_silent) self.label_silent_timer = QtWidgets.QLabel(self.frame_silent)
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("FreeSans") font.setFamily("FreeSans")
@ -325,19 +287,20 @@ class Ui_MainWindow(object):
self.label_silent_timer.setFont(font) self.label_silent_timer.setFont(font)
self.label_silent_timer.setAlignment(QtCore.Qt.AlignCenter) self.label_silent_timer.setAlignment(QtCore.Qt.AlignCenter)
self.label_silent_timer.setObjectName("label_silent_timer") self.label_silent_timer.setObjectName("label_silent_timer")
self.gridLayout_4.addWidget(self.label_silent_timer, 1, 0, 1, 1) self.verticalLayout_5.addWidget(self.label_silent_timer)
self.horizontalLayout_2.addWidget(self.frame_silent) self.horizontalLayout.addWidget(self.frame_silent)
self.frame_end = QtWidgets.QFrame(self.centralwidget) self.frame_end = QtWidgets.QFrame(self.centralwidget)
self.frame_end.setMinimumSize(QtCore.QSize(0, 112))
self.frame_end.setStyleSheet("") self.frame_end.setStyleSheet("")
self.frame_end.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_end.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_end.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_end.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_end.setObjectName("frame_end") self.frame_end.setObjectName("frame_end")
self.gridLayout_5 = QtWidgets.QGridLayout(self.frame_end) self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.frame_end)
self.gridLayout_5.setObjectName("gridLayout_5") self.verticalLayout_6.setObjectName("verticalLayout_6")
self.label_6 = QtWidgets.QLabel(self.frame_end) self.label_6 = QtWidgets.QLabel(self.frame_end)
self.label_6.setAlignment(QtCore.Qt.AlignCenter) self.label_6.setAlignment(QtCore.Qt.AlignCenter)
self.label_6.setObjectName("label_6") self.label_6.setObjectName("label_6")
self.gridLayout_5.addWidget(self.label_6, 0, 0, 1, 1) self.verticalLayout_6.addWidget(self.label_6)
self.label_end_timer = QtWidgets.QLabel(self.frame_end) self.label_end_timer = QtWidgets.QLabel(self.frame_end)
font = QtGui.QFont() font = QtGui.QFont()
font.setFamily("FreeSans") font.setFamily("FreeSans")
@ -347,9 +310,30 @@ class Ui_MainWindow(object):
self.label_end_timer.setFont(font) self.label_end_timer.setFont(font)
self.label_end_timer.setAlignment(QtCore.Qt.AlignCenter) self.label_end_timer.setAlignment(QtCore.Qt.AlignCenter)
self.label_end_timer.setObjectName("label_end_timer") self.label_end_timer.setObjectName("label_end_timer")
self.gridLayout_5.addWidget(self.label_end_timer, 1, 0, 1, 1) self.verticalLayout_6.addWidget(self.label_end_timer)
self.horizontalLayout_2.addWidget(self.frame_end) self.horizontalLayout.addWidget(self.frame_end)
self.gridLayout_6.addLayout(self.horizontalLayout_2, 3, 0, 1, 1) self.frame_3 = QtWidgets.QFrame(self.centralwidget)
self.frame_3.setMinimumSize(QtCore.QSize(152, 112))
self.frame_3.setMaximumSize(QtCore.QSize(184, 16777215))
self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_3.setObjectName("frame_3")
self.gridLayout_3 = QtWidgets.QGridLayout(self.frame_3)
self.gridLayout_3.setObjectName("gridLayout_3")
self.btnDrop3db = QtWidgets.QPushButton(self.frame_3)
self.btnDrop3db.setMinimumSize(QtCore.QSize(132, 36))
self.btnDrop3db.setMaximumSize(QtCore.QSize(164, 16777215))
self.btnDrop3db.setCheckable(True)
self.btnDrop3db.setObjectName("btnDrop3db")
self.gridLayout_3.addWidget(self.btnDrop3db, 0, 0, 1, 1)
self.btnHidePlayed = QtWidgets.QPushButton(self.frame_3)
self.btnHidePlayed.setMinimumSize(QtCore.QSize(132, 36))
self.btnHidePlayed.setMaximumSize(QtCore.QSize(164, 16777215))
self.btnHidePlayed.setCheckable(True)
self.btnHidePlayed.setObjectName("btnHidePlayed")
self.gridLayout_3.addWidget(self.btnHidePlayed, 1, 0, 1, 1)
self.horizontalLayout.addWidget(self.frame_3)
self.gridLayout_4.addLayout(self.horizontalLayout, 3, 0, 1, 1)
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, 1280, 24)) self.menubar.setGeometry(QtCore.QRect(0, 0, 1280, 24))
@ -367,41 +351,41 @@ class Ui_MainWindow(object):
self.statusbar.setObjectName("statusbar") self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar) MainWindow.setStatusBar(self.statusbar)
self.actionPlay_next = QtWidgets.QAction(MainWindow) self.actionPlay_next = QtWidgets.QAction(MainWindow)
icon9 = QtGui.QIcon() icon3 = QtGui.QIcon()
icon9.addPixmap(QtGui.QPixmap("ui/../../../../.designer/backup/icon-play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon3.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon-play.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionPlay_next.setIcon(icon9) self.actionPlay_next.setIcon(icon3)
self.actionPlay_next.setObjectName("actionPlay_next") self.actionPlay_next.setObjectName("actionPlay_next")
self.actionSkip_next = QtWidgets.QAction(MainWindow) self.actionSkip_next = QtWidgets.QAction(MainWindow)
icon10 = QtGui.QIcon() icon4 = QtGui.QIcon()
icon10.addPixmap(QtGui.QPixmap(":/icons/next"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon4.addPixmap(QtGui.QPixmap(":/icons/next"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionSkip_next.setIcon(icon10) self.actionSkip_next.setIcon(icon4)
self.actionSkip_next.setObjectName("actionSkip_next") self.actionSkip_next.setObjectName("actionSkip_next")
self.actionSearch_database = QtWidgets.QAction(MainWindow) self.actionSearch_database = QtWidgets.QAction(MainWindow)
icon11 = QtGui.QIcon() icon5 = QtGui.QIcon()
icon11.addPixmap(QtGui.QPixmap("ui/../../../../.designer/backup/icon_search_database.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon5.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon_search_database.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionSearch_database.setIcon(icon11) self.actionSearch_database.setIcon(icon5)
self.actionSearch_database.setObjectName("actionSearch_database") self.actionSearch_database.setObjectName("actionSearch_database")
self.actionAdd_file = QtWidgets.QAction(MainWindow) self.actionAdd_file = QtWidgets.QAction(MainWindow)
icon12 = QtGui.QIcon() icon6 = QtGui.QIcon()
icon12.addPixmap(QtGui.QPixmap("ui/../../../../.designer/backup/icon_open_file.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon6.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon_open_file.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionAdd_file.setIcon(icon12) self.actionAdd_file.setIcon(icon6)
self.actionAdd_file.setObjectName("actionAdd_file") self.actionAdd_file.setObjectName("actionAdd_file")
self.actionFade = QtWidgets.QAction(MainWindow) self.actionFade = QtWidgets.QAction(MainWindow)
icon13 = QtGui.QIcon() icon7 = QtGui.QIcon()
icon13.addPixmap(QtGui.QPixmap("ui/../../../../.designer/backup/icon-fade.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon7.addPixmap(QtGui.QPixmap("app/ui/../../../../.designer/backup/icon-fade.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionFade.setIcon(icon13) self.actionFade.setIcon(icon7)
self.actionFade.setObjectName("actionFade") self.actionFade.setObjectName("actionFade")
self.actionStop = QtWidgets.QAction(MainWindow) self.actionStop = QtWidgets.QAction(MainWindow)
icon14 = QtGui.QIcon() icon8 = QtGui.QIcon()
icon14.addPixmap(QtGui.QPixmap(":/icons/stop"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon8.addPixmap(QtGui.QPixmap(":/icons/stop"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.actionStop.setIcon(icon14) self.actionStop.setIcon(icon8)
self.actionStop.setObjectName("actionStop") self.actionStop.setObjectName("actionStop")
self.action_Clear_selection = QtWidgets.QAction(MainWindow) self.action_Clear_selection = QtWidgets.QAction(MainWindow)
self.action_Clear_selection.setObjectName("action_Clear_selection") self.action_Clear_selection.setObjectName("action_Clear_selection")
self.action_Resume_previous = QtWidgets.QAction(MainWindow) self.action_Resume_previous = QtWidgets.QAction(MainWindow)
icon15 = QtGui.QIcon() icon9 = QtGui.QIcon()
icon15.addPixmap(QtGui.QPixmap(":/icons/previous"), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon9.addPixmap(QtGui.QPixmap(":/icons/previous"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.action_Resume_previous.setIcon(icon15) self.action_Resume_previous.setIcon(icon9)
self.action_Resume_previous.setObjectName("action_Resume_previous") self.action_Resume_previous.setObjectName("action_Resume_previous")
self.actionE_xit = QtWidgets.QAction(MainWindow) self.actionE_xit = QtWidgets.QAction(MainWindow)
self.actionE_xit.setObjectName("actionE_xit") self.actionE_xit.setObjectName("actionE_xit")
@ -450,18 +434,21 @@ class Ui_MainWindow(object):
self.actionDownload_CSV_of_played_tracks.setObjectName("actionDownload_CSV_of_played_tracks") self.actionDownload_CSV_of_played_tracks.setObjectName("actionDownload_CSV_of_played_tracks")
self.actionSearch = QtWidgets.QAction(MainWindow) self.actionSearch = QtWidgets.QAction(MainWindow)
self.actionSearch.setObjectName("actionSearch") self.actionSearch.setObjectName("actionSearch")
self.menuFile.addAction(self.actionImport) self.menuFile.addAction(self.actionNewPlaylist)
self.menuFile.addAction(self.actionOpenPlaylist)
self.menuFile.addAction(self.actionClosePlaylist)
self.menuFile.addAction(self.actionRenamePlaylist)
self.menuFile.addAction(self.actionDeletePlaylist)
self.menuFile.addSeparator()
self.menuFile.addAction(self.actionDownload_CSV_of_played_tracks)
self.menuFile.addAction(self.actionExport_playlist)
self.menuFile.addSeparator() self.menuFile.addSeparator()
self.menuFile.addAction(self.actionE_xit) self.menuFile.addAction(self.actionE_xit)
self.menuFile.addSeparator() self.menuFile.addSeparator()
self.menuPlaylist.addAction(self.actionNewPlaylist)
self.menuPlaylist.addAction(self.actionOpenPlaylist)
self.menuPlaylist.addAction(self.actionClosePlaylist)
self.menuPlaylist.addAction(self.actionRenamePlaylist)
self.menuPlaylist.addAction(self.actionDeletePlaylist)
self.menuPlaylist.addSeparator() self.menuPlaylist.addSeparator()
self.menuPlaylist.addAction(self.actionSearch_database) self.menuPlaylist.addAction(self.actionSearch_database)
self.menuPlaylist.addAction(self.actionAdd_note) self.menuPlaylist.addAction(self.actionAdd_note)
self.menuPlaylist.addAction(self.actionImport)
self.menuPlaylist.addAction(self.action_Clear_selection) self.menuPlaylist.addAction(self.action_Clear_selection)
self.menuPlaylist.addSeparator() self.menuPlaylist.addSeparator()
self.menuPlaylist.addAction(self.actionSetNext) self.menuPlaylist.addAction(self.actionSetNext)
@ -470,8 +457,6 @@ class Ui_MainWindow(object):
self.menuPlaylist.addAction(self.actionSelect_played_tracks) self.menuPlaylist.addAction(self.actionSelect_played_tracks)
self.menuPlaylist.addAction(self.actionMoveSelected) self.menuPlaylist.addAction(self.actionMoveSelected)
self.menuPlaylist.addSeparator() self.menuPlaylist.addSeparator()
self.menuPlaylist.addAction(self.actionDownload_CSV_of_played_tracks)
self.menuPlaylist.addAction(self.actionExport_playlist)
self.menuPlaylist.addSeparator() self.menuPlaylist.addSeparator()
self.menuPlaylist.addAction(self.actionSelect_next_track) self.menuPlaylist.addAction(self.actionSelect_next_track)
self.menuPlaylist.addAction(self.actionSelect_previous_track) self.menuPlaylist.addAction(self.actionSelect_previous_track)
@ -500,20 +485,16 @@ class Ui_MainWindow(object):
self.current_track_2.setText(_translate("MainWindow", "Current track:")) self.current_track_2.setText(_translate("MainWindow", "Current track:"))
self.next_track_2.setText(_translate("MainWindow", "Next track:")) self.next_track_2.setText(_translate("MainWindow", "Next track:"))
self.lblTOD.setText(_translate("MainWindow", "00:00:00")) self.lblTOD.setText(_translate("MainWindow", "00:00:00"))
self.btnPlay.setText(_translate("MainWindow", " Play"))
self.btnSongInfo.setText(_translate("MainWindow", "Song info"))
self.btnDatabase.setText(_translate("MainWindow", "Database"))
self.btnAddFile.setText(_translate("MainWindow", "Add file"))
self.btnAddNote.setText(_translate("MainWindow", "Add note"))
self.btnSetNext.setText(_translate("MainWindow", "Set next"))
self.btnStop.setText(_translate("MainWindow", "Stop"))
self.btnFade.setText(_translate("MainWindow", "Fade"))
self.label_x.setText(_translate("MainWindow", "Track length:")) self.label_x.setText(_translate("MainWindow", "Track length:"))
self.label_track_length.setText(_translate("MainWindow", "0:00")) self.label_track_length.setText(_translate("MainWindow", "0:00"))
self.label_x_2.setText(_translate("MainWindow", "Start:"))
self.label_start_time.setText(_translate("MainWindow", "00:00:00"))
self.label_7.setText(_translate("MainWindow", "Fade length:")) self.label_7.setText(_translate("MainWindow", "Fade length:"))
self.label_fade_length.setText(_translate("MainWindow", "0:00")) self.label_fade_length.setText(_translate("MainWindow", "0:00"))
self.label_3.setText(_translate("MainWindow", "Silence length:")) self.label_8.setText(_translate("MainWindow", "End:"))
self.label_silence_length.setText(_translate("MainWindow", "0:00")) self.label_end_time.setText(_translate("MainWindow", "00:00:00"))
self.btnFade.setText(_translate("MainWindow", "Fade"))
self.btnStop.setText(_translate("MainWindow", "Stop"))
self.label.setText(_translate("MainWindow", "Elapsed time")) self.label.setText(_translate("MainWindow", "Elapsed time"))
self.label_elapsed_timer.setText(_translate("MainWindow", "00:00")) self.label_elapsed_timer.setText(_translate("MainWindow", "00:00"))
self.label_4.setText(_translate("MainWindow", "Fade")) self.label_4.setText(_translate("MainWindow", "Fade"))
@ -522,8 +503,10 @@ class Ui_MainWindow(object):
self.label_silent_timer.setText(_translate("MainWindow", "00:00")) self.label_silent_timer.setText(_translate("MainWindow", "00:00"))
self.label_6.setText(_translate("MainWindow", "End")) self.label_6.setText(_translate("MainWindow", "End"))
self.label_end_timer.setText(_translate("MainWindow", "00:00")) self.label_end_timer.setText(_translate("MainWindow", "00:00"))
self.btnDrop3db.setText(_translate("MainWindow", "-3dB to talk"))
self.btnHidePlayed.setText(_translate("MainWindow", "Hide played"))
self.menuFile.setTitle(_translate("MainWindow", "Fi&le")) self.menuFile.setTitle(_translate("MainWindow", "Fi&le"))
self.menuPlaylist.setTitle(_translate("MainWindow", "Pla&ylist")) self.menuPlaylist.setTitle(_translate("MainWindow", "&Tracks"))
self.menu_Music.setTitle(_translate("MainWindow", "&Music")) self.menu_Music.setTitle(_translate("MainWindow", "&Music"))
self.actionPlay_next.setText(_translate("MainWindow", "&Play next")) self.actionPlay_next.setText(_translate("MainWindow", "&Play next"))
self.actionPlay_next.setShortcut(_translate("MainWindow", "Return")) self.actionPlay_next.setShortcut(_translate("MainWindow", "Return"))
@ -536,6 +519,7 @@ class Ui_MainWindow(object):
self.actionFade.setText(_translate("MainWindow", "F&ade")) self.actionFade.setText(_translate("MainWindow", "F&ade"))
self.actionFade.setShortcut(_translate("MainWindow", "Ctrl+S")) self.actionFade.setShortcut(_translate("MainWindow", "Ctrl+S"))
self.actionStop.setText(_translate("MainWindow", "S&top")) 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.setText(_translate("MainWindow", "Clear &selection"))
self.action_Clear_selection.setShortcut(_translate("MainWindow", "Esc")) self.action_Clear_selection.setShortcut(_translate("MainWindow", "Esc"))
self.action_Resume_previous.setText(_translate("MainWindow", "&Resume previous")) self.action_Resume_previous.setText(_translate("MainWindow", "&Resume previous"))

BIN
testdata/audiocheck.net_pinknoise.wav vendored Normal file

Binary file not shown.

Binary file not shown.