summaryrefslogtreecommitdiff
path: root/modules/user-constants.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-04 14:35:50 -0600
committerCraig Jennings <c@cjennings.net>2025-11-04 14:35:50 -0600
commit45cab5c38dc089935416a89d36b461d9127094ac (patch)
treeccfb33579de009c8c8694f2a79d10e487d74de8f /modules/user-constants.el
parentefbcd0b7de7993b9fde29297daad1154711a3e81 (diff)
feat: Add complete async audio transcription workflow
Implemented full transcription system with local Whisper and OpenAI API support. Includes comprehensive test suite (60 tests) and reorganized keybindings for better discoverability. Features: - Async transcription (non-blocking workflow) - Desktop notifications (started/complete/error) - Output: audio.txt (transcript) + audio.log (process logs) - Modeline integration showing active transcription count - Dired integration (press T on audio files) - Process management and tracking Scripts: - install-whisper.sh: Install Whisper via AUR or pip - uninstall-whisper.sh: Clean removal with cache cleanup - local-whisper: Offline transcription using installed Whisper - oai-transcribe: Cloud transcription via OpenAI API Tests (60 passing): - Audio file detection (16 tests) - Path generation logic (11 tests) - Log cleanup behavior (5 tests) - Duration formatting (9 tests) - Active counter & modeline (11 tests) - Integration workflows (8 tests) Keybindings: - Reorganized gcal to C-; g submenu (s/t/r/c) - Added C-; t transcription submenu (t/b/k) - Dired: T to transcribe file at point 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'modules/user-constants.el')
-rw-r--r--modules/user-constants.el8
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/user-constants.el b/modules/user-constants.el
index ba52cec2..2a6d0ca2 100644
--- a/modules/user-constants.el
+++ b/modules/user-constants.el
@@ -47,6 +47,14 @@ Example: (setq cj/debug-modules '(org-agenda mail))
"Alist mapping buffer states to their colors.
Used by cursor color, modeline, and other UI elements.")
+;; --------------------------- Media File Extensions ---------------------------
+
+(defvar cj/audio-file-extensions
+ '("m4a" "mp3" "wav" "flac" "ogg" "opus" "aac"
+ "aiff" "aif" "wma" "ape" "alac" "weba")
+ "File extensions recognized as audio files.
+Used by transcription module and other audio-related functionality.")
+
;; ------------------------ Directory And File Constants -----------------------
;; DIRECTORIES