summaryrefslogtreecommitdiff
path: root/internal/gui/generator.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-01-21 22:41:08 +0200
committerPaul Buetow <paul@buetow.org>2026-01-21 22:41:08 +0200
commit5f9f32f089fcc3cd827db4d707003acefa2a8cca (patch)
tree5b295dbc88ac8fefb9661fffd442ebc846af269f /internal/gui/generator.go
parent962dd1f77c0b38bf5333e3328ba136ff6c456285 (diff)
Fix: Auto-play only regenerated audio (front or back, not both) for bg-bg cardsv0.8.0
- 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
Diffstat (limited to 'internal/gui/generator.go')
-rw-r--r--internal/gui/generator.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/internal/gui/generator.go b/internal/gui/generator.go
index a3a0a4d..4569191 100644
--- a/internal/gui/generator.go
+++ b/internal/gui/generator.go
@@ -154,7 +154,10 @@ func (a *Application) generateAudio(ctx context.Context, word string, cardDir st
// generateAudioFront generates front audio for a bg-bg card
func (a *Application) generateAudioFront(ctx context.Context, word string, cardDir string) (string, error) {
+ fmt.Printf("DEBUG (generateAudioFront): Called with word: %s, cardDir: %s\n", word, cardDir)
+
if cardDir == "" {
+ fmt.Printf("DEBUG (generateAudioFront): Card directory not provided, returning error\n")
return "", fmt.Errorf("card directory not provided")
}
@@ -170,14 +173,18 @@ func (a *Application) generateAudioFront(ctx context.Context, word string, cardD
provider, err := audio.NewProvider(&audioConfig)
if err != nil {
+ fmt.Printf("DEBUG (generateAudioFront): Failed to create audio provider: %v\n", err)
return "", err
}
+ fmt.Printf("DEBUG (generateAudioFront): Generating front audio for '%s' with voice: %s, speed: %.2f\n", word, voice, speed)
fmt.Printf("Generating front audio for '%s' with voice: %s, speed: %.2f\n", word, voice, speed)
frontFile := filepath.Join(cardDir, fmt.Sprintf("audio_front.%s", a.config.AudioFormat))
+ fmt.Printf("DEBUG (generateAudioFront): Will write to: %s\n", frontFile)
if err := provider.GenerateAudio(ctx, word, frontFile); err != nil {
return "", fmt.Errorf("failed to generate front audio: %w", err)
}
+ fmt.Printf("DEBUG (generateAudioFront): Successfully wrote front audio to: %s\n", frontFile)
// Update metadata
metadataFile := filepath.Join(cardDir, "audio_metadata.txt")
@@ -191,7 +198,10 @@ func (a *Application) generateAudioFront(ctx context.Context, word string, cardD
// generateAudioBack generates back audio for a bg-bg card
func (a *Application) generateAudioBack(ctx context.Context, text string, cardDir string) (string, error) {
+ fmt.Printf("DEBUG (generateAudioBack): Called with text: %s, cardDir: %s\n", text, cardDir)
+
if cardDir == "" {
+ fmt.Printf("DEBUG (generateAudioBack): Card directory not provided, returning error\n")
return "", fmt.Errorf("card directory not provided")
}
@@ -207,14 +217,18 @@ func (a *Application) generateAudioBack(ctx context.Context, text string, cardDi
provider, err := audio.NewProvider(&audioConfig)
if err != nil {
+ fmt.Printf("DEBUG (generateAudioBack): Failed to create audio provider: %v\n", err)
return "", err
}
+ fmt.Printf("DEBUG (generateAudioBack): Generating back audio for '%s' with voice: %s, speed: %.2f\n", text, voice, speed)
fmt.Printf("Generating back audio for '%s' with voice: %s, speed: %.2f\n", text, voice, speed)
backFile := filepath.Join(cardDir, fmt.Sprintf("audio_back.%s", a.config.AudioFormat))
+ fmt.Printf("DEBUG (generateAudioBack): Will write to: %s\n", backFile)
if err := provider.GenerateAudio(ctx, text, backFile); err != nil {
return "", fmt.Errorf("failed to generate back audio: %w", err)
}
+ fmt.Printf("DEBUG (generateAudioBack): Successfully wrote back audio to: %s\n", backFile)
return backFile, nil
}