| | |
| | | ) |
| | | |
| | | const ( |
| | | appVersion = "2.1.35" |
| | | appBuild = "20260623.1435" |
| | | appVersion = "2.1.36" |
| | | appBuild = "20260628.2354" |
| | | appDisplayVersion = appVersion + " (build " + appBuild + ")" |
| | | appName = "PrivateVoice Dictation" |
| | | |
| | |
| | | silenceTimeoutDuration = 3 * time.Second // auto-stop after this much silence in free-talk |
| | | silenceGracePeriod = 2 * time.Second // don't auto-stop within first 2s of free-talk |
| | | holdActivationDelay = 180 * time.Millisecond |
| | | defaultReleaseTailDelay = 300 * time.Millisecond |
| | | doneIndicatorHideDelayMs = 250 |
| | | liveCaptionInterval = 120 * time.Millisecond |
| | | liveCaptionMaxBytes = 108 |
| | |
| | | } |
| | | |
| | | func releaseTailCaptureDelayForEngine(eng engine.Engine) time.Duration { |
| | | if eng == nil { |
| | | return 0 |
| | | } |
| | | tailCaptureEng, ok := eng.(engine.ReleaseTailCaptureEngine) |
| | | if !ok { |
| | | return 0 |
| | | return defaultReleaseTailDelay |
| | | } |
| | | delay := tailCaptureEng.ReleaseTailCaptureDelay() |
| | | if delay < 0 { |
| | |
| | | } |
| | | |
| | | func holdPreCaptureEnabledForEngine(eng engine.Engine) bool { |
| | | if eng == nil { |
| | | return false |
| | | } |
| | | preCaptureEng, ok := eng.(engine.HoldPreCaptureEngine) |
| | | if !ok { |
| | | return false |
| | | return true |
| | | } |
| | | return preCaptureEng.HoldPreCaptureEnabled() |
| | | } |