From 9068f46d407d3d26607dcf8d580510215e11bd6a Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Thu, 8 Apr 2021 07:38:10 +0100 Subject: [PATCH] Add file to db and playlist --- app/musicmuster.py | 14 ++++++++------ app/playlists.py | 8 +++++--- app/songdb.py | 2 ++ app/ui/main_window.ui | 3 +++ 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app/musicmuster.py b/app/musicmuster.py index 9a686ad..67a7da1 100755 --- a/app/musicmuster.py +++ b/app/musicmuster.py @@ -20,6 +20,7 @@ import helpers from config import Config from model import Settings +from songdb import add_path_to_db from ui.main_window_ui import Ui_MainWindow @@ -81,23 +82,24 @@ class Window(QMainWindow, Ui_MainWindow): dlg.setNameFilter("Music files (*.flac *.mp3)") if dlg.exec_(): - pass - # TODO Add to database - # for fname in dlg.selectedFiles(): - # trackwest = Track(fname) - # self.add_to_playlist(track) + for fname in dlg.selectedFiles(): + track = add_path_to_db(fname) + + self.playlist.add_to_playlist(track) def clear_selection(self): self.playlist.clearSelection() def connect_signals_slots(self): + self.actionAdd_file.triggered.connect(self.add_file) self.action_Clear_selection.triggered.connect(self.clear_selection) self.actionFade.triggered.connect(self.fade) self.actionNewPlaylist.triggered.connect(self.create_playlist) - self.actionSelectPlaylist.triggered.connect(self.select_playlist) self.actionPlay_next.triggered.connect(self.play_next) self.actionSearch_database.triggered.connect(self.search_database) + self.actionSelectPlaylist.triggered.connect(self.select_playlist) self.actionSkip_next.triggered.connect(self.play_next) + self.btnAddFile.clicked.connect(self.add_file) self.btnInsertNote.clicked.connect(self.insert_note) self.btnPrevious.clicked.connect(self.play_previous) self.btnSearchDatabase.clicked.connect(self.search_database) diff --git a/app/playlists.py b/app/playlists.py index de455e8..6d4abc6 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -513,11 +513,13 @@ class Playlist(QTableWidget): start = current_row + 1 else: start = 0 + notes_rows = self.meta_get_notes() for row in range(start, self.rowCount()): + if row in notes_rows: + continue if self.item(row, self.COL_INDEX): - if int(self.item(row, self.COL_INDEX).text()) > 0: - self.meta_set_next(row) - break + self.meta_set_next(row) + break # Tell database to record it as played self.current_track.update_lastplayed() diff --git a/app/songdb.py b/app/songdb.py index a75f38d..d09d478 100755 --- a/app/songdb.py +++ b/app/songdb.py @@ -49,6 +49,8 @@ def add_path_to_db(path): track.mtime = os.path.getmtime(path) session.commit() + return track + def get_audio_segment(path): try: diff --git a/app/ui/main_window.ui b/app/ui/main_window.ui index 0bb8f50..d613872 100644 --- a/app/ui/main_window.ui +++ b/app/ui/main_window.ui @@ -803,6 +803,9 @@ border: 1px solid rgb(85, 87, 83); F&ade + + Ctrl+S +