Compile++
[kdeaccessibility.git] / kttsd / ChangeLog
blob8ea3a1ff2432b940deb61969599b0aef81c5293e
1 2005-07-19  Gary Cramblitt (PhantomsDad)
2         * Name kept .wav files in format kttsd-jjjjjjjj-ssssssss.wav where jjjjjjjj is the job 
3           number zero-filled to the left and ssssssss is the sentence sequence number zero-filled
4           to the left.
6 2005-07-01  Gary Cramblitt (PhantomsDad)
7         * Since ALSA plugin seems to work pretty well, enable building --without-arts and build
8           ALSA plugin by default (if headers found).
10 2005-06-25  Gary Cramblitt (PhantomsDad)
11         * The XML Transformer filter now applies itself when the root element OR doctype and appId match.
13 2005-06-12  Gary Cramblitt (PhantomsDad)
14         * New aKode audio plugin.  Build it with ./configure --enable-kttsd-akode.
15           There are a couple of problems.  See README players/akodeplayer/README.
16         * Activate rich speak (XHTML to SSML) in Konqueror plugin.  To speak richly,
17           you must configure the xhtml2ssml_simple XML Transformer plugin.
19 2005-06-03  Gary Cramblitt (PhantomsDad)
20         * New ALSA audio plugin.  Build it with ./configure --enable-kttsd-alsa for now.
21         * New Qt Rich Text to Plain Text filter by David Powell.
23 2005-04-30  Gary Cramblitt (PhantomsDad)
24         * Change Current Sentence widget in Jobs tab to KTextEdit to avoid resizing when text does
25           not fit in box.
26         * HTML to SSML now working pretty well.  Note that you must
27             1.  Have Festival 1.95 installed.
28             2.  Have rab_diphone voice installed.
29             3.  Have xsltproc installed.
30             4.  If you have Festival Talker configured, reconfigure it (Edit) so that it will detect
31                 if you have rab_diphone voice installed.  You must hit the Apply button.
32             5.  Enable XML Transformer filter and point it to xhtml2ssml_simple.xsl stylesheet.
33             6.  Right now, only speaks HTML from Konqi if you paste HTML from clipboard.
34                 Speak button in Konqi not yet enabled until I get some confidence it is working well.
36 2005-04-23  Gary Cramblitt (PhantomsDad)
37         * Break sentences longer than 600 characters into shorter sentences by changing comma to
38           period.  This prevents Festival from droning on lower and lower in tone until it is
39           unintelligible or crashes.
41 2005-04-22  Gary Cramblitt (PhantomsDad)
42         * If resumeText is called on a speaking job, do not restart it.
44 2005-04-21  Gary Cramblitt (PhantomsDad)
45         * New Hungarian Hadifix (mbrola and txt2pho) voice available at
46             http://tkltrans.sourceforge.net/
47           Since Hungarian requires ISO 8859-2 character encoding, added encoding option to
48           Hadifix plugin.  Also, Hadifix plugin auto-selects a voice matching the user's
49           chosen language.
50         * Abbreviate USA and UK country names to save space.
51         * Display male/female icons in Festival Interactive configuration dialog.
52         * Use new Select Talker dialog in Talker Chooser filter.
54 2005-04-17  Gary Cramblitt (PhantomsDad)
55         * Actions to be taken on notifications may now be specified at three levels
56             Specific event of specific application
57             All other events of specific application
58             All other events
59         * When the last event of an application is deleted, delete the app from
60           Notifications list.
62 2005-04-12  Gary Cramblitt (PhantomsDad)
63         * Enhanced notification options.  Ability to customize each application event.
64         * Enhanced Talker chooser for notifications and Job Manager.
65         * Fix bug in Talker matching algorithm.
67 2005-03-18  Gary Cramblitt (PhantomsDad)
68         * Added --systray cmdline option to KTTSMgr, which causes it to start minimized in system
69           tray.
70         * Added --autoexit cmdline option to KTTSMgr, which causes it to exit when no longer
71           speaking any text jobs.
72         * Added AutoStartManager and AutoExitManager options to config.  These cause kttsd
73           to automatically start KTTSMgr when a text job starts, and automatically exit
74           KTTSMgr when all text jobs have finished speaking.
76 2005-03-16  Gary Cramblitt (PhantomsDad)
77         * Bug fix.  Interruption messages are spoken using the Talker of the interrupting message.
78           So if default Talker is en, and you do sayMessage "Guten Tag" "de", the "Text Interrupted.
79           Message" is spoken using German Talker.  Interruption messages should speak using the
80           default Talker.
82 2005-03-13  Gary Cramblitt (PhantomsDad)
83         * Bug.  SBD Filter turned off by default.  Not good!
84         * When running kttsd and no Talkers or Filters have been configured, automatically
85           attempt to configure them.  Try to configure a Talker in the user's desktop language
86           and if that doesn't work, in English.  Automatically configure the Standard
87           Sentence Boundary Detector.
89 2005-03-12  Gary Cramblitt (PhantomsDad)
90         * Change toolbar buttons on Jobs tab to push buttons so they can be used from keyboard.
91           Clean up screen layout and add WhatsThis help.
92         * Added sayText convenience method to kspeech.h, which combines setText and startText
93           into a single call.  Be sure to update kdelibs/interfaces/kspeech before attempting to
94           compile kttsd:
95             cd kdelibs/interfaces/kspeech
96             cvs up
97             make install
98         * When starting or restoring KTTSMgr, defaults to Jobs tab if visible.
99         * When clicking on Jobs tab, warn user if there are config changes not yet saved.
101 2005-03-09  Gary Cramblitt (PhantomsDad)
102         * Add Hold and Resume items to systray menu.
104 2005-03-06  Gary Cramblitt (PhantomsDad)
105         * Consolidated all the translation catalogues into single catalog called "kttsd".
107 2005-03-05  Gary Cramblitt (PhantomsDad)
108         * Add support for Kiswahili, Zulu, and Ibibio Festival languages.  Get them at
109           http://www.llsti.org/index.htm.  Note that Ibibio does not have an assigned two-letter
110           (iso 639) code, so I gave it Zulu (zu), which is probably as bad as saying that English
111           is French, but it cannot be helped.  The Ibibio and Zulu voices will only speak valid
112           Ibibio or Zulu text, so the Test button is non-functional for them until translators
113           provide translations.
115 2005-03-02  Gary Cramblitt (PhantomsDad)
116         * BUG:100600 Fix for messages and warnings not spoken when text job is paused.
117         * Bug.  Talker Chooser claims it can autoconfigure itself, but it cannot really.
118         * Allow to remove any Filter.
120 2005-02-17  Gary Cramblitt (PhantomsDad)
121         * Remove festival/ and festivalcs/ plugins from source tree.  AFAIK, these plugins don't work
122           and nobody is using them.  And these are confusing packagers who think we have a build
123           dependency on Festival and Speech Tools libraries. Use festivalint/.
125 2005-02-15  Gary Cramblitt (PhantomsDad)
126         * Translations now working.
127         * Include a copy of kdelibs/interfaces/kspeech in compat/ dir.  This permits distribution
128           and compilation of KTTS for KDE less than 3.4.
129         * Support for Italian voices.  Download from
130           http://www.csrf.pd.cnr.it/TTS/It-FESTIVAL-download.htm.
131           or http://mirko.lilik.it/Italian-FESTIVAL.zip
133 2005-02-05  Gary Cramblitt (PhantomsDad)
134         * Version bumped to 0.3.0.
135         * Russian Festival voice added to voices file.  Download voice from
136           http://nshmyrev.narod.ru/festival/festival.html.  Must have Festival 1.95 beta or later.
137           Untar to festival/lib/voices/russian/ directory.  Encoding must be one of the
138           single-byte cryllics, such as KOI8-R.
139         * Ability to load/save Talker Chooser and XML Transformer configurations.
140         * Some bug fixes related to Filters.
142 2005-01-24  Gary Cramblitt (PhantomsDad)
143         * Add Talker Chooser Filter.
144         * Add option on Audio tab to preserve generated audio files by copying to user-specified
145           directory.
147 2005-01-22  Gary Cramblitt (PhantomsDad)
148         * Allow filtering of notifications.  (only setText and appendText are currently filtered.)
149         * Fix bug.  Synchronous filters not being run.
151 2005-01-21  Gary Cramblitt (PhantomsDad)
152         * Sentence Boundary Detector plugin now active.  This means that SSML is parsed into
153           sentences and therefore can be rewound/advanced by sentence.  It also means that
154           KTTS no longer crashes (taking KDE and X11 with it) on large HTML/SSML files.
155         * Filters can be applied based on the DCOP Application ID of app that queued the text
156           job.
157         * Filters can be applied based on language of Talker.
158         * StringReplacer filter can now load and save word lists to/from external file.
159         * Several other bug fixes.
161 2005-01-13  Gary Cramblitt (PhantomsDad)
162         * FilterMgr class now implemented in kttsd, which means that filters now work.  Well
163           almost.  See TODO file for some nasty problems.  (Hint: avoid large HTML/SSML pages!)
164         * Moved the TalkerCode matching and Talker plugins to TalkerMgr class so both
165           Speaker and SpeechData classes can access them.
167 2005-01-09  Gary Cramblitt (PhantomsDad)
168         * Epos plugin defaults to ISO 8859-2 encoding.  Pass encoded text to Epos client
169           via Stdin rather than command line to avoid encoding problem.
170         * Added encoding parameter to kspeech::setFile method.  This allows for speaking a
171           file that is encoded different from global desktop default.
173 2005-01-07  Gary Cramblitt (PhantomsDad)
174         * Start to Filters capability.  StringReplacer Filter implemented in KTTSMgr GUI,
175           but not yet implemented in kttsd.
177 2004-12-31  Gary Cramblitt (PhantomsDad)
178         * In KTTSD, if user has not yet configured any Talkers, prompt user and if they click
179           Yes, run KTTSMgr.  User has option to turn off prompt.
180         * Activate kspeech::showDialog() method.
181         * The khmtlktts plugin automatically senses if KTTSD is installed and if not,
182           hides menu item.
184 2004-12-30  Gary Cramblitt (PhantomsDad)
185         * Set LANG and LC_CTYPE environment variables before starting subprocess in Epos and
186           and Command plugins.  Fix encoding bug in Epos plugin.  Move common encoding routines
187           to PluginProc.
189 2004-12-27  Gary Cramblitt (PhantomsDad)
190         * Add encoding option to Festival Interactive Plugin.  When choosing a voice, default the
191           encoding option based on voices file.
192         * Add support for Polish Festival.
194 2004-12-21  Gary Cramblitt (PhantomsDad)
195         * Require GStreamer 0.8.5 or above in configure.in.in.  SuSE 9.2 users have
196           GStreamer 0.8.0, which causes KTTSMgr to immediately crash on startup.
198 2004-12-20  Gary Cramblitt (PhantomsDad)
199         * kdenonbeta/kttsd moved to kdeaccessibility/kttsd.
200         * kdenonbeta/kttsd/libktts moved to kdelibs/interfaces/kspeech.  libktts dropped.
201         * kdenonbeta/app-plugins/khtml-plugin moved to kdebase/konqueror/kttsplugin.
202         * kdenonbeta/app-plugins/kate-plugin moved to kdebase/kate/plugins/ktts.
203         * kdenonbeta/app-plugins/katepart-plugin moved to kdebase/kate/plugin/katepartktts.
205 2004-12-19  Gary Cramblitt (PhantomsDad)
206         * Change Festival voices from ini to xml format.  Permit translators to translate voice names.
207         * Add "--enable-kttsd-gstreamer" option to configure, defaulting to no.
208           Warn packagers not to distribute gstreamer in binary packages of kdeaccessibility as it
209           creates unwanted dependencies.
211 2004-12-18  Gary Cramblitt (PhantomsDad)
212         * Remove kcmkttsmgr.  Use kcmkttsd instead.
214 2004-12-14  Gary Cramblitt (PhantomsDad)
215         * Under KDE 3.2, FestivalInt plugin automatically finding /usr/share/festival, rather
216           than /usr/bin/festival.
218 2004-12-12  Release 0.2.0.  First public release.
220 2004-12-09  Gary Cramblitt (PhantomsDad)
221         * Require GStreamer >= 0.8.7.
222         * Bug.  Always using default GStreamer sink in KTTSD.  Honor user's choice now.
224 2004-12-07  Gary Cramblitt (PhantomsDad)
225         * Add Festival Czech voice.
226         * Apply some Juk patches to GStreamerPlayer.
228 2004-12-06  Gary Cramblitt (PhantomsDad)
229         * Initial, but primitive support for SSML with Hadifix.
231 2004-12-03  Gary Cramblitt (PhantomsDad)
232         * Audio players are now plugins.  This permits distribution of binary packages
233           without GStreamer being a mandatory dependency.
235 2004-12-02  Gary Cramblitt (PhantomsDad)
236         * Bypass stretching (overall Speed setting) when utterance contains SSML.  sox
237           mangles SSML pitch settings.
239 2004-12-01  Gary Cramblitt (PhantomsDad)
240         * Some code reorganization.  New TalkerCode object in libkttsd.
241         * Better Talker selection dialog when changing Talker in Jobs tab.
243 2004-11-29  Gary Cramblitt (PhantomsDad)
244         * When clicking Test button, now honors users output method (arts or gstreamer) and
245           overall Audio Speed setting.
246         * Add option for GStreamer output sink.
248 2004-11-27  Gary Cramblitt (PhantomsDad)
249         * Extremely rudimentary support for SSML/Sable using FestivalInt plugin.  If it works for
250           you, it will be minor miracle.
251         * In FestivalInt configuration dialog, do not enable OK button if EXE Path is invalid.
252         * When Editing existing FestivalInt configuration, do not inadvertently change the selected
253           voice when rescanning.
254         * In FestivalInt configuration dialog, disable voice combo box until scan has been clicked.
256 2004-11-26  Gary Cramblitt (PhantomsDad)
257         * Slight throughput improvement by eliminating pause at start of each Festival utterance.
258         * Bug fix.  Can find synthesizers when HOME env variable is in the path.
260 2004-11-25  Gary Cramblitt (PhantomsDad)
261         * Add Finnish Male voice (http://www.ling.helsinki.fi/suopuhe/download/)
262         * Improve throughput slightly by emitting Text Started signal after playback has begun.
264 2004-11-24  Gary Cramblitt (PhantomsDad)
265         * Add overall Speed control to KTTSMgr Audio tab.  This permits to speed up speech
266           even if the synth does not support it.  Must have sox installed for this to work.
267         * Add Speed and Pitch controls to Epos plugin.  Also set language.
268         * Better Speed adjustment for HTS voices.
270 2004-11-23  Gary Cramblitt (PhantomsDad)
271         * Add support for OGI English and Spanish voices.
272         * Update Handbook.
273         * Better Spanish translations for voice names.
275 2004-11-22  Gary Cramblitt (PhantomsDad)
276         * Add support for IMS German Festival.
277         * Update Handbook.
279 2004-11-21  Gary Cramblitt (PhantomsDad)
280         * Add volume control to Festival Interactive.
281         * Accelerators for Festival Interactive configuration dialog.
282         * HTS voices only support Volume (not Speed or Pitch)
283         * Talker Codes reflect volume setting.
285 2004-11-20  Gary Cramblitt (PhantomsDad)
286         * Add pitch control to Festival Interactive.
287         * GStreamer plugin.
289 2004-11-17  Gary Cramblitt (PhantomsDad)
290         * Bug fix.  Hosed Talker in KTTSMgr after removing a Talker and clicking Cancel.
291         * In KTTSMgr no longer record LastTalkerID in config file; compute at load time instead.
292         * Change Talker tab in KTTSMgr to "standard" layout.
293         * Bug fix.  Talker matching.  Tended to pick last talker no matter what.
295 2004-11-13  Gary Cramblitt (PhantomsDad)
296         * Fix.  Nothing happens when clicking Configure button for Festival Interactive
297           plugin if your desktop language is not English.  Display translated name for
298           Synthesizer in Talkers tab.
299         * Display translated words for "male", "female", "neutral", "fast", "slow", "medium",
300           "loud", "soft" in KTTSMgr Talkers list and from Jobs "Change Talker" button.
301         * getTalkers() not returning country code as part of Talker Code.
302         * The Command plugin configuration dialog should enable OK button if %t or %f
303           appear in command, or "Send data via stdin" is checked.  Also uncheck this option
304           by default in order for plugin to sense proper configuration.
305         * Add Jorge Luis Arzola to credits as tester.
307 2004-11-11  Gary Cramblitt (PhantomsDad)
308         * Support for Festival 2.0. and Festival MultiSyn voices in FestivalInt plugin.
309         * Query Festival for available voices, rather than scanning for directories.
310         * Support for multiple versions of Festival executable.  Now asks for EXE path rather
311           than voices path.
312         * Allow preload of Festival voices that take a long time to load.
313           If set, Festival is started when KTTSD starts and the voice is loaded.
314         * When stopText() is called and FestivalInt plugin is synthing (not saying) using
315           a pre-loaded voice, instead of killing Festival, which would cost hugely in
316           re-startup time, Festival is allowed to finish synthing and result is discarded.
317           This improves performance when rewinding/fastforwarding.
318         * Corrected FestivalInt voices file as to voice descriptions and languages.
319           Added MultiSyn voices.
320         * Added accelerators and WhatsThis help to FestivalInt, Command, Epos, Flite, and Hadifix
321           configuration dialogs.
322         * Added modal, cancelable, progress dialog while Testing in FestivalInt, Command, Epos,
323           Flite, FreeTTS, and Hadifix configuration dialogs.
324           This prevents a crash when user clicks OK or Cancel before test has completed.
325         * Command plugin always displays configuration dialog when added, i.e., never
326           autoconfigs.
327         * Speed adjustment disabled when using MultiSyn Festival voices.
328         * Allow KTTSMgr screen to be resized to minimum size.  Allow splitter to resize jobs
329           ListView to minimum vertical size.
330         * No longer attempt to build Festival plugin (static linking to Festival/Speech Tools
331           libaries).  User must explicitly request via ./configure --enable-kttsd-festival.
332           Code is woefully behind, I cannot get it to work, and probably wouldn't work
333           anymore even if I could get it to link and get past crash on first call to library.
334           FestivalInt seems to work just fine..grc.
336 2004-11-10  Paul Giannaros (Cerulean)
337         * getTalkerCodes() returning corrupted talker codes.
339 2004-11-04  Gary Cramblitt (PhantomsDad)
340         * Add English languages to FreeTTS desktop file so they show up in Add Talker dialog.
341         * When starting kttsmgr, if no Talkers are configured, default to Talker page.
342         * In kttsmgr, uncheck and disable Enable TTS checkbox until at least one Talker
343           has been configured.  Once at least one Talker is added, enable the checkbox.
344           If all Talkers are removed, uncheck and disable the box and stop KTTSD.
345         * Give kttsmgr window an icon.
346         * Add option to embed KTTSMgr in the system tray.
348 2004-11-03  Gary Cramblitt (PhantomsDad)
349         * Add ability to configure more than one plugin for a language, but with different
350           voices. Call them "talkers".
351         * Improve language selection and management in the KTTSD's configuration. Languages
352           added shouldn't be shown in the list of languages to add. Default languages should
353           show only the current languages. Languages should be shown as names and not codes.
354           Languages should be erased from the default language combo box.  If a plugin does
355           not support a language, it should not be choosable.
356         * Add support for moving a text job to a different talker (language/plugin).
357         * Standarize the .desktop files
359 2004-10-20  Gary Cramblitt (PhantomsDad)
360         * kcm_kttsmgr and kcm_kttsd are now identical libraries/KCModules.
361           Applications should use kcm_kttsd.  When all apps have stopped
362           using kcm_kttsmgr, remove it.
364 2004-10-19  Gary Cramblitt (PhantomsDad)
365         * The following installed files were renamed
366           on or about 19 Oct 2004:
367             In $KDEDIR/share/services/:
368               festival.desktop         -> kttsd_festivalplugin.desktop
369               festivalint.desktop      -> kttsd_festivalintplugin.desktop
370               command.desktop          -> kttsd_commandplugin.desktop
371               hadifix.desktop          -> kttsd_hadifixplugin.desktop
372               flite.desktop            -> kttsd_fliteplugin.desktop
373               epos-kttsdplugin.desktop -> kttsd_eposplugin.desktop
374               freetts.desktop          -> kttsd_freettsplugin.desktop
375             In $KDEDIR/lib/kde3/:
376               libfestivalplugin        -> libkttsd_festivalplugin
377               libfestivalintplugin     -> libkttsd_festivalintplugin
378               libcommandplugin         -> libkttsd_commandplugin
379               libhadifixplugin         -> libkttsd_hadifixplugin
380               libfliteplugin           -> libkttsd_fliteplugin
381               libeposkttsdplugin       -> libkttsd_eposplugin
382               libfreettsplugin         -> libkttsd_freettsplugin
383               
384           Rename libkttsjobmgr to libkttsjobmgrpart per kdelibs/NAMING convention.
385               
386           There is a new shell script, clean_obsolete.sh that will remove these
387           obsolete files from your system.
388         
389 2004-10-14  Gary Cramblitt (PhantomsDad)
390         * Fix crash when clicking Cancel to prompt for Other language code, or user
391           enters an invalid language code.
392         
393 2004-10-13  Gary Cramblitt (PhantomsDad)
394         * libktts is now a versioned shared library.  You may need to remove the
395           unversioned library, ie.
396              rm $KDEDIR/lib/libktts.*
397              
398 2004-10-13  Gary Cramblitt (PhantomsDad)
399         * Revert previous change.  Sorry.
401 2004-10-13  Gary Cramblitt (PhantomsDad)
402         * Remove versioning from libkttsd.
403           NOTE: After rebuilding and installing, you will want to delete
404                 the following file:
405                   $KDEDIR/lib/libkttsd.so.1.0.0
407 2004-10-12  Gary Cramblitt (PhantomsDad)
408         * Added Handbook.
409         * Help button and system tray content menu display Handbook.
410         
411 2004-09-07  Gary Cramblitt (PhantomsDad)
412         * Added 6 new HTS voices for Festival and FestivalInt plugins.
413           Courtesy of "N.Cat" Triskelios.
414           Download the voices from http://hts.ics.nitech.ac.jp/
415           
416 2004-09-04  Gary Cramblitt (PhantomsDad)
417         * Rename Hadifax to Hadifix.
418           NOTE: After rebuilding and installing, you will want to delete the
419                 following files:
420                   $KDEDIR/lib/kde3/libhadifaxplugin.la
421                   $KDEDIR/lib/kde3/libhadifaxplugin.so
422                   $KDEDIR/share/services/hadifax.desktop
424 2004-09-02  Paul Giannaros
425         * FreeTTS plugin.
426         
427 2004-08-28  Gary Cramblitt (PhantomsDad)
428         * GStreamer player added.  Doesn't work right now because gstreamer 0.6
429           has issues with wav files.  Try again when KDE bindings (gst) have been
430           updated to gstreamer 0.8.
431         * If jobNum parameter in dcop calls is 0, default to last job queued by the
432           application, or if no such job, the current job (instead of last job).
433         * After call to stopText, if there more speakable jobs in the queue, they begin
434           speaking.
435         * Emit textPaused and textStopped signals as documented.
436         * Fix bug in festivalint plugin.  Hangs sometimes with short utterances caused
437           by writing to Stdin before Stdin buffer is empty.
438         * Better sentence parsing.
439         * Minor fixes to kttsjobmgrpart.
440         
441 2004-08-09  Gary Cramblitt (PhantomsDad)
442         * Remove requirement to copy pluginconf.h to $KDEDIR/include when running designer
443           against plugin configuration widgets.
444         * Epos plugin not listing codecs.
445         * Some plugins listing codecs multiple times.
446         * Select and ensure default language visible when first displaying kttsmgr.
447         * Auto select and prepare Properties tab when adding a new language in kttsmgr.
448         
449 2004-08-08  Gary Cramblitt (PhantomsDad)
450         * Add plugin for Epos TTS Synthesis System (czech and slovak).
451         
452 2004-08-07  Gary Cramblitt (PhantomsDad)
453         * Existing release marked with tag ktts-0-1.
454         * New version of KTTS is 0.2.
455         * Many changes to KTTSD and the KTTSD plugins.
456         * QThreads have been mostly eliminated, which were causing anomalies.
457         * See libkttsd/pluginproc.h for the new plugin API.  The new API is backwards
458           compatible to the old API.
459         * Plugins now perform synthesis separate from audibilizing, but they may do
460           both if needed.  If a plugin supports separate synthesis, it returns True
461           in supportsSynth() method.
462         * If a plugin supports separate synthesis, KTTSD sends the synthesized audio file
463           to aRts for playback.  The playback code has been designed with future
464           alternate playback plugins in mind, example gstreamer.  (The code was adapted
465           from Juk with minor changes.)
466         * Plugins may work asynchronously, provide status via state() method and emit
467           signals when an operation has completed.  If a plugin supports asynchronous
468           operation, it returns True in supportsAsync() method.
469         * If a plugin does not support asynchronous operation, it is wrapped in a QThread,
470           which is the same as before.  See threadedplugin.h/cpp.
471         * Because playback is separate from synthesis and plugins work asynchronously,
472           pauseText or stopText _immediately_ pause or stop playback in mid-sentence.
473         * New plugin, flite, added for direct support of Festival Lite.
474         * The festivalint, command, and hadifax plugins were rewritten to support
475           these new capabilities.  
476         * Need someone to rework the freetts plugin.  I don't have JVM.
477         * Each plugin (except festival and freetts) now has a "Test" button on the
478           configuration dialog.
479         * The option to play a sound on text interruption now works.
480           
481 2004-07-10  Gary Cramblitt (PhantomsDad)
482         * Warn user if festival not installed.
483         * Install voices data file for festival interactive plugin even if
484           festival plugin not installed.
486 2004-06-05  Gary Cramblitt (PhantomsDad)
487         * Draft KDE Text-to-Speech API Draft 3.
488         * Removed concept of paragraphs.
489         * Added concept of text job parts.
490         * Added sayScreenReaderOutput method.
491         * Replaced nextSenText, prevSenText, nextParText, prevParText with moveRelTextSentence.
492         * Added jumpToTextPart.
493         * Removed paragraph settings from configuration dialog.
494         
495 2004-05-31  Gary Cramblitt (PhantomsDad)
496         * Move speaking of notifications to KTTSD and persist notify settings.
497         * Clean up kcmkttsmgr.desktop and install to correct place.
498         
499 2004-05-23  Gary Cramblitt (PhantomsDad)
500         * Add option to speak KNotify notifications.
501         
502 2004-05-22  Gary Cramblitt (PhantomsDad)
503         * Change menu item to "Speak Text" on the Tools menu in app-plugins.  Also start KTTSD if it is
504           not running.
506 2004-05-21  Gary Cramblitt (PhantomsDad)
507         * Bug fix.  Upon startup of kttsmgr, Remove button and Properties tab not enabled despite
508           default language selected.
509           
510 2004-05-19  Gary Cramblitt (PhantomsDad)
511         * Allow kttsmgr screen to be resized as narrow as possible.
512         * Correct some mispellings.
513         * When calling reinit() pauseText only if isSpeakingText().
514         
515 2004-05-18  Gary Cramblitt (PhantomsDad)
516         * Reinit() without losing existing queued text jobs, messages, or warnings.
517         * When kttsd restarts because of reinit(), job manager part refreshes list.
519 2004-05-17  Gary Cramblitt (PhantomsDad)
520         * Fix hang when calling reinit() while speaking.
521                         
522 2004-05-15  Gary Cramblitt (PhantomsDad)
523         * Lots of changes:
524         *   Defined the KDE Text-to-speech API.  See /libktts/kspeech.h.
525         *   Moved all the GUI stuff out of KTTSD into kttsmgr.  KTTSD is a pure non-GUI deamon now.
526         *   Added text job manager as a KPart (kttsjobmgr) for GUI interface.
527         *   Replaced existing configuration manager (kcmkttsd) with kcmkttsmgr, which includes kttsjobmgr.
528         *   Fixed several typos and minor bugs.
529         *   Fixed Kate and KHTML Plugins.
530         *   Updated README, TODO and this file.
531         *
532         * IMPORTANT note to developers using KTTSD:  The startText, stopText, resumeText DCOP
533         *   methods now take a jobNum argument, which you can code as 0 to operate against the last text
534         *   job your app queued.  See /plugins/kate-plugin/katekttsd.cpp for example, or /libktts/kspeech.h.
535         
536 2002-11-21  Pupeno  <pupeno@pupeno.com>
538         * Full port to the new architecture finished. Some fine tunning still needed.
540 2002-09-25  Pupeno  <pupeno@pupeno.com>
542         * Festival Cliente/Server plug in added. Festival plug in was added initially in the project. FreeTTS never was meant to work yet.
544 2002-07-28  Pupeno  <pupeno@pupeno.com>
546         * ChangeLog created.