-
Notifications
You must be signed in to change notification settings - Fork 11
/
changelog.txt
559 lines (392 loc) · 20.7 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
Changelog for service.xbmc.tts
==============================
Authors: ruuk, pvagner
Translations (Thank you!): Polish - Piciok, Italian - falcon03, German - donkamillo
TODO:
-----
Use Container(id).CurrentItem for I* to detect list item changes
Format seek position to prevent engines (some) from speaking it as a clock time (ie blah past midnight)
OSX VoiceOver via AppleScript
Android backend
Speech for more window types that isn't automatically handled
Pageination for large texts?
Subtitle speech? Maybe only possible with something like pysrt and a subtitle file. https://pypi.python.org/pypi/pysrt
GwMicro Window Eyes backend?
Dolphin API backend?
EXTERNAL TODO:
--------------
OSX installer?
Android TTS app for android backend
** 1.0.7 **
Add some fixes for the video info dialog
Add handlers for some new windows
Add verbose logging option
Remove defunct Google and speechutil.com backends
Issue #11: Fix voice selection on festival backend and allow for quotes in text
Issue #13: Revert OSXSay backend to old method to fix crashing on OSX
** 1.0.6 **
Fix bug on window where addon window names were being spoken as the path to the window file
Now puts the addon in first run state if a user installed version is removed when the addon is pre-installed
Now updates the keymap if the pre-installed version is removed
** 1.0.6b1 **
Add Dutch translation - thanks to leonardder
Automatically disable if pre-installed
Fix issues playing informational sounds when addon is pre-installed
Add ability do enable/disable addon when it's pre-installed
** 1.0.5 **
Add client=t to Google backend URL to fix 503 errors
** 1.0.4 **
Add German translation - thanks to donkamillo
Fix keymapeditor speech
** 1.0.3 **
Add Italian translation - thanks to falcon03
** 1.0.2 **
Install default keymap on first run
** 1.0.1 **
Change backend priorities
** 1.0.0 **
Official repository release
** 0.1.2b **
Fix for the addon speaking '32166' instead of 'Addons updated'
Now speaks selected status for items in multi-select dialogs
Add handling for subtitles dialog
Now speaks keyboard dialog again in nightlies and future 15.0 release
** 0.1.1b **
Improve reading of window extra texts, for example System Info now properly reads the Kodi build info
Fix for slideout menu boolean settings not reading properly
Fix for slideout menu not reading properly on all PVR windows
** 0.1.0b **
Changed name to "Kodi Screen Reader"
Removed NVDA library. To enable NVDA, install "NVDA Controller Client DLL" from the "Add-on libraries" category on my repository
Added Recite backend (it is awful - added for completeness plus it was easy)
Added handling for the PVR Guide Search dialog (Not very useful until a future Kodi version)
** 0.0.88b **
Fix for versions with letter suffixes causing errors :)
** 0.0.87b **
Helix fixes for PVR
Now handles all PVR views (Helix)
Better item extra info of PVR items (Helix)
Now reads item label instead of title in video/music views
Now reads watched and resumable on videos
Fix for left slideout menus not reading
** 0.0.86 **
Fix for video info window buttons not reading properly on Helix
Enhancements to video info reading
Added speaking of currently playing item on pause
Fix for some settings not working
** 0.0.85 **
Localize strings
** 0.0.84 **
Fix for Yes/No dialogs not reading buttons and other issues
Fix for Timeline: Now/Next extra info not reading
Fix for fadelabels not being read in window info and some text ordering issues
** 0.0.83 **
Fix for errors on platforms with Python 2.6
** 0.0.82 **
Added 'Speak Background Progress Updates' to Settings:Options (Default: False)
Added 'Minimum Progress Update Interval (Seconds)' as subsetting to 'Speak Background Progress Updates' (Default: 5)
Added 'Speak When Media Playing' as subsetting to 'Speak Background Progress Updates' (Default: False)
** 0.0.81 **
Module: sayText() now requires unicode and is safe for all unicode characters
** 0.0.80 **
Added 'Disable Interface Reader' to Settings:Options (Default=False)
Now provides a module for other addons to use
** 0.0.79 **
Better log error formatting
SAPI: Add ability to retry initialization on errors
SAPI: Improve error recovery
SAPI: More improved logging
Add ability to automatically reset the addon on SAPI failure
** 0.0.78 **
Added fix for select dialogs causing looping errors in skins other than Confluence
Added fix for COMError issues when stopping speech in SAPI
Added more informative SAPI COMError logging
** 0.0.77 **
Update comtypes to the latest dev version
SAPI: Clear generated files on startup: possibly fixes issues with Win 7/8
** 0.0.76 **
Will now speak version updates for addons even if they were updated while the TTS addon was disabled or not yet started
Added 'Keymap' category to settings and moved keymap options there
Added 'Install Default Keymap', 'Install Custom Keymap', 'Edit Custom Keymap', 'Reset Custom Keymap To Defaults' and 'Remove Installed Keymap' to Keymap category
XBMC no longer needs to be restarted on keymap install/update
** 0.0.75 **
Fix for speech-dispatcher eventually hanging on volume up/down
Change speech-dispatcher volume range in settings to 0-200% (was 0-100%, but 50% actually represented the real 100%)
Fix for sapi pitch, volume and rate not working on Windows 8
** 0.0.74 **
Fix for window xml parser failing on skins with non-standard folder paths
Now speaks new versions for all addon updates
Added the sub-setting 'Delay (seconds)' to the 'Speak Extra Item Information Automatically' setting
Now says 'sub-setting' before speaking a sub-setting's name
Now speaks the category description as extra info on the settings category selection window
Added the ability to change backend speech volume with ctrl-plus and ctrl-minus
** 0.0.73 **
JAWS and NVDA will now fallback to SAPI if not running
Added ability to speak text in the text viewer window using the future xbmc ability to get textbox text directly
Fix for some multiline texts not having formatting codes removed before being spoken
** 0.0.72 **
Update Comtypes to dev version to remove NumPy dependency
SAPI can now speak with XBMC audio which is now the default
Added SAPI setting 'Play Speech Via XBMC'
** 0.0.71 **
Now shows the busy dialog when waiting for the engines, voices or players list to display (useful on the Raspberry Pi, which can be slow to display)
Fixed a bug where changing from a player that could pipe to one that could not would cause speech to stop
** 0.0.70 **
Now speaks when video or music database scan has started or finished
Improved speaking of window names including speaking the addon name for addon windows
Added code to load snd-bcm2835 module for other Raspberry Pi distributions
Will now check for and load snd-bcm2835 module for all players/engines if needed
Fix for sound icons failing due to file paths with non-ascii characters
** 0.0.69 **
Startup beeps now happen before speech
Now speaks the new version on update
Fix for Flite player not changing when changed in settings
Fix for aplay not interrupting properly
Now enables alsa for aplay when aplay is selected as a player on on Raspberry Pi OpenElec
Added ability to pipe audio directly from engine to player
Added setting to eSpeak, Google and HTTP TTS Server: 'Pipe Audio To Player'
Updated comtypes to 1.1.0
** 0.0.68 **
Playing status now speaks on all views when media is playing
Playing status now speaks fast forward and rewind with 2x, 4x, 8x, 16x and 32x levels
** 0.0.67 **
Weather window now speaks automatically
Now speaks full screen video player status including pause, buffering (with percent) and seeking (with position)
HTTP speech server backend: fixed errors cause by connection issues
HTTP speech server backend: now gives an error reason when falling back
Fix for bug added in last version causing speech to not interrupt when changing controls
** 0.0.66 **
Added pitch to SAPI
Added pitch to eSpeak
Improvements to Festival that should improve responsiveness
Festival now outputs wavs and can be used on the speech server
Added pitch and player settings to Festival
Changed Speed to Server Speed on HTTP TTS
Added Server Pitch, Server Volume, Player Speed, Player Volume to HTTP TTS
** 0.0.65 **
Fix for PVR window being handled generically
** 0.0.64 **
Add afplay: wav and mp3 player for OSX
Fix bug causing errors on some backends
Modify Cepstral for slight performance improvement
** 0.0.63 **
Fixed context menu speaking extra texts for underlying window
Fixed View Options menu speaking the view texts rather that the selected item text
TV and Radio channel views now speak the number, channel name and then title for the selected item
** 0.0.62 **
Re-structure audio player backend in a more intelligent manner
Fix Windows audio player
Fix broken on and off sound effect wavs
** 0.0.61 **
Fix for error when using audio players without volume control
Fix for Speech Dispatcher settings not being honored
** 0.0.60 **
Added sound to indicate busy dialog is showing
** 0.0.59 **
Added ability to set volume with paplay
Added volume to pico2wave
Added volume to eSpeak
Added rate, pitch and volume to Cepstral
Added speed and volume to Festival
Added rate and volume to OSXSay
Added module, voice, speed, pitch and volume to Speech-Dispatcher
Added player, speed and volume to Flite
** 0.0.58 **
Fix for possible SAPI error on older windows versions
** 0.0.57 **
Fix error on Google backend on windows caused by speed and volume additions
Fix error on Google backend when language not set
Added volume on SAPI
** 0.0.56 **
Added support for playing MP3 based backends on windows internally
Google backend now works on windows
Added speechutil.com backend (Very slow but should work on all platforms)
OSXSay backend now accesses speech library directly instead of via subprocess
Added voice selection to OSXSay backend
Added language selection to Google backend
Added player selection to Google backend
Added volume selection to Google backend
Added player selection to pico2wave
** 0.0.55 **
Internal testing
** 0.0.54 **
Fix to allow addon changlogs to auto-read
Added mpg321 to available players
Fix for addon crashing on non-ascii characters for most backends on some platforms
Made enabling/disabling addon safer and more reliable
Added enable and disable sound effects
Workaround Google tts limit of 100 characters by speaking separate portions
** 0.0.53 **
Now repeats entire text/IP/numeric input dialog text after a delay
Fix for interface slowdown when automatically reading extra item info
** 0.0.52 **
Now speaks the PVR guide info that displays when clicking a show automatically
Added 'Speak Extra Item Information Automatically' to 'Settings:Options' which defaults to false
** 0.0.51 **
Fix for SAPI errors on '<'
PVR EPG now speaks each show when navigating grid
F3 on PVR EPG now speaks the channel number, name, show start time, show end time and plot summary
** 0.0.50 **
Fixes for Cepstral showing a terminal on windows (again)
Added some code to reset SAPI on error and LOG the occurrence
Disable speed setting on ttsd for engines that don't use it
** 0.0.49 **
Added mpg123 player support
Make Google backend require an mp3 player
** 0.0.48 **
Fixes to HTTP server backend to make it work again with the Perl server
Added version check to HTTP server and switch between Perl/Python servers where appropriate
** 0.0.47 **
Changes to speech server backend
** 0.0.46 **
Fix for aoss usage
Google now only shows available when mplayer is available
** 0.0.45 **
Add setting 'Use aoss' to Cepstral
Fix for Cepstral showing terminal on windows
Add google HTTP speech server backend
Add setting 'Speak On Server' to SJHtts
Add remote speaking to sjhttsd backend
** 0.0.44 **
Added Cepstral backend
Added speaking number of items for lists
Divided settings into 'Engine', 'Options' and 'Advanced' sections
Added 'Speak Number Of Items For Lists' to Settings::Options
Fix HTTP wav server backend to work properly with perl server again
** 0.0.43 **
Finish new xml parsing for F2 and F3
Include comtypes and remove script.module.comtypes dependency
Change F12 enable/disable method and removed script.library.xbmc.tts dependency
** 0.0.42 **
Change XML parsing to remove module and parser dependencies
Remove bs4 import
** 0.0.41 **
Better detection for playSFX() memory fix
** 0.0.40 **
Fix for XBMC version detection
** 0.0.39 **
HTTP Speech Wav Server backend will no longer crash XBMC on server errors
HTTP Speech Wav Server backend will now drop to a fallback backend on errors
Using F12 key now requires Gotham or greater for disabling/enabling
Removed the memory fix setting from Advanced - addon now checks XBMC version
** 0.0.38 **
Added the ability to disable/enable the addon with F12 (you'll need to update the keymap from settings)
Added addon module dependency for script.library.xbmc.tts (for the enable/disable handling)
Fix for encoiding errors with non-ascii characters in HTTP speech wav server backend
** 0.0.37 **
Added support for playSFX without caching (xbmc git: 5579740e9881717c65518b81a9a2b4d9526c3307)
-Enable in Settings::Advanced (temporary setting until relevant change is in an XBMC release)
Added the ability to output wavs to a tmpfs (/run/shm or /dev/shm with fallback to /tmp)
Added speaking for typing in the numeric and IP address inputs
Added backend for eckythump's HTTP speech wav server
** 0.0.36 **
Improvements to speaking of list item text on F3
** 0.0.35 **
Added the ability to select player in eSpeak
Added support for playing via paplayer and MPlayer
Fix for encoding error in Pico2Wave
Added generic speaking of window text on F2
Added generic speaking of list item text on F3
** 0.0.34 **
Enable wave output in Flite
Merge Flite backend for ATV2 into main Flite backend
Fix for speech dispatcher always showing available
** 0.0.33 **
Fix for a bug with several backends causing XBMC to hang on shutdown
Added the settings option for espeak 'Play Speech Directly Via eSpeak' which bypasses writing to wav
Fix for speech-dispatcher not being available/working on some platforms (Ubuntu?)
** 0.0.32 **
Added setting to Advanced 'Override Poll Interval' and subsetting 'Poll Interval (ms)'
Various internal changes to eSpeak and pico2wave
** 0.0.31 **
Added a settings section 'Advanced'
Added setting 'Advanced::Enable Debug Logging' - currently defaults to True
Added setting 'Advanced::Disable Broken TTS Engines' defaults to True
Changed name of ctypes eSpeak to eSpeak (ctypes) and marked as broken
Changed name of 'eSpeak (XBMC Audio)' to eSpeak, and it now works both via internal and external sound output
** 0.0.30 **
Added speaking of addon status including addon download progress
Change to prevent errors from killing the addon, thereby stopping speech and possibly hanging XBMC on exit
** 0.0.29 **
Added speaking of virtual keyboard typing
Added speaking of progress dialog and speaking of progress percent
** 0.0.28 **
JAWS backend now properly shows availability
** 0.0.27 **
Added JAWS backend
** 0.0.26 **
Added 'Use SOX If Available' setting to pico2wav
Added 'Speed (Requires SOX)' setting to pico2wav
Added fix for text starting with - not speaking on some speech engines
** 0.0.25 **
NVDA: Unload nvdaController library on close (prevented addon from updating)
SAPI: Delete comtypes object on close (maybe? caused XBMC to hang on shutdown)
Fix for OSXSay hanging XBMC on quit
Some backend restructuring/improvement
** 0.0.24 **
Change SAPI to threaded to enable interruption of speech lists
** 0.0.23 **
Fix for espeak available causing error in windows
** 0.0.22 **
Fix Flite subclass
** 0.0.21 **
Added changelog.txt
Added documentation for items in guitables.py Removed giutables.py items that were removed in frodo
Added speaking of changelog dialog
Changed voice and speed settings to appear as subsettings
Add class and method documentation to the backend base classes
Some restructuring to the backend base classes and backends to make more sense and fix some threading issues
Change XBMCAudioTTSBackendBase to WaveFileTTSBackendBase and allow it to work with XBMC audio with stopSFX (if available) or external audio
Re-implement pico2wav using WaveFileTTSBackendBase
** 0.0.20 and before **
Fix for Flite hanging XBMC on shutdown F6 key now opens the addon settings when the keymap is installed The backend currentSpeed() now returns 0 if none is set
Backend select dialog now handled manually Added displayName to backends - used for selection dialog Backend selection now saved with provider name Added currentSpeed() to TTSBackendBase, works like currentVoice() Added XBMCAudioTTSBackendBase backend base Added ESpeak_XA_TTSBackend which uses subprocess and XBMC audio and implements currentSpeed() Added a fix for OK speaking as Oklahoma Settings now only shows 'Voices' option for the currently displayed speech engine
Merge branch 'master' of https://github.com/ruuk/service.xbmc.tts
Handle stopSFX in flite for ATV2
Forgot to remove UTF8 decoding from SpeechDispatcherBackend.
SapiTTSBackend: Added support for setting voices. Also reverted utf8 decoding for NVDA and Sapi TTSBackends as it is no longer needed after the latest refactor.
ESpeakTTSBackend: prevent double speaking. I don't know when this did crep in.
Merge branch 'master' of https://github.com/ruuk/service.xbmc.tts
SpeechDispatcherTTSBackend: handle connection lost errors e.g. while speech-dispatcher daemon is restarted.
Addon addon description to spoken info when pressing F3 in the addon browser
Added assert to SayText to ensure unicode text Made changes to ensure all text passed to SayText is unicode Changed formatText to cleanText and fixed it to properly remove text formatting All text passed to a backend is now run through cleanText
fix from phone
Added stop method to more TTSBackends NVDA, Sapi and SpeechDispatcher
Merge branch 'master' of https://github.com/ruuk/service.xbmc.tts
ESpeakTTSBackend: Added voices selection.
Added keys to keymap. F3 for extra selected item information and F to stop. Stop only works in espeak and flite so far. speech. Changed F1 to repeat Window:Section:Item instead of just Item text. F2 now speaks time and weather on the home screen. F3 currently speaks TV show plots, episode plots, probably Movie plots, and song title,genre,duration.
Added SpeechDispatcherTTSBackend with some default values attempting to load a voice coresponding with the user's locale if it exists.
Merge branch 'master' of https://github.com/ruuk/service.xbmc.tts
Added a custom keymap installable from settings:Install Keymap Keymap adds F1 repeat item text, F2 say extra text Currently F2 only works in the addon information window Fix eSpeak to encode to unicode to UTF-8 string before speaking Changed lib file in addon.xml to main.py which starts the service or other functions depending on the calling args
Fixed inability to start service without "enabled" setting which has been removed
Quick fix for UnicodeDecode errors occuring while presenting some non english window and control names. This should be properly addressed later.
Added basic .gitignore
Removed 64 bit NVDA controller client library as this is not needed at this point
Now speaks titles of dialogs Now speaks text in OK and YES/NO dialogs
Version bump
Restructure backends Add nvda controller dlls and license
Fix for new window not interrupting speech
Added pvagner to the authors in addon.xml
Version bump
Merge branch 'master' of git://github.com/pvagner/service.xbmc.tts into pvagner-master
Localize window names via XBMC strings Localize quartz control table labels via XBMC strings Removed 'Enable' setting to use XBMC enable/disable button instead Added pausing to threaded backend base Some tweaks to Flite to prevent crashing XBMC Fixes for proper interruption when changing button controls Now falls back to System.CurrentControl when getting control label, which works with settings items
Added NVDATTSBackend. This only works on windows. NVDA has to be running. NVDA controller client library needs to be copied into the lib folder.
SAPITTSBackend: convert text to unicode before sending for TTS. Fixes issues speaking non ascii characters.
Do not init backend unless enabled
Fixes for backend change check
Finish adding stuff for osx say Log version and platform
Version bump
Added eSpeak tts backend Added code for OSX say backend (untested)
version bump
Implemented a threaded tts backend base class Implemented Flite backend using threaded base class Added auto option to setting 'Default TTS Engine'
Added Flite via ctypes and commented it out
Fix Speak() flag in SAPI say() Service now uses tts backend specific sleep interval
Finish interruptable speech interface
Add import for comtypes module Rename WindowsInternalTTS to SAPITTS Use comtypes instead of subprocess to access SAPI
Added voice selection
Version bump
Changed addon file structure Added support for flite tts (should work on ATV2) Added 'Enable' setting Added 'Default TTS Engine' setting
Fix windows TTS Auto select TTS provider Some cleanup
Various Windows TTS
Add license and icon
Initial commit