Merge branch 'overlay' into for_webui
This commit is contained in:
@@ -708,20 +708,33 @@ class Model:
|
|||||||
|
|
||||||
def updateOverlaySmallLogSettings(self):
|
def updateOverlaySmallLogSettings(self):
|
||||||
size = "small"
|
size = "small"
|
||||||
self.overlay.updatePosition(
|
|
||||||
config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"],
|
if (self.overlay.settings[size]["x_pos"] != config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"] or
|
||||||
config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"],
|
self.overlay.settings[size]["y_pos"] != config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"] or
|
||||||
config.OVERLAY_SMALL_LOG_SETTINGS["z_pos"],
|
self.overlay.settings[size]["z_pos"] != config.OVERLAY_SMALL_LOG_SETTINGS["z_pos"] or
|
||||||
config.OVERLAY_SMALL_LOG_SETTINGS["x_rotation"],
|
self.overlay.settings[size]["x_rotation"] != config.OVERLAY_SMALL_LOG_SETTINGS["x_rotation"] or
|
||||||
config.OVERLAY_SMALL_LOG_SETTINGS["y_rotation"],
|
self.overlay.settings[size]["y_rotation"] != config.OVERLAY_SMALL_LOG_SETTINGS["y_rotation"] or
|
||||||
config.OVERLAY_SMALL_LOG_SETTINGS["z_rotation"],
|
self.overlay.settings[size]["z_rotation"] != config.OVERLAY_SMALL_LOG_SETTINGS["z_rotation"] or
|
||||||
config.OVERLAY_SMALL_LOG_SETTINGS["tracker"],
|
self.overlay.settings[size]["tracker"] != config.OVERLAY_SMALL_LOG_SETTINGS["tracker"]):
|
||||||
size,
|
self.overlay.updatePosition(
|
||||||
)
|
config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"],
|
||||||
self.overlay.updateDisplayDuration(config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"], size)
|
config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"],
|
||||||
self.overlay.updateFadeoutDuration(config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"], size)
|
config.OVERLAY_SMALL_LOG_SETTINGS["z_pos"],
|
||||||
self.overlay.updateOpacity(config.OVERLAY_SMALL_LOG_SETTINGS["opacity"], size, True)
|
config.OVERLAY_SMALL_LOG_SETTINGS["x_rotation"],
|
||||||
self.overlay.updateUiScaling(config.OVERLAY_SMALL_LOG_SETTINGS["ui_scaling"], size)
|
config.OVERLAY_SMALL_LOG_SETTINGS["y_rotation"],
|
||||||
|
config.OVERLAY_SMALL_LOG_SETTINGS["z_rotation"],
|
||||||
|
config.OVERLAY_SMALL_LOG_SETTINGS["tracker"],
|
||||||
|
size,
|
||||||
|
)
|
||||||
|
if (self.overlay.settings[size]["display_duration"] != config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"]):
|
||||||
|
self.overlay.updateDisplayDuration(config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"], size)
|
||||||
|
if (self.overlay.settings[size]["fadeout_duration"] != config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"]):
|
||||||
|
self.overlay.updateFadeoutDuration(config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"], size)
|
||||||
|
if (self.overlay.settings[size]["opacity"] != config.OVERLAY_SMALL_LOG_SETTINGS["opacity"]):
|
||||||
|
self.overlay.updateOpacity(config.OVERLAY_SMALL_LOG_SETTINGS["opacity"], size, True)
|
||||||
|
if (self.overlay.settings[size]["ui_scaling"] != config.OVERLAY_SMALL_LOG_SETTINGS["ui_scaling"]):
|
||||||
|
self.overlay.updateUiScaling(config.OVERLAY_SMALL_LOG_SETTINGS["ui_scaling"], size)
|
||||||
|
|
||||||
|
|
||||||
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"]
|
||||||
@@ -736,20 +749,31 @@ class Model:
|
|||||||
|
|
||||||
def updateOverlayLargeLogSettings(self):
|
def updateOverlayLargeLogSettings(self):
|
||||||
size = "large"
|
size = "large"
|
||||||
self.overlay.updatePosition(
|
if (self.overlay.settings[size]["x_pos"] != config.OVERLAY_LARGE_LOG_SETTINGS["x_pos"] or
|
||||||
config.OVERLAY_LARGE_LOG_SETTINGS["x_pos"],
|
self.overlay.settings[size]["y_pos"] != config.OVERLAY_LARGE_LOG_SETTINGS["y_pos"] or
|
||||||
config.OVERLAY_LARGE_LOG_SETTINGS["y_pos"],
|
self.overlay.settings[size]["z_pos"] != config.OVERLAY_LARGE_LOG_SETTINGS["z_pos"] or
|
||||||
config.OVERLAY_LARGE_LOG_SETTINGS["z_pos"],
|
self.overlay.settings[size]["x_rotation"] != config.OVERLAY_LARGE_LOG_SETTINGS["x_rotation"] or
|
||||||
config.OVERLAY_LARGE_LOG_SETTINGS["x_rotation"],
|
self.overlay.settings[size]["y_rotation"] != config.OVERLAY_LARGE_LOG_SETTINGS["y_rotation"] or
|
||||||
config.OVERLAY_LARGE_LOG_SETTINGS["y_rotation"],
|
self.overlay.settings[size]["z_rotation"] != config.OVERLAY_LARGE_LOG_SETTINGS["z_rotation"] or
|
||||||
config.OVERLAY_LARGE_LOG_SETTINGS["z_rotation"],
|
self.overlay.settings[size]["tracker"] != config.OVERLAY_LARGE_LOG_SETTINGS["tracker"]):
|
||||||
config.OVERLAY_LARGE_LOG_SETTINGS["tracker"],
|
self.overlay.updatePosition(
|
||||||
size,
|
config.OVERLAY_LARGE_LOG_SETTINGS["x_pos"],
|
||||||
)
|
config.OVERLAY_LARGE_LOG_SETTINGS["y_pos"],
|
||||||
self.overlay.updateDisplayDuration(config.OVERLAY_LARGE_LOG_SETTINGS["display_duration"], size)
|
config.OVERLAY_LARGE_LOG_SETTINGS["z_pos"],
|
||||||
self.overlay.updateFadeoutDuration(config.OVERLAY_LARGE_LOG_SETTINGS["fadeout_duration"], size)
|
config.OVERLAY_LARGE_LOG_SETTINGS["x_rotation"],
|
||||||
self.overlay.updateOpacity(config.OVERLAY_LARGE_LOG_SETTINGS["opacity"], size, True)
|
config.OVERLAY_LARGE_LOG_SETTINGS["y_rotation"],
|
||||||
self.overlay.updateUiScaling(config.OVERLAY_LARGE_LOG_SETTINGS["ui_scaling"] * 0.25, size)
|
config.OVERLAY_LARGE_LOG_SETTINGS["z_rotation"],
|
||||||
|
config.OVERLAY_LARGE_LOG_SETTINGS["tracker"],
|
||||||
|
size,
|
||||||
|
)
|
||||||
|
if (self.overlay.settings[size]["display_duration"] != config.OVERLAY_LARGE_LOG_SETTINGS["display_duration"]):
|
||||||
|
self.overlay.updateDisplayDuration(config.OVERLAY_LARGE_LOG_SETTINGS["display_duration"], size)
|
||||||
|
if (self.overlay.settings[size]["fadeout_duration"] != config.OVERLAY_LARGE_LOG_SETTINGS["fadeout_duration"]):
|
||||||
|
self.overlay.updateFadeoutDuration(config.OVERLAY_LARGE_LOG_SETTINGS["fadeout_duration"], size)
|
||||||
|
if (self.overlay.settings[size]["opacity"] != config.OVERLAY_LARGE_LOG_SETTINGS["opacity"]):
|
||||||
|
self.overlay.updateOpacity(config.OVERLAY_LARGE_LOG_SETTINGS["opacity"], size, True)
|
||||||
|
if (self.overlay.settings[size]["ui_scaling"] != config.OVERLAY_LARGE_LOG_SETTINGS["ui_scaling"]):
|
||||||
|
self.overlay.updateUiScaling(config.OVERLAY_LARGE_LOG_SETTINGS["ui_scaling"] * 0.25, size)
|
||||||
|
|
||||||
def startOverlay(self):
|
def startOverlay(self):
|
||||||
self.overlay.startOverlay()
|
self.overlay.startOverlay()
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ class Overlay:
|
|||||||
self.handle = None
|
self.handle = None
|
||||||
self.init_process = False
|
self.init_process = False
|
||||||
self.initialized = False
|
self.initialized = False
|
||||||
self.loop = True
|
self.loop = False
|
||||||
self.thread_overlay = None
|
self.thread_overlay = None
|
||||||
|
|
||||||
self.settings = {}
|
self.settings = {}
|
||||||
@@ -132,6 +132,7 @@ class Overlay:
|
|||||||
while self.initialized is False:
|
while self.initialized is False:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
self.overlay.setOverlayRaw(self.handle[size], img, width, height, 4)
|
self.overlay.setOverlayRaw(self.handle[size], img, width, height, 4)
|
||||||
|
self.fadeRatio[size] = 1
|
||||||
self.updateOpacity(self.settings[size]["opacity"], size, True)
|
self.updateOpacity(self.settings[size]["opacity"], size, True)
|
||||||
self.lastUpdate[size] = time.monotonic()
|
self.lastUpdate[size] = time.monotonic()
|
||||||
|
|
||||||
@@ -221,18 +222,18 @@ class Overlay:
|
|||||||
printLog("error:Could not check SteamVR running", e)
|
printLog("error:Could not check SteamVR running", e)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def evaluateOpacityFade(self, lastUpdate, currentTime, size):
|
def evaluateOpacityFade(self, size):
|
||||||
if (currentTime - lastUpdate) > self.settings[size]["display_duration"]:
|
currentTime = time.monotonic()
|
||||||
timeThroughInterval = currentTime - lastUpdate - self.settings[size]["display_duration"]
|
if (currentTime - self.lastUpdate[size]) > self.settings[size]["display_duration"]:
|
||||||
|
timeThroughInterval = currentTime - self.lastUpdate[size] - self.settings[size]["display_duration"]
|
||||||
self.fadeRatio[size] = 1 - timeThroughInterval / self.settings[size]["fadeout_duration"]
|
self.fadeRatio[size] = 1 - timeThroughInterval / self.settings[size]["fadeout_duration"]
|
||||||
if self.fadeRatio[size] < 0:
|
if self.fadeRatio[size] < 0:
|
||||||
self.fadeRatio[size] = 0
|
self.fadeRatio[size] = 0
|
||||||
self.overlay.setOverlayAlpha(self.handle[size], self.fadeRatio[size] * self.settings[size]["opacity"])
|
self.overlay.setOverlayAlpha(self.handle[size], self.fadeRatio[size] * self.settings[size]["opacity"])
|
||||||
|
|
||||||
def update(self, size):
|
def update(self, size):
|
||||||
currTime = time.monotonic()
|
|
||||||
if self.settings[size]["fadeout_duration"] != 0:
|
if self.settings[size]["fadeout_duration"] != 0:
|
||||||
self.evaluateOpacityFade(self.lastUpdate[size], currTime, size)
|
self.evaluateOpacityFade(size)
|
||||||
else:
|
else:
|
||||||
self.updateOpacity(self.settings[size]["opacity"], size, True)
|
self.updateOpacity(self.settings[size]["opacity"], size, True)
|
||||||
|
|
||||||
@@ -297,8 +298,8 @@ if __name__ == "__main__":
|
|||||||
"x_rotation": 0.0,
|
"x_rotation": 0.0,
|
||||||
"y_rotation": 0.0,
|
"y_rotation": 0.0,
|
||||||
"z_rotation": 0.0,
|
"z_rotation": 0.0,
|
||||||
"display_duration": 0,
|
"display_duration": 5,
|
||||||
"fadeout_duration": 100,
|
"fadeout_duration": 2,
|
||||||
"opacity": 1.0,
|
"opacity": 1.0,
|
||||||
"ui_scaling": 1.0,
|
"ui_scaling": 1.0,
|
||||||
"tracker": "HMD",
|
"tracker": "HMD",
|
||||||
@@ -311,11 +312,11 @@ if __name__ == "__main__":
|
|||||||
"x_rotation": 0.0,
|
"x_rotation": 0.0,
|
||||||
"y_rotation": 0.0,
|
"y_rotation": 0.0,
|
||||||
"z_rotation": 0.0,
|
"z_rotation": 0.0,
|
||||||
"display_duration": 0,
|
"display_duration": 5,
|
||||||
"fadeout_duration": 100,
|
"fadeout_duration": 2,
|
||||||
"opacity": 1.0,
|
"opacity": 1.0,
|
||||||
"ui_scaling": 1.0,
|
"ui_scaling": 0.25,
|
||||||
"tracker": "RightHand",
|
"tracker": "LeftHand",
|
||||||
}
|
}
|
||||||
|
|
||||||
settings_dict = {
|
settings_dict = {
|
||||||
@@ -341,7 +342,7 @@ if __name__ == "__main__":
|
|||||||
overlay.updateImage(img, "large")
|
overlay.updateImage(img, "large")
|
||||||
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(1)
|
time.sleep(15)
|
||||||
except openvr.error_code.OverlayError_InvalidParameter as e:
|
except openvr.error_code.OverlayError_InvalidParameter as e:
|
||||||
logging.error(f"OverlayError_InvalidParameter: {e}")
|
logging.error(f"OverlayError_InvalidParameter: {e}")
|
||||||
break
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user