summaryrefslogtreecommitdiff
path: root/internal/processor/processor.go
AgeCommit message (Collapse)Author
2026-03-08refactor(task-376): share audio attribution builderPaul Buetow
2026-01-21fix: bg-bg cards generating audio in separate directoriesPaul Buetow
- Fix critical bug where generateAudioBgBg() was creating two separate card directories (one for front audio, one for back audio) - Root cause: generateAudioWithVoiceAndFilename() calls findOrCreateWordDirectory() with both the front word AND the back word, creating separate directories - Solution: Pass wordDir to both audio generation calls - Create new generateAudioWithVoiceAndFilenameInDir() function - Refactor generateAudioWithVoiceAndFilename() to use new function - generateAudioBgBg() now finds directory ONCE and passes it to both calls This fixes the issue where opening a bg-bg card showed 'no audio loaded' because audio_front.mp3 and audio_back.mp3 were in different directories.
2026-01-21improve: better audio player UI and debugging for bg-bg cardsPaul Buetow
- Add debug logging to navigation.go to diagnose audio file loading issues Prints paths being checked and whether files are found - Improve AudioPlayer UI for Bulgarian-Bulgarian cards: - Add labels showing 'Front' and 'Back' for bg-bg audio buttons - Labels only show when audio files are actually loaded - Better visual distinction between the two playable audios - Reorganized button layout with VBox for cleaner appearance - Track bg-bg state in AudioPlayer (isBgBg field) - Automatically set when back audio file is loaded - Used to determine when to show labels This makes it clearer that Bulgarian-Bulgarian cards have two independently playable audio outputs, and helps debug why audio isn't being loaded.
2025-08-02also export reverse cards via apkgPaul Buetow
2025-07-22Remove audio cache feature to simplify codebase and avoid cache-related issuesPaul Buetow
🤖 Generated with [opencode](https://opencode.ai) Co-Authored-By: opencode <noreply@opencode.ai>
2025-07-21feat: Enhanced bulk import, archive functionality, and export improvementsPaul Buetow
## Bulk Import Enhancements - Added support for three flexible batch file formats: - `BULGARIAN = ENGLISH` - Both provided, no translation needed - `= ENGLISH` - Only English provided, auto-translated to Bulgarian - `BULGARIAN` - Only Bulgarian provided, auto-translated to English - Implemented smart file checking to skip already processed words - Check all required files (word.txt, translation.txt, phonetic.txt, audio/image files and their attribution/metadata) - Added batch processing summary with statistics ## Archive Functionality - Renamed --clear flag to --archive for clarity - Archive cards directory to ~/.local/state/totalrecall/archive/cards-TIMESTAMP - Added archive button to GUI toolbar with folder icon - Archive confirmation dialog supports keyboard shortcuts (y/n/c/ESC) ## Export Improvements - Anki exports now show full file path in output - Changed default export location to home directory (~) for both CLI and GUI - Auto-adjust image size to 1024x1024 when DALL-E 3 is selected ## Other Improvements - Added TranslateEnglishToBulgarian method for reverse translation - Enhanced batch processing with better error handling and progress reporting - Improved file integrity checking for complete word processing 🤖 Generated with [opencode](https://opencode.ai) Co-Authored-By: opencode <noreply@opencode.ai>
2025-07-21fix(processor): Fetch phonetic info immediately after translationPaul Buetow
Moves the phonetic information fetching to occur immediately after the word has been translated. This ensures that the phonetic data is available as early as possible in the processing pipeline. Previously, the phonetic information was fetched after image generation, which caused an unnecessary delay. This change improves the logical flow of the word processing sequence.
2025-07-21feat: improve consistency between CLI and GUI modesPaul Buetow
- Fix batch mode to store cards in ~/.local/state/totalrecall/cards/ matching GUI behavior - Add --no-auto-play flag to disable automatic audio playback (enabled by default) - Simplify phonetic fetching in CLI to match GUI (IPA only, no detailed explanations) - Remove redundant --gui flag as GUI is already the default mode - Align image generation settings: both modes now use DALL-E 2 with 512x512 resolution 🤖 Generated with [opencode](https://opencode.ai) Co-Authored-By: opencode <noreply@opencode.ai>
2025-07-20Refactor main.go into focused packagesPaul Buetow
- Reduced main.go from 961 lines to 89 lines (91% reduction) - Created new packages for better separation of concerns: - cli: Command-line interface setup and configuration - processor: Core word processing logic and orchestration - batch: Batch file processing functionality - translation: Bulgarian to English translation services - models: OpenAI model listing functionality - phonetic: Phonetic information fetching - Each package has clear documentation in doc.go files - Improved testability and maintainability - All existing functionality preserved - All tests passing and build successful