summaryrefslogtreecommitdiffstats
path: root/Scripts
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2023-09-09 19:43:19 -0700
committeryum <yum.food.vr@gmail.com>2023-09-09 19:43:19 -0700
commite1802e402bf0ef63c2861bd7c5c7a13b3aecd87f (patch)
tree12098e555b019aa1a53bc844354dabf2121261bd /Scripts
parent36b01e90779698a4a1b2cd369754e82c28968665 (diff)
Add `lock at spawn` option
I find it kind of annoying when people wave around a big chatbox so I added the option to have the chatbox be locked in worldspace whenever it's visible. This defaults to on and can be disabled.
Diffstat (limited to 'Scripts')
-rw-r--r--Scripts/transcribe_v2.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/Scripts/transcribe_v2.py b/Scripts/transcribe_v2.py
index 5f43e3a..4305a07 100644
--- a/Scripts/transcribe_v2.py
+++ b/Scripts/transcribe_v2.py
@@ -713,9 +713,6 @@ def vrInputThread(ctrl: ThreadControl):
if now - last_rising > 1.5:
# Long press: treat as the end of transcription.
state = PAUSE_STATE
- if not ctrl.cfg["use_builtin"]:
- ctrl.pager.getSyncWindow()
- ctrl.pager.lockWorld(True)
ctrl.stream.pause(True)
@@ -749,12 +746,17 @@ def vrInputThread(ctrl: ThreadControl):
ctrl.stream.getSamples()
ctrl.collector.dropAudio()
ctrl.pager.clear()
+ if ctrl.cfg["enable_lock_at_spawn"]:
+ # Give the board 0.5 seconds to disappear before unlocking from
+ # world space.
+ time.sleep(0.5)
+ ctrl.pager.lockWorld(False)
else:
# Short hold
if state == RECORD_STATE:
print("PAUSED", file=sys.stderr)
state = PAUSE_STATE
- if not ctrl.cfg["use_builtin"]:
+ if not ctrl.cfg["use_builtin"] and not ctrl.cfg["enable_lock_at_spawn"]:
ctrl.pager.getSyncWindow()
ctrl.pager.lockWorld(True)
@@ -769,7 +771,7 @@ def vrInputThread(ctrl: ThreadControl):
if not ctrl.cfg["use_builtin"]:
ctrl.pager.getSyncWindow()
ctrl.pager.toggleBoard(True)
- ctrl.pager.lockWorld(False)
+ ctrl.pager.lockWorld(ctrl.cfg["enable_lock_at_spawn"])
ctrl.pager.ellipsis(True)
if ctrl.cfg["reset_on_toggle"]:
if ctrl.cfg["enable_debug_mode"]:
@@ -835,13 +837,18 @@ def kbInputThread(ctrl: ThreadControl):
ctrl.stream.getSamples()
ctrl.collector.dropAudio()
ctrl.pager.clear()
+ if ctrl.cfg["enable_lock_at_spawn"]:
+ # Give the board 0.5 seconds to disappear before unlocking from
+ # world space.
+ time.sleep(0.5)
+ ctrl.pager.lockWorld(False)
continue
# Short hold
if state == RECORD_STATE:
print("PAUSED", file=sys.stderr)
state = PAUSE_STATE
- if not ctrl.cfg["use_builtin"]:
+ if not ctrl.cfg["use_builtin"] and not ctrl.cfg["enable_lock_at_spawn"]:
ctrl.pager.getSyncWindow()
ctrl.pager.lockWorld(True)
@@ -856,7 +863,7 @@ def kbInputThread(ctrl: ThreadControl):
if not ctrl.cfg["use_builtin"]:
ctrl.pager.getSyncWindow()
ctrl.pager.toggleBoard(True)
- ctrl.pager.lockWorld(False)
+ ctrl.pager.lockWorld(ctrl.cfg["enable_lock_at_spawn"])
ctrl.pager.ellipsis(True)
if ctrl.cfg["reset_on_toggle"]:
if ctrl.cfg["enable_debug_mode"]: