summaryrefslogtreecommitdiff
path: root/GUI.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-07-16 13:13:38 +0300
committerPaul Buetow <paul@buetow.org>2025-07-16 13:13:38 +0300
commit7187e7464f16a9d2991ba2da3c672fdb3cf5de72 (patch)
tree208d8e301dc55512a078f836f4f0c9ad2a927427 /GUI.md
parentb105333c061ea165b3b79317415cbb8b9cfb7c75 (diff)
feat: add Fyne GUI mode with interactive flashcard management
- Add --gui flag to launch interactive GUI mode - Implement word navigation with prev/next buttons through existing cards - Add delete functionality to remove unwanted flashcards - Add fine-grained regeneration (image-only, audio-only, or both) - Implement audio playback using mpg123 on Linux - Auto-load first word on startup if cards exist - Save translation files for navigation persistence - Use DALL-E 2 with 512x512 images (half size) - Update audio speed to 0.9 (from 0.8) - Add comprehensive GUI documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'GUI.md')
-rw-r--r--GUI.md71
1 files changed, 71 insertions, 0 deletions
diff --git a/GUI.md b/GUI.md
new file mode 100644
index 0000000..17b66cc
--- /dev/null
+++ b/GUI.md
@@ -0,0 +1,71 @@
+# GUI Mode for TotalRecall
+
+TotalRecall now includes an interactive GUI mode for a more user-friendly flashcard generation experience.
+
+## Prerequisites
+
+The GUI mode requires Fyne, which has the following system dependencies:
+
+### Linux
+```bash
+# Debian/Ubuntu
+sudo apt-get install gcc libgl1-mesa-dev xorg-dev
+
+# Fedora
+sudo dnf install gcc mesa-libGL-devel libXcursor-devel libXrandr-devel libXinerama-devel libXi-devel libXxf86vm-devel
+```
+
+### macOS
+No additional dependencies required (uses system frameworks).
+
+### Windows
+No additional dependencies required if using MinGW or similar.
+
+## Running GUI Mode
+
+```bash
+./totalrecall --gui
+```
+
+## Features
+
+The GUI provides:
+
+1. **Interactive Input**: Enter Bulgarian words one at a time
+2. **Live Preview**: See generated images and hear audio pronunciation
+3. **Fine-grained Regeneration**:
+ - Regenerate just the image (cycles through different results)
+ - Regenerate just the audio (uses a different voice)
+ - Regenerate both
+4. **Session Management**: Keep track of all generated cards in a session
+5. **Export to Anki**: Export all saved cards to CSV format
+
+## GUI Layout
+
+- **Top Section**: Input field for Bulgarian words with submit button
+- **Middle Section**:
+ - Image display with navigation (if multiple images)
+ - Audio player with play controls
+ - Translation display
+- **Bottom Section**: Action buttons
+ - "Keep & Continue" - saves the current card
+ - "Regenerate Image" - gets a new image
+ - "Regenerate Audio" - generates with a different voice
+ - "Regenerate All" - regenerates everything
+
+## Building from Source
+
+If you're building from source and encounter issues with the GUI:
+
+1. Ensure you have the system dependencies installed (see Prerequisites)
+2. The build might take longer the first time as it compiles Fyne
+3. If the build times out, try building without the GUI first:
+ ```bash
+ go build -tags nogui ./cmd/totalrecall
+ ```
+
+## Troubleshooting
+
+- **Build fails**: Check that you have the required system dependencies
+- **GUI doesn't start**: Ensure you're running in a graphical environment
+- **Audio doesn't play**: The current implementation shows audio controls but actual playback requires additional audio libraries \ No newline at end of file