diff --git a/backend/app_controller.py b/backend/app_controller.py index d11670f..d03c842 100644 --- a/backend/app_controller.py +++ b/backend/app_controller.py @@ -276,7 +276,6 @@ class AppController: self.current_model_size = model self.current_device_config = device_config - user_name = self.config.get('user.name', 'User') continuous_mode = self.config.get('transcription.continuous_mode', False) if continuous_mode: @@ -293,7 +292,6 @@ class AppController: if remote_mode in ('managed', 'byok'): self.transcription_engine = DeepgramTranscriptionEngine( config=self.config, - user_name=user_name, input_device_index=audio_device, ) self.transcription_engine.set_callbacks( @@ -343,7 +341,7 @@ class AppController: initial_prompt=self.config.get('transcription.initial_prompt', ''), no_log_file=self.config.get('transcription.no_log_file', True), input_device_index=audio_device, - user_name=user_name, + app_config=self.config, ) self.transcription_engine.set_callbacks( realtime_callback=self._on_realtime_transcription, diff --git a/client/deepgram_transcription.py b/client/deepgram_transcription.py index 8b26f9d..15a8100 100644 --- a/client/deepgram_transcription.py +++ b/client/deepgram_transcription.py @@ -36,18 +36,16 @@ class DeepgramTranscriptionEngine: # Construction / configuration # ------------------------------------------------------------------ # - def __init__(self, config, user_name: str = "User", input_device_index: Optional[int] = None): + def __init__(self, config, input_device_index: Optional[int] = None): """ Initialise the engine from a :class:`client.config.Config` object. Args: config: Application ``Config`` instance. - user_name: Display name attached to transcriptions. input_device_index: Index of the audio input device to use (``None`` for the system default). """ self.config = config - self.user_name = user_name self.input_device_index = input_device_index # Mode: 'managed' (proxy) or 'byok' (direct Deepgram) @@ -454,7 +452,7 @@ class DeepgramTranscriptionEngine: text=text, is_final=is_final, timestamp=datetime.now(), - user_name=self.user_name, + user_name=self.config.get('user.name', 'User'), ) if is_final: if self.final_callback: @@ -505,7 +503,7 @@ class DeepgramTranscriptionEngine: text=transcript, is_final=is_final, timestamp=datetime.now(), - user_name=self.user_name, + user_name=self.config.get('user.name', 'User'), ) if is_final: if self.final_callback: @@ -536,10 +534,6 @@ class DeepgramTranscriptionEngine: pass self._ws = None - def set_user_name(self, user_name: str): - """Update the user name attached to future transcriptions.""" - self.user_name = user_name - def is_recording_active(self) -> bool: """Return ``True`` if audio is currently being captured.""" return self._is_recording diff --git a/client/transcription_engine_realtime.py b/client/transcription_engine_realtime.py index 8144e7c..bf28f07 100644 --- a/client/transcription_engine_realtime.py +++ b/client/transcription_engine_realtime.py @@ -58,8 +58,8 @@ class RealtimeTranscriptionEngine: no_log_file: bool = True, # Audio device input_device_index: Optional[int] = None, - # User name - user_name: str = "" + # App config (for reading user.name at transcription time) + app_config=None ): """ Initialize RealtimeSTT transcription engine. @@ -82,7 +82,7 @@ class RealtimeTranscriptionEngine: initial_prompt: Optional prompt to guide transcription no_log_file: Disable RealtimeSTT logging input_device_index: Audio input device index - user_name: User name for transcriptions + app_config: App Config object for reading user.name dynamically """ self.model = model self.language = language @@ -100,7 +100,7 @@ class RealtimeTranscriptionEngine: self.enable_realtime = enable_realtime_transcription self.realtime_model = realtime_model self.realtime_processing_pause = realtime_processing_pause - self.user_name = user_name + self.app_config = app_config # Callbacks self.realtime_callback: Optional[Callable[[TranscriptionResult], None]] = None @@ -162,6 +162,11 @@ class RealtimeTranscriptionEngine: self.realtime_callback = realtime_callback self.final_callback = final_callback + def _get_user_name(self) -> str: + if self.app_config: + return self.app_config.get('user.name', '') + return '' + def _on_realtime_transcription(self, text: str): """Internal callback for realtime transcriptions.""" if self.realtime_callback and text.strip(): @@ -169,7 +174,7 @@ class RealtimeTranscriptionEngine: text=text, is_final=False, timestamp=datetime.now(), - user_name=self.user_name + user_name=self._get_user_name() ) self.realtime_callback(result) @@ -180,7 +185,7 @@ class RealtimeTranscriptionEngine: text=text, is_final=True, timestamp=datetime.now(), - user_name=self.user_name + user_name=self._get_user_name() ) self.final_callback(result) @@ -406,10 +411,6 @@ class RealtimeTranscriptionEngine: if self.is_recording: print("VAD settings updated. Restart transcription to apply changes.") - def set_user_name(self, user_name: str): - """Set the user name for transcriptions.""" - self.user_name = user_name - def __repr__(self) -> str: return f"RealtimeTranscriptionEngine(model={self.model}, device={self.device}, running={self.is_recording})" diff --git a/gui/main_window_qt.py b/gui/main_window_qt.py index f9552d1..46e4758 100644 --- a/gui/main_window_qt.py +++ b/gui/main_window_qt.py @@ -401,7 +401,6 @@ class MainWindow(QMainWindow): # Use Deepgram-based remote transcription self.transcription_engine = DeepgramTranscriptionEngine( config=self.config, - user_name=user_name, input_device_index=audio_device ) self.transcription_engine.set_callbacks( @@ -431,7 +430,7 @@ class MainWindow(QMainWindow): initial_prompt=self.config.get('transcription.initial_prompt', ''), no_log_file=self.config.get('transcription.no_log_file', True), input_device_index=audio_device, - user_name=user_name + app_config=self.config ) # Set up callbacks for transcription results diff --git a/main_cli.py b/main_cli.py index 05bf848..b1d1620 100755 --- a/main_cli.py +++ b/main_cli.py @@ -90,7 +90,7 @@ class TranscriptionCLI: initial_prompt=self.config.get('transcription.initial_prompt', ''), no_log_file=True, input_device_index=audio_device, - user_name=user_name + app_config=self.config ) # Set up callbacks