Merge pull request #134 from Fracas42/v2.0-fix-osc-recalibrate

fix(OSC): recalibrate not working + refacto
This commit is contained in:
Prohurtz 2025-04-02 13:58:01 -05:00 committed by GitHub
commit ce348b0106
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 22 additions and 16 deletions

View File

@ -348,19 +348,27 @@ class CameraWidget:
self.stop() self.stop()
self.start() self.start()
def recenter_eyes(self, osc_message: OSCMessage): def recenter_eyes(self):
if not isinstance(osc_message.data,bool):
return # just incase we get anything other than bool
self.settings.gui_recenter_eyes = True self.settings.gui_recenter_eyes = True
def recalibrate_eyes(self, osc_message: OSCMessage): def recalibrate_eyes(self):
if not isinstance(osc_message.data,bool): self.ransac.calibration_frame_counter = self.settings.calibration_samples
self.ransac.ibo.clear_filter()
PlaySound(resource_path("Audio/start.wav"), SND_FILENAME | SND_ASYNC)
def osc_recenter_eyes(self, osc_message: OSCMessage):
if not isinstance(osc_message.data, bool):
return # just incase we get anything other than bool return # just incase we get anything other than bool
if osc_message.data: if osc_message.data:
self.ransac.ibo.clear_filter() self.recenter_eyes()
self.ransac.calibration_frame_counter = self.config.calibration_samples
PlaySound("Audio/start.wav", SND_FILENAME | SND_ASYNC) def osc_recalibrate_eyes(self, osc_message: OSCMessage):
if not isinstance(osc_message.data, bool):
return # just incase we get anything other than bool
if osc_message.data:
self.recalibrate_eyes()
def render(self, window, event, values): def render(self, window, event, values):
changed = False changed = False
@ -456,15 +464,13 @@ class CameraWidget:
self.hover_pos = None self.hover_pos = None
if event == self.gui_restart_calibration: if event == self.gui_restart_calibration:
self.ransac.calibration_frame_counter = self.settings.calibration_samples self.recalibrate_eyes()
self.ransac.ibo.clear_filter()
PlaySound(resource_path("Audio/start.wav"), SND_FILENAME | SND_ASYNC)
if event == self.gui_stop_calibration: if event == self.gui_stop_calibration:
self.ransac.calibration_frame_counter = 0 self.ransac.calibration_frame_counter = 0
if event == self.gui_recenter_eyes: if event == self.gui_recenter_eyes:
self.settings.gui_recenter_eyes = True self.recenter_eyes()
needs_roi_set = self.config.roi_window_h <= 0 or self.config.roi_window_w <= 0 needs_roi_set = self.config.roi_window_h <= 0 or self.config.roi_window_w <= 0

View File

@ -287,15 +287,15 @@ def main():
osc_manager.register_listeners( osc_manager.register_listeners(
config.settings.gui_osc_recenter_address, config.settings.gui_osc_recenter_address,
[ [
eyes[0].recenter_eyes, eyes[0].osc_recenter_eyes,
eyes[1].recenter_eyes, eyes[1].osc_recenter_eyes,
], ],
) )
osc_manager.register_listeners( osc_manager.register_listeners(
config.settings.gui_osc_recalibrate_address, config.settings.gui_osc_recalibrate_address,
[ [
eyes[0].recalibrate_eyes, eyes[0].osc_recalibrate_eyes,
eyes[1].recalibrate_eyes, eyes[1].osc_recalibrate_eyes,
], ],
) )