Add TOD clocks

This commit is contained in:
Keith Edmunds 2021-03-27 00:44:24 +00:00
parent e5037371af
commit 44a8d30e35

View File

@ -1,10 +1,9 @@
#!/usr/bin/python3 #!/usr/bin/python3
import os
import vlc import vlc
import sys import sys
from datetime import datetime from datetime import datetime, timedelta
from log import DEBUG, ERROR from log import DEBUG, ERROR
from PyQt5.QtCore import Qt, QTimer from PyQt5.QtCore import Qt, QTimer
@ -20,17 +19,14 @@ from model import Settings, Tracks
class Music: class Music:
def __init__(self): def __init__(self):
self.current_track = { self.current_track = {
"player": None, "player": None,
"meta": None "meta": None
} }
self.next_track = { self.next_track = {
"player": None, "player": None,
"meta": None "meta": None
} }
self.previous_track = { self.previous_track = {
"player": None, "player": None,
"meta": None "meta": None
@ -73,13 +69,14 @@ class Music:
self.current_track['player'].stop() self.current_track['player'].stop()
self.previous_track = self.current_track self.previous_track = self.current_track
self.current_track = self.next_track self.current_track = self.next_track
self.current_track['player'].play()
# Tidy up
self.next_track = { self.next_track = {
"player": None, "player": None,
"meta": None "meta": None
} }
self.current_track['player'].play()
def playing(self): def playing(self):
if self.current_track['player']: if self.current_track['player']:
return self.current_track['player'].is_playing() return self.current_track['player'].is_playing()
@ -164,6 +161,19 @@ class Window(QMainWindow, Ui_MainWindow):
def play_next(self): def play_next(self):
self.music.play_next() self.music.play_next()
# Set time clocks
now = datetime.now()
self.label_start_tod.setText(now.strftime("%H:%M:%S"))
fade_time = now + timedelta(
milliseconds=self.music.get_current_fade_at())
self.label_fade_tod.setText(fade_time.strftime("%H:%M:%S"))
silence_time = now + timedelta(
milliseconds=self.music.get_current_silence_at())
self.label_silent_tod.setText(silence_time.strftime("%H:%M:%S"))
end_time = now + timedelta(
milliseconds=self.music.get_current_duration())
self.label_end_tod.setText(end_time.strftime("%H:%M:%S"))
def play_selected(self): def play_selected(self):
if self.playlist.selectionModel().hasSelection(): if self.playlist.selectionModel().hasSelection():
row = self.playlist.currentRow() row = self.playlist.currentRow()