diff --git a/src/CaptDeviceControl/controller/BaseAD2CaptDevice.py b/src/CaptDeviceControl/controller/BaseAD2CaptDevice.py index d2899ab0fd2938a90ef4e07e222b0855a0e5ce3a..5a5793d395fbeae9ef08ae322a0175e0ab7c6956 100644 --- a/src/CaptDeviceControl/controller/BaseAD2CaptDevice.py +++ b/src/CaptDeviceControl/controller/BaseAD2CaptDevice.py @@ -41,6 +41,7 @@ class BaseAD2CaptDevice(cmp.CProcessControl): device_state_changed = Signal(AD2Constants.DeviceState, name="device_state_changed") capture_process_state_changed = Signal(AD2Constants.CapturingState, name="capture_process_state_changed") + ready_for_recording_changed = Signal(bool, name="ready_for_recording_changed") def __init__(self, ad2capt_model: AD2CaptDeviceModel, start_capture_flag: Value): super().__init__( @@ -114,6 +115,9 @@ class BaseAD2CaptDevice(cmp.CProcessControl): self.capture_process_state_changed.connect( lambda x: type(self.model.capturing_information).device_capturing_state.fset( self.model.capturing_information, x)) + self.ready_for_recording_changed.connect( + lambda x: type(self.model.capturing_information).ready_for_recording.fset( + self.model.capturing_information, x)) self.open_device_finished.connect(self.on_open_device_finished) diff --git a/src/CaptDeviceControl/controller/mp_AD2Capture/MPCaptDevice.py b/src/CaptDeviceControl/controller/mp_AD2Capture/MPCaptDevice.py index ef96ce4a2730a84bb6b01976b83fc04524bf352d..cb47c2b4f294db66acaad0657cb1d2124c670336 100644 --- a/src/CaptDeviceControl/controller/mp_AD2Capture/MPCaptDevice.py +++ b/src/CaptDeviceControl/controller/mp_AD2Capture/MPCaptDevice.py @@ -167,6 +167,13 @@ class MPCaptDevice(cmp.CProcess, ): self.ain_buffer_size = self.get_ain_buffer_size(self._selected_device_index) + @CProperty + def ready_for_recording(self): + return self._ready_for_recording + + @ready_for_recording.setter(emit_to='ready_for_recording_changed') + def ready_for_recording(self, value: bool): + self._ready_for_recording = value # ================================================================================================================== # # ================================================================================================================== diff --git a/src/CaptDeviceControl/model/submodels/AD2CaptDeviceCapturingModel.py b/src/CaptDeviceControl/model/submodels/AD2CaptDeviceCapturingModel.py index 8e48974d633b38b4d299a356807f5e0fc56548a8..d3a1921b478047545d391bfd8ff934e316fd1b83 100644 --- a/src/CaptDeviceControl/model/submodels/AD2CaptDeviceCapturingModel.py +++ b/src/CaptDeviceControl/model/submodels/AD2CaptDeviceCapturingModel.py @@ -10,6 +10,7 @@ class AD2CaptDeviceCapturingSignals(QObject): def __init__(self, parent=None): super().__init__(parent) + # Acquisition Settings sample_rate_changed = Signal(int) streaming_rate_changed = Signal(int) @@ -27,6 +28,7 @@ class AD2CaptDeviceCapturingSignals(QObject): # Recording Flags (starting, stopping and pausing) device_capturing_state_changed = Signal(AD2Constants.CapturingState) + ready_for_recording_changed = Signal(bool) start_recording_changed = Signal(bool) stop_recording_changed = Signal(bool) reset_recording_changed = Signal(bool) @@ -57,6 +59,7 @@ class AD2CaptDeviceCapturingModel: # Recording Flags (starting, stopping and pausing) self._device_capturing_state: AD2Constants.CapturingState = AD2Constants.CapturingState.STOPPED() + self._ready_for_recording: bool = False self._start_recording = False self._stop_recording = True self._reset_recording = True @@ -135,6 +138,14 @@ class AD2CaptDeviceCapturingModel: self.signals.device_capturing_state_changed.emit(self.device_capturing_state) @property + def ready_for_recording(self) -> bool: + return self._ready_for_recording + + @ready_for_recording.setter + def ready_for_recording(self, value: bool): + self._ready_for_recording = value + self.signals.ready_for_recording_changed.emit(self.ready_for_recording) + @property def start_recording(self) -> bool: print(f">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> {self._start_recording}") return self._start_recording