2006-11-02  Gary Cramblitt (PhantomsDad)
        * Add support for new Vietnamese voices to festivalintvoices file.  Get them at http://sourceforge.net/projects/vietnamesevoice.

2006-02-09  Gary Cramblitt (PhantomsDad)
        * Use KDE_CHECK_{HEADER,LIB} instead of AC_CHECK_{HEADER,LIB} to locate alsalib.

2006-02-07  Stephan Johach
        * Fix translation of "Speak Text" in kate/ktextedit.

2006-02-06  Gary Cramblitt (PhantomsDad)
        * Bump version to 0.3.5.2.
        * Fix BUG:121427 Translations sometimes not working due to incorrect catalog
          insertion/removal.

2006-01-20  ======== Release v0.3.5.1 with KDE 3.5.1

2006-01-13  Gary Cramblitt (PhantomsDad)
        * Fix BUG:120083 buffer length problem in Epos and Command plugin.
        * Fix BUG:115795 Don't try to start the Epos server for every utterance.
        * Epos server command changed from epos to eposd.  Epos client command changed from
          say to say-epos.  These changes appeared around Epos v2.5.35.  Enhance to try for these
          automatically.

2006-01-10  Gary Cramblitt (PhantomsDad)
        * Bug fix.  Pausing when popping up status in systray.
        * Plug small memory leak.
        * Allow user to specify custom ALSA device name.

2006-01-09  Gary Cramblitt (PhantomsDad)
        * Fix BUG:119753 Freezing when removing a speaking text job speaking on AlsaPlayer.
          AlsaPlayer now uses non-blocking pcm open and polling.
        * The ALSA device list pickable by user is now restricted to "default" and available
          "plughw" devices.
        * The following parameters may be placed in the [ALSAPlayer] section of
          ~/.kde/share/config/kttsdrc:
            PcmName=default    (Any valid alsa pcm device, but your on your own.  Examples:
                                dmix, hw:1,0)
            DebugLevel=1       (0 = errors only; 1 = messages; 2 = verbose debug)
            PeriodSize=128     (Number of frames in the ALSA buffer between interrupts.
                                If you have trouble, try adjusting up or down.)
            Periods=8          (Same)
        * If the ALSA pcm does not support pausing, simulates by not writing to the
          pcm anymore, which will cause a slight delay, and underruns,
          but that's the best we can do, I suppose.
        * Fix bug.  When starting KTTSMgr, it loaded the aRts plugin to determine if aRts is
          available.  But this started the aRts server and if user's machine does not have
          proper audio sharing enabled, caused "device busy" errors.  Now it starts the aRts
          server only when playback begins the first time.
        * Bump version from 0.3.5 to 0.3.5.1.

2006-01-06  Gary Cramblitt (PhantomsDad)
        * Fix BUG:118016 Not loading plugins when desktop language is not ISO-8859-1.

2005-12-03  Jürgen Zdero
        * Add German chat filter by Jürgen Zdero.

2005-11-13  Gary Cramblitt (PhantomsDad)
        * BUG:116031 Fix appendText method.  Add version method to dcop interface.
          This change did not make it into the KDE 3.5 release.

2005-11-29  ======== Release v0.3.5 with KDE 3.5

2005-10-16  J. Riddell
        * Make install error.  Install the Hadifix icons.

2005-07-19  Gary Cramblitt (PhantomsDad)
        * Name kept .wav files in format kttsd-jjjjjjjj-ssssssss.wav where jjjjjjjj is the job 
          number zero-filled to the left and ssssssss is the sentence sequence number zero-filled
          to the left.

2005-07-01  Gary Cramblitt (PhantomsDad)
        * Since ALSA plugin seems to work pretty well, enable building --without-arts and build
          ALSA plugin by default (if headers found).

2005-06-25  Gary Cramblitt (PhantomsDad)
        * The XML Transformer filter now applies itself when the root element OR doctype and appId match.

2005-06-12  Gary Cramblitt (PhantomsDad)
        * New aKode audio plugin.  Build it with ./configure --enable-kttsd-akode.
          There are a couple of problems.  See README players/akodeplayer/README.
        * Activate rich speak (XHTML to SSML) in Konqueror plugin.  To speak richly,
          you must configure the xhtml2ssml_simple XML Transformer plugin.

2005-06-03  Gary Cramblitt (PhantomsDad)
        * New ALSA audio plugin.  Build it with ./configure --enable-kttsd-alsa for now.
        * New Qt Rich Text to Plain Text filter by David Powell.

2005-04-30  Gary Cramblitt (PhantomsDad)
        * Change Current Sentence widget in Jobs tab to KTextEdit to avoid resizing when text does
          not fit in box.
        * HTML to SSML now working pretty well.  Note that you must
            1.  Have Festival 1.95 installed.
            2.  Have rab_diphone voice installed.
            3.  Have xsltproc installed.
            4.  If you have Festival Talker configured, reconfigure it (Edit) so that it will detect
                if you have rab_diphone voice installed.  You must hit the Apply button.
            5.  Enable XML Transformer filter and point it to xhtml2ssml_simple.xsl stylesheet.
            6.  Right now, only speaks HTML from Konqi if you paste HTML from clipboard.
                Speak button in Konqi not yet enabled until I get some confidence it is working well.

2005-04-23  Gary Cramblitt (PhantomsDad)
        * Break sentences longer than 600 characters into shorter sentences by changing comma to
          period.  This prevents Festival from droning on lower and lower in tone until it is
          unintelligible or crashes.

2005-04-22  Gary Cramblitt (PhantomsDad)
        * If resumeText is called on a speaking job, do not restart it.

2005-04-21  Gary Cramblitt (PhantomsDad)
        * New Hungarian Hadifix (mbrola and txt2pho) voice available at
            http://tkltrans.sourceforge.net/
          Since Hungarian requires ISO 8859-2 character encoding, added encoding option to
          Hadifix plugin.  Also, Hadifix plugin auto-selects a voice matching the user's
          chosen language.
        * Abbreviate USA and UK country names to save space.
        * Display male/female icons in Festival Interactive configuration dialog.
        * Use new Select Talker dialog in Talker Chooser filter.

2005-04-17  Gary Cramblitt (PhantomsDad)
        * Actions to be taken on notifications may now be specified at three levels
            Specific event of specific application
            All other events of specific application
            All other events
        * When the last event of an application is deleted, delete the app from
          Notifications list.

2005-04-12  Gary Cramblitt (PhantomsDad)
        * Enhanced notification options.  Ability to customize each application event.
        * Enhanced Talker chooser for notifications and Job Manager.
        * Fix bug in Talker matching algorithm.

2005-03-18  Gary Cramblitt (PhantomsDad)
        * Added --systray cmdline option to KTTSMgr, which causes it to start minimized in system
          tray.
        * Added --autoexit cmdline option to KTTSMgr, which causes it to exit when no longer
          speaking any text jobs.
        * Added AutoStartManager and AutoExitManager options to config.  These cause kttsd
          to automatically start KTTSMgr when a text job starts, and automatically exit
          KTTSMgr when all text jobs have finished speaking.

2005-03-16  Gary Cramblitt (PhantomsDad)
        * Bug fix.  Interruption messages are spoken using the Talker of the interrupting message.
          So if default Talker is en, and you do sayMessage "Guten Tag" "de", the "Text Interrupted.
          Message" is spoken using German Talker.  Interruption messages should speak using the
          default Talker.

2005-03-13  Gary Cramblitt (PhantomsDad)
        * Bug.  SBD Filter turned off by default.  Not good!
        * When running kttsd and no Talkers or Filters have been configured, automatically
          attempt to configure them.  Try to configure a Talker in the user's desktop language
          and if that doesn't work, in English.  Automatically configure the Standard
          Sentence Boundary Detector.

2005-03-12  Gary Cramblitt (PhantomsDad)
        * Change toolbar buttons on Jobs tab to push buttons so they can be used from keyboard.
          Clean up screen layout and add WhatsThis help.
        * Added sayText convenience method to kspeech.h, which combines setText and startText
          into a single call.  Be sure to update kdelibs/interfaces/kspeech before attempting to
          compile kttsd:
            cd kdelibs/interfaces/kspeech
            cvs up
            make install
        * When starting or restoring KTTSMgr, defaults to Jobs tab if visible.
        * When clicking on Jobs tab, warn user if there are config changes not yet saved.

2005-03-09  Gary Cramblitt (PhantomsDad)
        * Add Hold and Resume items to systray menu.

2005-03-06  Gary Cramblitt (PhantomsDad)
        * Consolidated all the translation catalogues into single catalog called "kttsd".

2005-03-05  Gary Cramblitt (PhantomsDad)
        * Add support for Kiswahili, Zulu, and Ibibio Festival languages.  Get them at
          http://www.llsti.org/index.htm.  Note that Ibibio does not have an assigned two-letter
          (iso 639) code, so I gave it Zulu (zu), which is probably as bad as saying that English
          is French, but it cannot be helped.  The Ibibio and Zulu voices will only speak valid
          Ibibio or Zulu text, so the Test button is non-functional for them until translators
          provide translations.

2005-03-02  Gary Cramblitt (PhantomsDad)
        * BUG:100600 Fix for messages and warnings not spoken when text job is paused.
        * Bug.  Talker Chooser claims it can autoconfigure itself, but it cannot really.
        * Allow to remove any Filter.

2005-02-17  Gary Cramblitt (PhantomsDad)
        * Remove festival/ and festivalcs/ plugins from source tree.  AFAIK, these plugins don't work
          and nobody is using them.  And these are confusing packagers who think we have a build
          dependency on Festival and Speech Tools libraries. Use festivalint/.

2005-02-15  Gary Cramblitt (PhantomsDad)
        * Translations now working.
        * Include a copy of kdelibs/interfaces/kspeech in compat/ dir.  This permits distribution
          and compilation of KTTS for KDE less than 3.4.
        * Support for Italian voices.  Download from
          http://www.csrf.pd.cnr.it/TTS/It-FESTIVAL-download.htm.
          or http://mirko.lilik.it/Italian-FESTIVAL.zip

2005-02-05  Gary Cramblitt (PhantomsDad)
        * Version bumped to 0.3.0.
        * Russian Festival voice added to voices file.  Download voice from
          http://nshmyrev.narod.ru/festival/festival.html.  Must have Festival 1.95 beta or later.
          Untar to festival/lib/voices/russian/ directory.  Encoding must be one of the
          single-byte cryllics, such as KOI8-R.
        * Ability to load/save Talker Chooser and XML Transformer configurations.
        * Some bug fixes related to Filters.

2005-01-24  Gary Cramblitt (PhantomsDad)
        * Add Talker Chooser Filter.
        * Add option on Audio tab to preserve generated audio files by copying to user-specified
          directory.

2005-01-22  Gary Cramblitt (PhantomsDad)
        * Allow filtering of notifications.  (only setText and appendText are currently filtered.)
        * Fix bug.  Synchronous filters not being run.

2005-01-21  Gary Cramblitt (PhantomsDad)
        * Sentence Boundary Detector plugin now active.  This means that SSML is parsed into
          sentences and therefore can be rewound/advanced by sentence.  It also means that
          KTTS no longer crashes (taking KDE and X11 with it) on large HTML/SSML files.
        * Filters can be applied based on the DCOP Application ID of app that queued the text
          job.
        * Filters can be applied based on language of Talker.
        * StringReplacer filter can now load and save word lists to/from external file.
        * Several other bug fixes.

2005-01-13  Gary Cramblitt (PhantomsDad)
        * FilterMgr class now implemented in kttsd, which means that filters now work.  Well
          almost.  See TODO file for some nasty problems.  (Hint: avoid large HTML/SSML pages!)
        * Moved the TalkerCode matching and Talker plugins to TalkerMgr class so both
          Speaker and SpeechData classes can access them.

2005-01-09  Gary Cramblitt (PhantomsDad)
        * Epos plugin defaults to ISO 8859-2 encoding.  Pass encoded text to Epos client
          via Stdin rather than command line to avoid encoding problem.
        * Added encoding parameter to kspeech::setFile method.  This allows for speaking a
          file that is encoded different from global desktop default.

2005-01-07  Gary Cramblitt (PhantomsDad)
        * Start to Filters capability.  StringReplacer Filter implemented in KTTSMgr GUI,
          but not yet implemented in kttsd.

2004-12-31  Gary Cramblitt (PhantomsDad)
        * In KTTSD, if user has not yet configured any Talkers, prompt user and if they click
          Yes, run KTTSMgr.  User has option to turn off prompt.
        * Activate kspeech::showDialog() method.
        * The khmtlktts plugin automatically senses if KTTSD is installed and if not,
          hides menu item.

2004-12-30  Gary Cramblitt (PhantomsDad)
        * Set LANG and LC_CTYPE environment variables before starting subprocess in Epos and
          and Command plugins.  Fix encoding bug in Epos plugin.  Move common encoding routines
          to PluginProc.

2004-12-27  Gary Cramblitt (PhantomsDad)
        * Add encoding option to Festival Interactive Plugin.  When choosing a voice, default the
          encoding option based on voices file.
        * Add support for Polish Festival.

2004-12-21  Gary Cramblitt (PhantomsDad)
        * Require GStreamer 0.8.5 or above in configure.in.in.  SuSE 9.2 users have
          GStreamer 0.8.0, which causes KTTSMgr to immediately crash on startup.

2004-12-20  Gary Cramblitt (PhantomsDad)
        * kdenonbeta/kttsd moved to kdeaccessibility/kttsd.
        * kdenonbeta/kttsd/libktts moved to kdelibs/interfaces/kspeech.  libktts dropped.
        * kdenonbeta/app-plugins/khtml-plugin moved to kdebase/konqueror/kttsplugin.
        * kdenonbeta/app-plugins/kate-plugin moved to kdebase/kate/plugins/ktts.
        * kdenonbeta/app-plugins/katepart-plugin moved to kdebase/kate/plugin/katepartktts.

2004-12-19  Gary Cramblitt (PhantomsDad)
        * Change Festival voices from ini to xml format.  Permit translators to translate voice names.
        * Add "--enable-kttsd-gstreamer" option to configure, defaulting to no.
          Warn packagers not to distribute gstreamer in binary packages of kdeaccessibility as it
          creates unwanted dependencies.

2004-12-18  Gary Cramblitt (PhantomsDad)
        * Remove kcmkttsmgr.  Use kcmkttsd instead.

2004-12-14  Gary Cramblitt (PhantomsDad)
        * Under KDE 3.2, FestivalInt plugin automatically finding /usr/share/festival, rather
          than /usr/bin/festival.

2004-12-12  Release 0.2.0.  First public release.

2004-12-09  Gary Cramblitt (PhantomsDad)
        * Require GStreamer >= 0.8.7.
        * Bug.  Always using default GStreamer sink in KTTSD.  Honor user's choice now.

2004-12-07  Gary Cramblitt (PhantomsDad)
        * Add Festival Czech voice.
        * Apply some Juk patches to GStreamerPlayer.

2004-12-06  Gary Cramblitt (PhantomsDad)
        * Initial, but primitive support for SSML with Hadifix.

2004-12-03  Gary Cramblitt (PhantomsDad)
        * Audio players are now plugins.  This permits distribution of binary packages
          without GStreamer being a mandatory dependency.

2004-12-02  Gary Cramblitt (PhantomsDad)
        * Bypass stretching (overall Speed setting) when utterance contains SSML.  sox
          mangles SSML pitch settings.

2004-12-01  Gary Cramblitt (PhantomsDad)
        * Some code reorganization.  New TalkerCode object in libkttsd.
        * Better Talker selection dialog when changing Talker in Jobs tab.

2004-11-29  Gary Cramblitt (PhantomsDad)
        * When clicking Test button, now honors users output method (arts or gstreamer) and
          overall Audio Speed setting.
        * Add option for GStreamer output sink.

2004-11-27  Gary Cramblitt (PhantomsDad)
        * Extremely rudimentary support for SSML/Sable using FestivalInt plugin.  If it works for
          you, it will be minor miracle.
        * In FestivalInt configuration dialog, do not enable OK button if EXE Path is invalid.
        * When Editing existing FestivalInt configuration, do not inadvertently change the selected
          voice when rescanning.
        * In FestivalInt configuration dialog, disable voice combo box until scan has been clicked.

2004-11-26  Gary Cramblitt (PhantomsDad)
        * Slight throughput improvement by eliminating pause at start of each Festival utterance.
        * Bug fix.  Can find synthesizers when HOME env variable is in the path.

2004-11-25  Gary Cramblitt (PhantomsDad)
        * Add Finnish Male voice (http://www.ling.helsinki.fi/suopuhe/download/)
        * Improve throughput slightly by emitting Text Started signal after playback has begun.

2004-11-24  Gary Cramblitt (PhantomsDad)
        * Add overall Speed control to KTTSMgr Audio tab.  This permits to speed up speech
          even if the synth does not support it.  Must have sox installed for this to work.
        * Add Speed and Pitch controls to Epos plugin.  Also set language.
        * Better Speed adjustment for HTS voices.

2004-11-23  Gary Cramblitt (PhantomsDad)
        * Add support for OGI English and Spanish voices.
        * Update Handbook.
        * Better Spanish translations for voice names.

2004-11-22  Gary Cramblitt (PhantomsDad)
        * Add support for IMS German Festival.
        * Update Handbook.

2004-11-21  Gary Cramblitt (PhantomsDad)
        * Add volume control to Festival Interactive.
        * Accelerators for Festival Interactive configuration dialog.
        * HTS voices only support Volume (not Speed or Pitch)
        * Talker Codes reflect volume setting.

2004-11-20  Gary Cramblitt (PhantomsDad)
        * Add pitch control to Festival Interactive.
        * GStreamer plugin.

2004-11-17  Gary Cramblitt (PhantomsDad)
        * Bug fix.  Hosed Talker in KTTSMgr after removing a Talker and clicking Cancel.
        * In KTTSMgr no longer record LastTalkerID in config file; compute at load time instead.
        * Change Talker tab in KTTSMgr to "standard" layout.
        * Bug fix.  Talker matching.  Tended to pick last talker no matter what.

2004-11-13  Gary Cramblitt (PhantomsDad)
        * Fix.  Nothing happens when clicking Configure button for Festival Interactive
          plugin if your desktop language is not English.  Display translated name for
          Synthesizer in Talkers tab.
        * Display translated words for "male", "female", "neutral", "fast", "slow", "medium",
          "loud", "soft" in KTTSMgr Talkers list and from Jobs "Change Talker" button.
        * getTalkers() not returning country code as part of Talker Code.
        * The Command plugin configuration dialog should enable OK button if %t or %f
          appear in command, or "Send data via stdin" is checked.  Also uncheck this option
          by default in order for plugin to sense proper configuration.
        * Add Jorge Luis Arzola to credits as tester.

2004-11-11  Gary Cramblitt (PhantomsDad)
        * Support for Festival 2.0. and Festival MultiSyn voices in FestivalInt plugin.
        * Query Festival for available voices, rather than scanning for directories.
        * Support for multiple versions of Festival executable.  Now asks for EXE path rather
          than voices path.
        * Allow preload of Festival voices that take a long time to load.
          If set, Festival is started when KTTSD starts and the voice is loaded.
        * When stopText() is called and FestivalInt plugin is synthing (not saying) using
          a pre-loaded voice, instead of killing Festival, which would cost hugely in
          re-startup time, Festival is allowed to finish synthing and result is discarded.
          This improves performance when rewinding/fastforwarding.
        * Corrected FestivalInt voices file as to voice descriptions and languages.
          Added MultiSyn voices.
        * Added accelerators and WhatsThis help to FestivalInt, Command, Epos, Flite, and Hadifix
          configuration dialogs.
        * Added modal, cancelable, progress dialog while Testing in FestivalInt, Command, Epos,
          Flite, FreeTTS, and Hadifix configuration dialogs.
          This prevents a crash when user clicks OK or Cancel before test has completed.
        * Command plugin always displays configuration dialog when added, i.e., never
          autoconfigs.
        * Speed adjustment disabled when using MultiSyn Festival voices.
        * Allow KTTSMgr screen to be resized to minimum size.  Allow splitter to resize jobs
          ListView to minimum vertical size.
        * No longer attempt to build Festival plugin (static linking to Festival/Speech Tools
          libaries).  User must explicitly request via ./configure --enable-kttsd-festival.
          Code is woefully behind, I cannot get it to work, and probably wouldn't work
          anymore even if I could get it to link and get past crash on first call to library.
          FestivalInt seems to work just fine..grc.

2004-11-10  Paul Giannaros (Cerulean)
        * getTalkerCodes() returning corrupted talker codes.

2004-11-04  Gary Cramblitt (PhantomsDad)
        * Add English languages to FreeTTS desktop file so they show up in Add Talker dialog.
        * When starting kttsmgr, if no Talkers are configured, default to Talker page.
        * In kttsmgr, uncheck and disable Enable TTS checkbox until at least one Talker
          has been configured.  Once at least one Talker is added, enable the checkbox.
          If all Talkers are removed, uncheck and disable the box and stop KTTSD.
        * Give kttsmgr window an icon.
        * Add option to embed KTTSMgr in the system tray.

2004-11-03  Gary Cramblitt (PhantomsDad)
        * Add ability to configure more than one plugin for a language, but with different
          voices. Call them "talkers".
        * Improve language selection and management in the KTTSD's configuration. Languages
          added shouldn't be shown in the list of languages to add. Default languages should
          show only the current languages. Languages should be shown as names and not codes.
          Languages should be erased from the default language combo box.  If a plugin does
          not support a language, it should not be choosable.
        * Add support for moving a text job to a different talker (language/plugin).
        * Standarize the .desktop files

2004-10-20  Gary Cramblitt (PhantomsDad)
        * kcm_kttsmgr and kcm_kttsd are now identical libraries/KCModules.
          Applications should use kcm_kttsd.  When all apps have stopped
          using kcm_kttsmgr, remove it.

2004-10-19  Gary Cramblitt (PhantomsDad)
        * The following installed files were renamed
          on or about 19 Oct 2004:
            In $KDEDIR/share/services/:
              festival.desktop         -> kttsd_festivalplugin.desktop
              festivalint.desktop   -> kttsd_festivalintplugin.desktop
              command.desktop     -> kttsd_commandplugin.desktop
              hadifix.desktop     -> kttsd_hadifixplugin.desktop
              flite.desktop      -> kttsd_fliteplugin.desktop
              epos-kttsdplugin.desktop -> kttsd_eposplugin.desktop
              freetts.desktop     -> kttsd_freettsplugin.desktop
           In $KDEDIR/lib/kde3/:
              libfestivalplugin        -> libkttsd_festivalplugin
              libfestivalintplugin   -> libkttsd_festivalintplugin
              libcommandplugin     -> libkttsd_commandplugin
              libhadifixplugin     -> libkttsd_hadifixplugin
              libfliteplugin      -> libkttsd_fliteplugin
              libeposkttsdplugin     -> libkttsd_eposplugin
              libfreettsplugin     -> libkttsd_freettsplugin

          Rename libkttsjobmgr to libkttsjobmgrpart per kdelibs/NAMING convention.

          There is a new shell script, clean_obsolete.sh that will remove these
          obsolete files from your system.

2004-10-14  Gary Cramblitt (PhantomsDad)
        * Fix crash when clicking Cancel to prompt for Other language code, or user
          enters an invalid language code.

2004-10-13  Gary Cramblitt (PhantomsDad)
        * libktts is now a versioned shared library.  You may need to remove the
          unversioned library, ie.
             rm $KDEDIR/lib/libktts.*

2004-10-13  Gary Cramblitt (PhantomsDad)
        * Revert previous change.  Sorry.

2004-10-13  Gary Cramblitt (PhantomsDad)
        * Remove versioning from libkttsd.
          NOTE: After rebuilding and installing, you will want to delete
                the following file:
                  $KDEDIR/lib/libkttsd.so.1.0.0

2004-10-12  Gary Cramblitt (PhantomsDad)
        * Added Handbook.
        * Help button and system tray content menu display Handbook.

2004-09-07  Gary Cramblitt (PhantomsDad)
        * Added 6 new HTS voices for Festival and FestivalInt plugins.
          Courtesy of "N.Cat" Triskelios.
          Download the voices from http://hts.ics.nitech.ac.jp/

2004-09-04  Gary Cramblitt (PhantomsDad)
        * Rename Hadifax to Hadifix.
          NOTE: After rebuilding and installing, you will want to delete the
                following files:
                  $KDEDIR/lib/kde3/libhadifaxplugin.la
                  $KDEDIR/lib/kde3/libhadifaxplugin.so
                  $KDEDIR/share/services/hadifax.desktop

2004-09-02  Paul Giannaros
        * FreeTTS plugin.

2004-08-28  Gary Cramblitt (PhantomsDad)
        * GStreamer player added.  Doesn't work right now because gstreamer 0.6
          has issues with wav files.  Try again when KDE bindings (gst) have been
          updated to gstreamer 0.8.
        * If jobNum parameter in dcop calls is 0, default to last job queued by the
          application, or if no such job, the current job (instead of last job).
        * After call to stopText, if there more speakable jobs in the queue, they begin
          speaking.
        * Emit textPaused and textStopped signals as documented.
        * Fix bug in festivalint plugin.  Hangs sometimes with short utterances caused
          by writing to Stdin before Stdin buffer is empty.
        * Better sentence parsing.
        * Minor fixes to kttsjobmgrpart.

2004-08-09  Gary Cramblitt (PhantomsDad)
        * Remove requirement to copy pluginconf.h to $KDEDIR/include when running designer
          against plugin configuration widgets.
        * Epos plugin not listing codecs.
        * Some plugins listing codecs multiple times.
        * Select and ensure default language visible when first displaying kttsmgr.
        * Auto select and prepare Properties tab when adding a new language in kttsmgr.

2004-08-08  Gary Cramblitt (PhantomsDad)
        * Add plugin for Epos TTS Synthesis System (czech and slovak).

2004-08-07  Gary Cramblitt (PhantomsDad)
        * Existing release marked with tag ktts-0-1.
        * New version of KTTS is 0.2.
        * Many changes to KTTSD and the KTTSD plugins.
        * QThreads have been mostly eliminated, which were causing anomalies.
        * See libkttsd/pluginproc.h for the new plugin API.  The new API is backwards
          compatible to the old API.
        * Plugins now perform synthesis separate from audibilizing, but they may do
          both if needed.  If a plugin supports separate synthesis, it returns True
          in supportsSynth() method.
        * If a plugin supports separate synthesis, KTTSD sends the synthesized audio file
          to aRts for playback.  The playback code has been designed with future
          alternate playback plugins in mind, example gstreamer.  (The code was adapted
          from Juk with minor changes.)
        * Plugins may work asynchronously, provide status via state() method and emit
          signals when an operation has completed.  If a plugin supports asynchronous
          operation, it returns True in supportsAsync() method.
        * If a plugin does not support asynchronous operation, it is wrapped in a QThread,
          which is the same as before.  See threadedplugin.h/cpp.
        * Because playback is separate from synthesis and plugins work asynchronously,
          pauseText or stopText _immediately_ pause or stop playback in mid-sentence.
        * New plugin, flite, added for direct support of Festival Lite.
        * The festivalint, command, and hadifax plugins were rewritten to support
          these new capabilities.  
        * Need someone to rework the freetts plugin.  I don't have JVM.
        * Each plugin (except festival and freetts) now has a "Test" button on the
          configuration dialog.
        * The option to play a sound on text interruption now works.

2004-07-10  Gary Cramblitt (PhantomsDad)
        * Warn user if festival not installed.
        * Install voices data file for festival interactive plugin even if
          festival plugin not installed.

2004-06-05  Gary Cramblitt (PhantomsDad)
        * Draft KDE Text-to-Speech API Draft 3.
        * Removed concept of paragraphs.
        * Added concept of text job parts.
        * Added sayScreenReaderOutput method.
        * Replaced nextSenText, prevSenText, nextParText, prevParText with moveRelTextSentence.
        * Added jumpToTextPart.
        * Removed paragraph settings from configuration dialog.

2004-05-31  Gary Cramblitt (PhantomsDad)
        * Move speaking of notifications to KTTSD and persist notify settings.
        * Clean up kcmkttsmgr.desktop and install to correct place.

2004-05-23  Gary Cramblitt (PhantomsDad)
        * Add option to speak KNotify notifications.

2004-05-22  Gary Cramblitt (PhantomsDad)
        * Change menu item to "Speak Text" on the Tools menu in app-plugins.  Also start KTTSD if it is
          not running.

2004-05-21  Gary Cramblitt (PhantomsDad)
        * Bug fix.  Upon startup of kttsmgr, Remove button and Properties tab not enabled despite
          default language selected.

2004-05-19  Gary Cramblitt (PhantomsDad)
        * Allow kttsmgr screen to be resized as narrow as possible.
        * Correct some mispellings.
        * When calling reinit() pauseText only if isSpeakingText().

2004-05-18  Gary Cramblitt (PhantomsDad)
        * Reinit() without losing existing queued text jobs, messages, or warnings.
        * When kttsd restarts because of reinit(), job manager part refreshes list.

2004-05-17  Gary Cramblitt (PhantomsDad)
        * Fix hang when calling reinit() while speaking.

2004-05-15  Gary Cramblitt (PhantomsDad)
        * Lots of changes:
        *   Defined the KDE Text-to-speech API.  See /libktts/kspeech.h.
        *   Moved all the GUI stuff out of KTTSD into kttsmgr.  KTTSD is a pure non-GUI deamon now.
        *   Added text job manager as a KPart (kttsjobmgr) for GUI interface.
        *   Replaced existing configuration manager (kcmkttsd) with kcmkttsmgr, which includes kttsjobmgr.
        *   Fixed several typos and minor bugs.
        *   Fixed Kate and KHTML Plugins.
        *   Updated README, TODO and this file.
        *
        * IMPORTANT note to developers using KTTSD:  The startText, stopText, resumeText DCOP
        *   methods now take a jobNum argument, which you can code as 0 to operate against the last text
        *   job your app queued.  See /plugins/kate-plugin/katekttsd.cpp for example, or /libktts/kspeech.h.

2002-11-21  Pupeno  <pupeno@pupeno.com>
        * Full port to the new architecture finished. Some fine tunning still needed.

2002-09-25  Pupeno  <pupeno@pupeno.com>
        * Festival Cliente/Server plug in added. Festival plug in was added initially in the
          project. FreeTTS never was meant to work yet.

2002-07-28  Pupeno  <pupeno@pupeno.com>
        * ChangeLog created.
