🐛[bugfix] Model : overlayの設定変更を反映されるように修正

This commit is contained in:
misyaguziya
2024-11-19 00:03:31 +09:00
parent 69e248fb07
commit f41c7ad8dc
2 changed files with 40 additions and 69 deletions

View File

@@ -87,8 +87,6 @@ class Model:
"large": config.OVERLAY_LARGE_LOG_SETTINGS, "large": config.OVERLAY_LARGE_LOG_SETTINGS,
} }
) )
self.overlay_small_log_pre_settings = config.OVERLAY_SMALL_LOG_SETTINGS
self.overlay_large_log_pre_settings = config.OVERLAY_LARGE_LOG_SETTINGS
self.overlay_image = OverlayImage() self.overlay_image = OverlayImage()
self.mic_audio_queue = None self.mic_audio_queue = None
self.mic_mute_status = None self.mic_mute_status = None
@@ -706,32 +704,21 @@ class Model:
self.overlay.updateImage(img, "small") self.overlay.updateImage(img, "small")
def updateOverlaySmallLogSettings(self): def updateOverlaySmallLogSettings(self):
for key in self.overlay_small_log_pre_settings.keys(): size = "small"
if self.overlay_small_log_pre_settings[key] != config.OVERLAY_SMALL_LOG_SETTINGS[key]: self.overlay.updatePosition(
match (key): config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"],
case "x_pos" | "y_pos" | "z_pos" | "x_rotation" | "y_rotation" | "z_rotation" | "tracker": config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"],
self.overlay.updatePosition( config.OVERLAY_SMALL_LOG_SETTINGS["z_pos"],
config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"], config.OVERLAY_SMALL_LOG_SETTINGS["x_rotation"],
config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"], config.OVERLAY_SMALL_LOG_SETTINGS["y_rotation"],
config.OVERLAY_SMALL_LOG_SETTINGS["z_pos"], config.OVERLAY_SMALL_LOG_SETTINGS["z_rotation"],
config.OVERLAY_SMALL_LOG_SETTINGS["x_rotation"], config.OVERLAY_SMALL_LOG_SETTINGS["tracker"],
config.OVERLAY_SMALL_LOG_SETTINGS["y_rotation"], size,
config.OVERLAY_SMALL_LOG_SETTINGS["z_rotation"], )
config.OVERLAY_SMALL_LOG_SETTINGS["tracker"], self.overlay.updateDisplayDuration(config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"], size)
"small", self.overlay.updateFadeoutDuration(config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"], size)
) self.overlay.updateOpacity(config.OVERLAY_SMALL_LOG_SETTINGS["opacity"], size, True)
case "display_duration": self.overlay.updateUiScaling(config.OVERLAY_SMALL_LOG_SETTINGS["ui_scaling"], size)
self.overlay.updateDisplayDuration(config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"], "small")
case "fadeout_duration":
self.overlay.updateFadeoutDuration(config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"], "small")
case "opacity":
self.overlay.updateOpacity(config.OVERLAY_SMALL_LOG_SETTINGS["opacity"], "small", True)
case "ui_scaling":
self.overlay.updateUiScaling(config.OVERLAY_SMALL_LOG_SETTINGS["ui_scaling"], "small")
case _:
pass
break
self.overlay_small_log_pre_settings = config.OVERLAY_SMALL_LOG_SETTINGS
def createOverlayImageLargeLog(self, message_type:str, message:str, translation:str): def createOverlayImageLargeLog(self, message_type:str, message:str, translation:str):
your_language = config.SELECTED_TARGET_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["language"] your_language = config.SELECTED_TARGET_LANGUAGES[config.SELECTED_TAB_NO]["primary"]["language"]
@@ -745,32 +732,21 @@ class Model:
self.overlay.updateImage(img, "large") self.overlay.updateImage(img, "large")
def updateOverlayLargeLogSettings(self): def updateOverlayLargeLogSettings(self):
for key in self.overlay_large_log_pre_settings.keys(): size = "large"
if self.overlay_large_log_pre_settings[key] != config.OVERLAY_LARGE_LOG_SETTINGS[key]: self.overlay.updatePosition(
match (key): config.OVERLAY_LARGE_LOG_SETTINGS["x_pos"],
case "x_pos" | "y_pos" | "z_pos" | "x_rotation" | "y_rotation" | "z_rotation" | "tracker": config.OVERLAY_LARGE_LOG_SETTINGS["y_pos"],
self.overlay.updatePosition( config.OVERLAY_LARGE_LOG_SETTINGS["z_pos"],
config.OVERLAY_LARGE_LOG_SETTINGS["x_pos"], config.OVERLAY_LARGE_LOG_SETTINGS["x_rotation"],
config.OVERLAY_LARGE_LOG_SETTINGS["y_pos"], config.OVERLAY_LARGE_LOG_SETTINGS["y_rotation"],
config.OVERLAY_LARGE_LOG_SETTINGS["z_pos"], config.OVERLAY_LARGE_LOG_SETTINGS["z_rotation"],
config.OVERLAY_LARGE_LOG_SETTINGS["x_rotation"], config.OVERLAY_LARGE_LOG_SETTINGS["tracker"],
config.OVERLAY_LARGE_LOG_SETTINGS["y_rotation"], size,
config.OVERLAY_LARGE_LOG_SETTINGS["z_rotation"], )
config.OVERLAY_LARGE_LOG_SETTINGS["tracker"], self.overlay.updateDisplayDuration(config.OVERLAY_LARGE_LOG_SETTINGS["display_duration"], size)
"large", self.overlay.updateFadeoutDuration(config.OVERLAY_LARGE_LOG_SETTINGS["fadeout_duration"], size)
) self.overlay.updateOpacity(config.OVERLAY_LARGE_LOG_SETTINGS["opacity"], size, True)
case "display_duration": self.overlay.updateUiScaling(config.OVERLAY_LARGE_LOG_SETTINGS["ui_scaling"], size)
self.overlay.updateDisplayDuration(config.OVERLAY_LARGE_LOG_SETTINGS["display_duration"], "large")
case "fadeout_duration":
self.overlay.updateFadeoutDuration(config.OVERLAY_LARGE_LOG_SETTINGS["fadeout_duration"], "large")
case "opacity":
self.overlay.updateOpacity(config.OVERLAY_LARGE_LOG_SETTINGS["opacity"], "large", True)
case "ui_scaling":
self.overlay.updateUiScaling(config.OVERLAY_LARGE_LOG_SETTINGS["ui_scaling"], "large")
case _:
pass
break
self.overlay_large_log_pre_settings = config.OVERLAY_LARGE_LOG_SETTINGS
def startOverlay(self): def startOverlay(self):
self.overlay.startOverlay() self.overlay.startOverlay()

View File

@@ -80,9 +80,9 @@ class Overlay:
self.lastUpdate = {} self.lastUpdate = {}
self.fadeRatio = {} self.fadeRatio = {}
for key, value in settings_dict.items(): for key, value in settings_dict.items():
self.settings[key] = value self.settings[key] = value
self.lastUpdate[key] = time.monotonic() self.lastUpdate[key] = time.monotonic()
self.fadeRatio[key] = 1 self.fadeRatio[key] = 1
def init(self): def init(self):
try: try:
@@ -110,6 +110,8 @@ class Overlay:
self.settings[size]["tracker"], self.settings[size]["tracker"],
size size
) )
self.updateDisplayDuration(self.settings[size]["display_duration"], size)
self.updateFadeoutDuration(self.settings[size]["fadeout_duration"], size)
self.init_process = False self.init_process = False
except Exception as e: except Exception as e:
@@ -329,23 +331,16 @@ if __name__ == "__main__":
img = overlay_image.createOverlayImageLargeLog("send", "こんにちは、世界!さようなら", "Japanese", "Hello,World!Goodbye", "Japanese") img = overlay_image.createOverlayImageLargeLog("send", "こんにちは、世界!さようなら", "Japanese", "Hello,World!Goodbye", "Japanese")
overlay.updateImage(img, "large") overlay.updateImage(img, "large")
img = overlay_image.createOverlayImageSmallLog("こんにちは、世界!さようなら", "Japanese", "Hello,World!Goodbye", "Japanese")
overlay.updateImage(img, "small")
time.sleep(10)
img = overlay_image.createOverlayImageSmallLog("こんにちは、世界さようなら2", "Japanese", "Hello,World!Goodbye", "Japanese")
overlay.updateImage(img, "small")
time.sleep(10)
for i in range(100): for i in range(100):
print(i) print(i)
# Example usage # Example usage
img = overlay_image.createOverlayImageSmallLog(f"こんにちは、世界さようなら_{i}", "Japanese", "Hello,World!Goodbye", "Japanese") img = overlay_image.createOverlayImageSmallLog(f"こんにちは、世界さようなら_{i}", "Japanese", "Hello,World!Goodbye", "Japanese")
overlay.updateImage(img, "small") overlay.updateImage(img, "small")
time.sleep(10) time.sleep(5)
# img = overlay_image.createOverlayImageSmallLog("こんにちは、世界!さようなら", "Japanese", "Hello,World!Goodbye", "Japanese") if i%2 == 0:
# overlay.updateImage(img, "small") overlay.updatePosition(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, "HMD", "small")
# time.sleep(0.5) else:
overlay.updatePosition(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, "RightHand", "small")
overlay.shutdownOverlay() overlay.shutdownOverlay()