Let a recording be held while something else happens

A phone call in the middle of a dictation left two choices: send what
was said so far off to be transcribed, or throw it away. Both end the
sentence you were in the middle of. Now the recording can be held: the
microphone stays ours, what was said before the pause stays in the
buffer, and what is said during it is dropped.

The capture program keeps running and keeps handing blocks over, which
are read and thrown away rather than left in the pipe. Stopping it
instead would mean asking the sound server for the device again on the
way back, and that is the one moment another application can take it: a
recording would be lost to the phone call it was paused for.

The clock stops with it. Paused time is time the recording does not
have, so the indicator and the length limit both go by what was
actually captured, and a five minute limit is not spent waiting.

The indicator says so as well, since a pulsing dot, moving bars and a
counting clock otherwise all say the words are still going in: the
ribbon freezes where the pause found it and turns amber behind two
bars. The tray menu holds and resumes it, `dikte pause` does, and so
does a global shortcut, which starts empty because holding a recording
is not something a keyboard has a habit for.

Dictation and a command to the agent both, whichever is recording. A
meeting is left out: it writes to a file as it goes and keeps two
streams aligned itself, and neither of those wants a hole in it.
This commit is contained in:
2026-08-16 13:06:36 +03:00
parent 6397f6c403
commit 0e767454f3
15 changed files with 286 additions and 21 deletions
+10
View File
@@ -56,12 +56,15 @@ TR = {
"Start recording": "Kaydı başlat",
"Stop and transcribe": "Kaydı bitir ve yaz",
"Working…": "İşleniyor…",
"Pause the recording": "Kaydı duraklat",
"Resume the recording": "Kayda devam et",
"Discard the recording": "Kaydı iptal et",
"Settings…": "Ayarlar…",
"Restart": "Yeniden başlat",
"Quit": "Çık",
"Dikte: ready": "Dikte: hazır",
"Dikte: recording": "Dikte: kaydediyor",
"Dikte: paused": "Dikte: duraklatıldı",
"Dikte: working": "Dikte: işleniyor",
# --- overlay / pipeline -------------------------------------------
@@ -312,7 +315,14 @@ TR = {
"Global kısayol kurulu değil. Tepsi menüsünden de soru sorulabilir.",
"No global shortcut installed. The tray menu discards it too.":
"Global kısayol kurulu değil. Kayıt tepsi menüsünden de iptal edilebilir.",
"No global shortcut installed. The tray menu holds it too.":
"Global kısayol kurulu değil. Kayıt tepsi menüsünden de duraklatılabilir.",
"Start and stop": "Başlat ve bitir",
"Pause and resume": "Duraklat ve devam et",
"Holds the recording without ending it. Nothing said while it is paused is "
"kept, and the clock stops with it.":
"Kaydı bitirmeden duraklatır. Duraklatıldığı sürede konuşulanlar "
"kaydedilmez, süre sayacı da onunla birlikte durur.",
"Throws the recording away without transcribing it. Works on a dictation "
"and on a command for the agent alike, whichever is running.":
"Kaydı yazıya dökmeden atar. Hangisi çalışıyorsa ona işler: dikteye de, "