Don't exit if Audacity not running

Handle Audacity integration better

Fixes: #215
This commit is contained in:
Keith Edmunds 2024-01-19 10:12:41 +00:00
parent 4fce750223
commit 2ecb67629e
2 changed files with 9 additions and 6 deletions

View File

@ -227,8 +227,11 @@ class Window(QMainWindow, Ui_MainWindow):
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 # Initialise Audacity access
try:
self.audacity_client = pipeclient.PipeClient() self.audacity_client = pipeclient.PipeClient()
log.info(f"{hex(id(self.audacity_client))=}") 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()

View File

@ -81,7 +81,7 @@ import argparse
if sys.version_info[0] < 3: if sys.version_info[0] < 3:
sys.exit('PipeClient Error: Python 3.x required') raise RuntimeError('PipeClient Error: Python 3.x required')
# Platform specific constants # Platform specific constants
if sys.platform == 'win32': if sys.platform == 'win32':
@ -156,7 +156,7 @@ class PipeClient():
# Allow a little time for connection to be made. # Allow a little time for connection to be made.
time.sleep(0.1) time.sleep(0.1)
if not self._write_pipe: if not self._write_pipe:
sys.exit('PipeClientError: Write pipe cannot be opened.') raise RuntimeError('PipeClientError: Write pipe cannot be opened.')
def _write_pipe_open(self) -> None: def _write_pipe_open(self) -> None:
"""Open _write_pipe.""" """Open _write_pipe."""
@ -187,7 +187,7 @@ class PipeClient():
self._write_pipe.write(command + EOL) self._write_pipe.write(command + EOL)
# Check that read pipe is alive # Check that read pipe is alive
if PipeClient.reader_pipe_broken.is_set(): if PipeClient.reader_pipe_broken.is_set():
sys.exit('PipeClient: Read-pipe error.') raise RuntimeError('PipeClient: Read-pipe error.')
try: try:
self._write_pipe.flush() self._write_pipe.flush()
if self.timer: if self.timer:
@ -196,7 +196,7 @@ class PipeClient():
PipeClient.reply_ready.clear() PipeClient.reply_ready.clear()
except IOError as err: except IOError as err:
if err.errno == errno.EPIPE: if err.errno == errno.EPIPE:
sys.exit('PipeClient: Write-pipe error.') raise RuntimeError('PipeClient: Write-pipe error.')
else: else:
raise raise