diff options
| author | yum <yum.food.vr@gmail.com> | 2023-09-10 03:50:46 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2023-09-10 03:50:46 -0700 |
| commit | da360bcd1870650848daa034aa31b8a337caecc7 (patch) | |
| tree | 2dd191c64b1ae69a92011fdfb952441e2d99808f /Scripts/transcribe_v2.py | |
| parent | 4ee396584c348c11e0272f0c2842f6a5d3175586 (diff) | |
Bugfix: only cap display of transcript at 4K chars
Actually retain the whole transcript to avoid breaking the OSC pager.
Also constrain the UI buffer size by characters instead of lines. Since
some lines can be massive and others short, characters are a better way
of consistently keeping the UI memory in check.
Diffstat (limited to 'Scripts/transcribe_v2.py')
| -rw-r--r-- | Scripts/transcribe_v2.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/Scripts/transcribe_v2.py b/Scripts/transcribe_v2.py index f0e994f..c73c13a 100644 --- a/Scripts/transcribe_v2.py +++ b/Scripts/transcribe_v2.py @@ -592,8 +592,6 @@ def evaluate(cfg, last_commit_ts = collector.now() transcript += commit.delta - # Hard-cap transcript length at 4k. - transcript = transcript[-4096:] preview = commit.preview if False and len(commit.delta): @@ -681,8 +679,18 @@ def transcriptionThread(ctrl: ThreadControl): commit = ctrl.committer.getDelta() if len(commit.delta) > 0 or len(commit.preview) > 0: - print(f"Transcript: {ctrl.transcript}{commit.delta}") - print(f"Preview: {commit.preview}") + # Hard-cap displayed transcript length at 4k characters to prevent + # runaway memory use in UI. Keep the full transcript to avoid + # breaking OSC pager. + try: + print(f"Transcript: {ctrl.transcript[-4096:]}{commit.delta}") + except UnicodeEncodeError: + print("Failed to encode transcript - discarding delta") + continue + try: + print(f"Preview: {commit.preview}") + except UnicodeEncodeError: + print("Failed to encode preview - discarding") if cfg["enable_debug_mode"]: print(f"commit latency: {commit.latency_s}", file=sys.stderr) print(f"commit thresh: {commit.thresh_at_commit}", @@ -693,9 +701,6 @@ def transcriptionThread(ctrl: ThreadControl): print("Finalized: 1") ctrl.transcript += commit.delta - # Hard-cap transcript length at 4k characters to prevent runaway memory - # use. - ctrl.transcript = ctrl.transcript[-4096:] ctrl.preview = ctrl.transcript + commit.preview def vrInputThread(ctrl: ThreadControl): |
