Rework Audacity initialisation

This commit is contained in:
Keith Edmunds 2024-02-10 15:51:23 +00:00
parent 468ecda450
commit c511bf053e
2 changed files with 24 additions and 7 deletions

View File

@ -226,12 +226,8 @@ class Window(QMainWindow, Ui_MainWindow):
self.move_source_rows: Optional[List[int]] = None
self.move_source_model: Optional[PlaylistProxyModel] = None
self.audacity_file_path: Optional[str] = None
# Initialise Audacity access
try:
self.audacity_client = pipeclient.PipeClient()
log.info(f"{hex(id(self.audacity_client))=}")
except RuntimeError as e:
log.error(f"Unable to initialise Audacity: {str(e)}")
self.audacity_client: Optional[pipeclient.PipeClient] = None
self.initialise_audacity()
if Config.CARTS_HIDE:
self.cartsWidget.hide()
@ -865,6 +861,17 @@ class Window(QMainWindow, Ui_MainWindow):
self.import_thread.finished.connect(self.import_thread.deleteLater)
self.import_thread.start()
def initialise_audacity(self) -> None:
"""
Initialise access to audacity
"""
try:
self.audacity_client = pipeclient.PipeClient()
log.info(f"{hex(id(self.audacity_client))=}")
except RuntimeError as e:
log.error(f"Unable to initialise Audacity: {str(e)}")
def insert_header(self) -> None:
"""Show dialog box to enter header text and add to playlist"""

View File

@ -358,6 +358,12 @@ class PlaylistTab(QTableView):
show_warning(self.musicmuster, "Audacity", "Audacity is not running")
return False
if not self.musicmuster.audacity_client:
self.musicmuster.initialise_audacity()
if not self.musicmuster.audacity_client:
log.error("Unable to access Audacity client")
return False
self.musicmuster.audacity_client.write(cmd, timer=True)
reply = ""
@ -671,15 +677,19 @@ class PlaylistTab(QTableView):
Open track in passed row in Audacity
"""
if not self.musicmuster.audacity_client:
self.musicmuster.initialise_audacity()
path = self.source_model.get_row_track_path(row_number)
if not path:
log.error(f"_open_in_audacity: can't get path for {row_number=}")
return
self.musicmuster.audacity_file_path = path
escaped_path = path.replace('"', '\\"')
cmd = f'Import2: Filename="{escaped_path}"'
status = self._audactity_command(cmd)
if status:
self.musicmuster.audacity_file_path = path
log.info(f"_open_in_audacity {path=}, {status=}")