Ticket #81: variantSelection.patch

File variantSelection.patch, 1.7 KB (added by pvagner, 4 years ago)

attempt for a fix. I haven't committed this because jamie is also working on it.

  • source/gui/settingsDialogs.py

     
    309309 
    310310        def onVariantChange(self,evt): 
    311311                val=evt.GetSelection() 
    312                 getSynth().variant=getSynth().getVariantIdentifier(val) 
     312                s=getSynth() 
     313                speech.cancelSpeech() 
     314                s.variant=s.getVariantIdentifier(val) 
    313315 
    314316        def onRateChange(self,evt): 
    315317                val=evt.GetSelection() 
  • source/synthDrivers/_espeak.py

     
    215215        espeakDLL.espeak_SetVoiceByName(voice.identifier) 
    216216 
    217217def setVoiceByName(name): 
    218         espeakDLL.espeak_SetVoiceByName(name) 
     218        _bgExec(espeakDLL.espeak_SetVoiceByName,name) 
    219219 
    220220def setVoiceByLanguage(lang): 
    221221        v=espeak_VOICE() 
  • source/synthDrivers/espeak.py

     
    123123                        self._variant="none" 
    124124                identifier=_espeak.getCurrentVoice().identifier.split('+')[0] 
    125125                if self._variant =="none": 
    126                         _espeak.setVoiceByName(identifier.split('+')[0]) 
    127                 else: 
    128                         identifier="%s+%s"%(identifier,self._variant) 
    129                 try: 
    130126                        _espeak.setVoiceByName(identifier) 
    131                 except: 
    132                         _espeak.setVoiceByName(identifier.split('+')[0]) 
     127                else: 
     128                        try: 
     129                                _espeak.setVoiceByName("%s+%s"%(identifier,val)) 
     130                        except: 
     131                                _espeak.setVoiceByName(identifier) 
    133132 
    134133        def _get_variantCount(self): 
    135134                return len(self._variantDict)