| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Removed duplicate fyne.KeyA handler that was triggering both front and back audio
- Added SetAudioFileNoAutoPlay() method for controlled playback
- Front audio (a key) now auto-plays only front audio
- Back audio (A key) now auto-plays only back audio
- Refactored startPlayback to use startPlaybackForFile for better control
- Fixed icon reset when playback finishes for each audio type separately
|
|
Created TROUBLESHOOTING.md with detailed investigation of the reported issue
where A (regenerate back audio) may be regenerating the wrong side for
Bulgarian-Bulgarian cards.
Includes:
- Issue description and expected behavior
- Current implementation details
- Data flow analysis
- Debugging steps to reproduce and verify
- List of potential root causes
- Related code files
- Test case for reproducibility
|
|
|
|
Add console debug output to understand which side (front/back) is being
regenerated for audio A and P key presses.
|
|
- Remove Space key handler from handleShortcutKey
Space is not needed - use P/Shift+P instead
- Clarify hotkeys help text
p/п = play front audio
P/П = play back audio (bg-bg only)
The SetOnTypedRune handler already correctly handles case-sensitive
keys (p vs P, a vs A) for both playback and regeneration.
|
|
- Add Space key as primary hotkey to play back audio (bg-bg cards only)
More intuitive than Shift+P for playing the second audio
- Change back audio button icon from MediaSkipNextIcon to MediaPlayIcon
Both front and back buttons now use the same play icon for consistency
- Update hotkeys help dialog to document Space key
Mark P/П as legacy (kept for backward compatibility)
This makes the UI more consistent and the Space key is more natural
for playing the back audio without using Shift.
|
|
Now that the root cause is fixed in the processor, remove the debug
logging that was added for troubleshooting.
|
|
- 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.
|
|
- 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.
|
|
- Fix scanExistingWords() to detect cards with audio_front/audio_back files
Previously only checked for audio.mp3, missing Bulgarian-Bulgarian cards
- Fix checkForMissingFiles() to also look for bg-bg audio files
Now checks both audio.mp3 (en-bg) and audio_front.mp3 (bg-bg)
- Add check for back audio file in checkForMissingFiles()
Ensures SetBackAudioFile is called when audio_back is loaded later
This fixes the issue where opening an existing Bulgarian-Bulgarian card
would not load the audio files, leaving the play buttons non-functional.
|
|
- Update README.md with complete batch file format documentation
- Expanded from 3 to 5 supported formats
- Added Format 4: Bulgarian-Bulgarian (monolingual) using double equals
- Clarified Format 2 as English→Bulgarian with single equals
- Noted that bg-bg cards generate two separate audio files
- Update CLI help text to show batch file format examples
- Added example of double equals syntax
- Clarified single equals creates English→Bulgarian cards
This closes the documentation gap for the Bulgarian-Bulgarian flashcard feature
that was already implemented in the codebase.
|
|
Replace task runner with mage for build automation.
All existing targets preserved: build, run, test variants, install, clean.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
cards
- Fix race condition where images, audio, and phonetic info could be saved to wrong flashcard when navigating quickly between cards
- Add pre-determined card directory that's passed to all background operations
- Track active operations per word to prevent deletion during generation
- Block deletion of cards that are queued or being processed
- Show appropriate error messages when deletion is blocked
This ensures files are always saved to the correct card directory and prevents data loss from deleting cards with active operations.
🤖 Generated with [opencode](https://opencode.ai)
Co-Authored-By: opencode <noreply@opencode.ai>
|