diff --git a/Ten31Transcripts/Session/SessionController.swift b/Ten31Transcripts/Session/SessionController.swift index 75ef1be..8486c8a 100644 --- a/Ten31Transcripts/Session/SessionController.swift +++ b/Ten31Transcripts/Session/SessionController.swift @@ -256,6 +256,9 @@ final class SessionController: ObservableObject { private func startVisual(t0Host: Double, generation: Int, recorder: AudioRecorder) async { guard let capture = pendingCapture else { return } // manual recording → audio-only pendingCapture = nil + // Honor the per-app adapter switch: if the user turned this app's adapter off, + // skip screen-reading entirely and record audio-only (transcription still runs). + guard settings.adapterEnabled[capture.app.rawValue] ?? true else { return } guard let vc = VisualCapture(app: capture.app, bundleID: capture.bundleID, windowID: capture.windowID, t0Host: t0Host) else { return } // Register the live capture before the await so a quit (prepareForTermination) diff --git a/Ten31Transcripts/UI/SettingsView.swift b/Ten31Transcripts/UI/SettingsView.swift index be625e2..febebe8 100644 --- a/Ten31Transcripts/UI/SettingsView.swift +++ b/Ten31Transcripts/UI/SettingsView.swift @@ -63,7 +63,7 @@ struct SettingsView: View { } Section("Adapters") { - Text("Inert in Phase 0 — these toggles only persist for now.") + Text("Screen-reading for active-speaker cues. Turn one off to record that app audio-only — transcription still runs, but speakers aren’t identified from the screen.") .font(.caption) .foregroundStyle(.secondary) ForEach(AppSettings.adapterKeys, id: \.key) { adapter in