Skip to content

Commit 7ed0c60

Browse files
committed
Implement relative speed control in GUI
1 parent 509e66c commit 7ed0c60

File tree

3 files changed

+7
-83
lines changed

3 files changed

+7
-83
lines changed

NVDA-addon/addon/globalPlugins/MathCAT/MathCATPreferences.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,11 @@ def write_user_preferences():
174174
#write values to the user preferences file, NOT the default
175175
yaml.dump(user_preferences, stream=f, allow_unicode=True)
176176

177-
def OnClickPreviewVoiceButton(self,event):
177+
def OnRelativeSpeedChanged( self, event ):
178178
from .MathCAT import ConvertSSMLTextForNVDA
179179
from speech import speak
180180
rate = self.m_sliderRelativeSpeed.GetValue()
181-
text = "<prosody rate='XXX%'>the square root of x squared plus y squared</prosody>".replace("XXX", str(rate), 1)
181+
text = _(u"<prosody rate='XXX%'>the square root of x squared plus y squared</prosody>").replace("XXX", str(rate), 1)
182182
speak( ConvertSSMLTextForNVDA(text) )
183183

184184
def OnClickOK(self,event):

NVDA-addon/addon/globalPlugins/MathCAT/MathCATgui.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,17 +118,14 @@ def __init__( self, parent ):
118118

119119
bSizer7131 = wx.BoxSizer( wx.HORIZONTAL )
120120

121-
self.m_staticText21111 = wx.StaticText( self.m_panelSpeech, wx.ID_ANY, _(u"Relative rate %:"), wx.DefaultPosition, wx.DefaultSize, 0 )
121+
self.m_staticText21111 = wx.StaticText( self.m_panelSpeech, wx.ID_ANY, _(u"Relative speech rate:"), wx.DefaultPosition, wx.DefaultSize, 0 )
122122
self.m_staticText21111.Wrap( -1 )
123123

124124
bSizer7131.Add( self.m_staticText21111, 0, wx.ALL, 5 )
125125

126126
self.m_sliderRelativeSpeed = wx.Slider( self.m_panelSpeech, wx.ID_ANY, 100, 20, 200, wx.DefaultPosition, wx.DefaultSize, wx.SL_HORIZONTAL )
127127
bSizer7131.Add( self.m_sliderRelativeSpeed, 0, wx.ALL, 5 )
128128

129-
self.m_buttonPreviewVoice = wx.Button( self.m_panelSpeech, wx.ID_ANY, _(u"Preview voice"), wx.DefaultPosition, wx.DefaultSize, 0 )
130-
bSizer7131.Add( self.m_buttonPreviewVoice, 0, wx.ALL, 5 )
131-
132129

133130
bSizer121.Add( bSizer7131, 1, wx.EXPAND, 5 )
134131

@@ -322,7 +319,7 @@ def __init__( self, parent ):
322319
self.Bind( wx.EVT_KEY_UP, self.MathCATPreferencesDialogOnKeyUp )
323320
self.m_listBoxPreferencesTopic.Bind( wx.EVT_LISTBOX, self.OnListBoxCategories )
324321
self.m_choiceLanguage.Bind( wx.EVT_CHOICE, self.OnLanguage )
325-
self.m_buttonPreviewVoice.Bind( wx.EVT_BUTTON, self.OnClickPreviewVoiceButton )
322+
self.m_sliderRelativeSpeed.Bind( wx.EVT_SCROLL_CHANGED, self.OnRelativeSpeedChanged )
326323
self.m_buttonOK.Bind( wx.EVT_BUTTON, self.OnClickOK )
327324
self.m_buttonCancel.Bind( wx.EVT_BUTTON, self.OnClickCancel )
328325
self.m_buttonApply.Bind( wx.EVT_BUTTON, self.OnClickApply )
@@ -346,7 +343,7 @@ def OnListBoxCategories( self, event ):
346343
def OnLanguage( self, event ):
347344
event.Skip()
348345

349-
def OnClickPreviewVoiceButton( self, event ):
346+
def OnRelativeSpeedChanged( self, event ):
350347
event.Skip()
351348

352349
def OnClickOK( self, event ):

wxFormBuilder/MathCATgui.fbp

Lines changed: 2 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,7 +1031,7 @@
10311031
<property name="gripper">0</property>
10321032
<property name="hidden">0</property>
10331033
<property name="id">wxID_ANY</property>
1034-
<property name="label">Relative rate %:</property>
1034+
<property name="label">Relative speech rate:</property>
10351035
<property name="markup">0</property>
10361036
<property name="max_size"></property>
10371037
<property name="maximize_button">0</property>
@@ -1123,80 +1123,7 @@
11231123
<property name="window_extra_style"></property>
11241124
<property name="window_name"></property>
11251125
<property name="window_style"></property>
1126-
</object>
1127-
</object>
1128-
<object class="sizeritem" expanded="1">
1129-
<property name="border">5</property>
1130-
<property name="flag">wxALL</property>
1131-
<property name="proportion">0</property>
1132-
<object class="wxButton" expanded="1">
1133-
<property name="BottomDockable">1</property>
1134-
<property name="LeftDockable">1</property>
1135-
<property name="RightDockable">1</property>
1136-
<property name="TopDockable">1</property>
1137-
<property name="aui_layer"></property>
1138-
<property name="aui_name"></property>
1139-
<property name="aui_position"></property>
1140-
<property name="aui_row"></property>
1141-
<property name="auth_needed">0</property>
1142-
<property name="best_size"></property>
1143-
<property name="bg"></property>
1144-
<property name="bitmap"></property>
1145-
<property name="caption"></property>
1146-
<property name="caption_visible">1</property>
1147-
<property name="center_pane">0</property>
1148-
<property name="close_button">1</property>
1149-
<property name="context_help"></property>
1150-
<property name="context_menu">1</property>
1151-
<property name="current"></property>
1152-
<property name="default">0</property>
1153-
<property name="default_pane">0</property>
1154-
<property name="disabled"></property>
1155-
<property name="dock">Dock</property>
1156-
<property name="dock_fixed">0</property>
1157-
<property name="docking">Left</property>
1158-
<property name="enabled">1</property>
1159-
<property name="fg"></property>
1160-
<property name="floatable">1</property>
1161-
<property name="focus"></property>
1162-
<property name="font"></property>
1163-
<property name="gripper">0</property>
1164-
<property name="hidden">0</property>
1165-
<property name="id">wxID_ANY</property>
1166-
<property name="label">Preview voice</property>
1167-
<property name="margins"></property>
1168-
<property name="markup">0</property>
1169-
<property name="max_size"></property>
1170-
<property name="maximize_button">0</property>
1171-
<property name="maximum_size"></property>
1172-
<property name="min_size"></property>
1173-
<property name="minimize_button">0</property>
1174-
<property name="minimum_size"></property>
1175-
<property name="moveable">1</property>
1176-
<property name="name">m_buttonPreviewVoice</property>
1177-
<property name="pane_border">1</property>
1178-
<property name="pane_position"></property>
1179-
<property name="pane_size"></property>
1180-
<property name="permission">protected</property>
1181-
<property name="pin_button">1</property>
1182-
<property name="pos"></property>
1183-
<property name="position"></property>
1184-
<property name="pressed"></property>
1185-
<property name="resize">Resizable</property>
1186-
<property name="show">1</property>
1187-
<property name="size"></property>
1188-
<property name="style"></property>
1189-
<property name="subclass">; ; forward_declare</property>
1190-
<property name="toolbar_pane">0</property>
1191-
<property name="tooltip"></property>
1192-
<property name="validator_data_type"></property>
1193-
<property name="validator_style">wxFILTER_NONE</property>
1194-
<property name="validator_type">wxDefaultValidator</property>
1195-
<property name="validator_variable"></property>
1196-
<property name="window_extra_style"></property>
1197-
<property name="window_name"></property>
1198-
<property name="window_style"></property>
1199-
<event name="OnButtonClick">OnClickPreviewVoiceButton</event>
1126+
<event name="OnScrollChanged">OnRelativeSpeedChanged</event>
12001127
</object>
12011128
</object>
12021129
</object>

0 commit comments

Comments
 (0)