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_rows: Optional[List[int]] = None
self.move_source_model: Optional[PlaylistProxyModel] = None self.move_source_model: Optional[PlaylistProxyModel] = None
self.audacity_file_path: Optional[str] = None self.audacity_file_path: Optional[str] = None
# Initialise Audacity access self.audacity_client: Optional[pipeclient.PipeClient] = None
try: self.initialise_audacity()
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)}")
if Config.CARTS_HIDE: if Config.CARTS_HIDE:
self.cartsWidget.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.finished.connect(self.import_thread.deleteLater)
self.import_thread.start() 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: def insert_header(self) -> None:
"""Show dialog box to enter header text and add to playlist""" """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") show_warning(self.musicmuster, "Audacity", "Audacity is not running")
return False 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) self.musicmuster.audacity_client.write(cmd, timer=True)
reply = "" reply = ""
@ -671,15 +677,19 @@ class PlaylistTab(QTableView):
Open track in passed row in Audacity 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) path = self.source_model.get_row_track_path(row_number)
if not path: if not path:
log.error(f"_open_in_audacity: can't get path for {row_number=}") log.error(f"_open_in_audacity: can't get path for {row_number=}")
return return
self.musicmuster.audacity_file_path = path
escaped_path = path.replace('"', '\\"') escaped_path = path.replace('"', '\\"')
cmd = f'Import2: Filename="{escaped_path}"' cmd = f'Import2: Filename="{escaped_path}"'
status = self._audactity_command(cmd) status = self._audactity_command(cmd)
if status:
self.musicmuster.audacity_file_path = path
log.info(f"_open_in_audacity {path=}, {status=}") log.info(f"_open_in_audacity {path=}, {status=}")