@@ -57,6 +57,15 @@ def get_app_version() -> str:
5757
5858
5959class PodcastGeneratorApp :
60+ DEFAULT_APP_SETTINGS = {
61+ "tts_provider" : "elevenlabs" ,
62+ "speaker_voices" : {"John" : "Schedar - Even" , "Samantha" : "Zephyr - Bright" },
63+ "speaker_voices_elevenlabs" : {
64+ "John" : {"id" : "TX3LPaxmHKxFdv7VOQHJ" , "display_name" : "Liam - Male, Young, american" },
65+ "Samantha" : {"id" : "cgSgspJ2msm6clMCkdW9" , "display_name" : "Jessica - Female, Young, american" }
66+ },
67+ "elevenlabs_quota_cache" : None
68+ }
6069
6170 def __init__ (self , root : tk .Tk , generate_func , logger , api_key : str , default_script : str = "" ):
6271 self .root = root
@@ -890,6 +899,20 @@ def _wait_for_cache():
890899 # If not using ElevenLabs or cache is ready, open immediately.
891900 self ._show_settings_window ()
892901
902+ def _show_settings_window (self ):
903+ """Creates and displays the actual settings window."""
904+ from settings_window import VoiceSettingsWindow
905+ VoiceSettingsWindow (
906+ self .root ,
907+ current_settings = self .app_settings ,
908+ save_callback = self .save_settings ,
909+ close_callback = self .on_settings_window_close ,
910+ default_settings = self .DEFAULT_APP_SETTINGS ,
911+ preloaded_elevenlabs_voices = self .elevenlabs_voices_cache ,
912+ play_gemini_sample_callback = self .play_gemini_voice_sample ,
913+ play_elevenlabs_sample_callback = self .play_elevenlabs_voice_sample
914+ )
915+
893916 def show_about_window (self ):
894917 """Displays the 'About' window."""
895918 AboutWindow (self .root , version = get_app_version ())
0 commit comments