2003-07-10  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/module_utils.c (module_sigblockall): Don't take any
	arguments.  Let all_signals be an allocated variable, not only a
	pointer.
	(module_audio_output_child): Don't call module_sigblockall with an
	argument.

2003-07-09  Hynek Hanke  <hanke@volny.cz>

	* src/server/sndicon.h: #ifdef -> #ifndef.
	Include glib.h.
	(snd_icon_spelling_get): Prototype updated.

2003-07-08  Hynek Hanke  <hanke@volny.cz>

	* src/tests/run_test.c: Some new functionality added (clear
	screen, indentation)

	* src/tests/general.test: A general tour around SSIP commands for
	LSM 2003.

	* src/c/api/libspeechd.h: Missing prototypes added.

2003-07-07  Hynek Hanke  <hanke@volny.cz>
	
	* src/server/sndicon.c: Use SOUND_DATA_DIR.

	* src/server/speechd.h (SOUND_DATA_DIR): New variable.

	* src/server/dc_decl.h (cb_SoundDataDir): New dotconf callback (+default).

	* config/speechd.conf: DefaultCapLetRecognition set to "none"
	(SoundModule): Renamed from SndModule.
	(SoundDataDir): New option.

2003-07-07  Hynek Hanke  <hanke@volny.cz>
	
	* src/server/sndicon.c: Use SOUND_DIR instead of DATA_DIR.

	* src/server/set.c (SET_SELF_ALL): New macro.

	* src/server/Makefile.am: Use sndatadir instead of datadir.

	* intl/fdset.h (ECapLetRecogn): New type.

	* config/en/spelling_short.conf: Also in capital letters recognition group.	

	* config/en/spelling_long.conf: Also in capital letters recognition group.

	* config/en/sound_icons.conf (capital_letter): New sound icon.

	* config/speechd.conf: cs tables added.

	* sounds/Makefile.am (dist_snddata_DATA): Only install *.wav

	* configure.in (sysconfdir): Default path for sounds is now $datadir/sounds/speechd.

	* src/modules/cstsnd.c: Now uses module_utils.c, converted to the new style of
	output modules.

	* src/server/parse.c (parse_list): LIST CAP_LET_RECOGN_TABLES: New SSIP command.
	(parse_set): SET * CAP_LET_RECOGN_TABLE: New SSIP command.
	(parse_set): SET * CAP_LET_RECOGN: New SSIP command.

	* src/server/dc_decl.h (table_add): New tables group: tables.cap_let_recogn.

	* src/server/speechd.c (speechd_init): New tables group: tables.cap_let_recogn.

	* src/server/dc_decl.h (DefaultCapLetRecognition): New option (+callback, +default).
	(CapLetRecognIcon): New option (+callback, +default).
	(DefaultCapLetRecognTable): New option (+callback, +default).

	* src/server/speaking.c (process_message_punct_cap): Renamed from process_message_punctuation.
	(process_message): Also handle capital letters recognition.

	* src/modules/flite.c (flite_set_voice): Don't use MALE3 for awb.

	* config/speechd.conf: SupportedLanguage deleted. 
	"en" is now first item in LanguageDefaultModule.

2003-07-06  Hynek Hanke  <hanke@volny.cz>
	
	* intl/def.h (SPEECHD_DEFAULT_PORT): Renamed from SPEECH_PORT.

	* src/c/clients/say/say.c (main): Removed junk code.
	Priority changed to new type (SPDPriority).

	* src/tests/run_test.c (main): Check for SPEECHD_PORT in environment variables.

	* src/tests/Makefile.am (clibrary): New test for the C API.

	* src/server/set.c: Use spd_strdup.
	(_spd_set_param_str): First argument changed to char** as we use realloc().

	* src/server/alloc.c (spd_strdup): Now also passes NULL without complaining.

	* src/modules/festival.c (module_close): Wait 5us before subsequent tries
	to stop the module.

	* config/speechd.conf: Most of the options commented out, default values
	are used now instead.

	* src/server/dc_decl.h (cb_Port): New dotconf callback.
	(load_default_global_set_options): Set default SPEECHD_PORT to 9876.

	* src/server/speechd.c (main): Use SPEECHD_PORT.

	* src/server/speechd.h (language_default_modules): New hash table.

	* config/speechd.conf (LanguageDefaultModule): New options.

	* src/server/dc_decl.h (cb_LanguageDefaultModules): New dotconf callback.

	* src/server/speechd.c (speechd_init): Initialize language_default_modules table.

	* src/server/dc_decl.h (cb_DefaultVoiceType): Convert to upper case before comparing.
	(cb_DefaultPriority): Convert to lower case before comparing.

	* src/server/speechd.c (speechd_load_configuration): Load default configuration.

	* src/server/dc_decl.h (load_default_global_set_options): New function.

	* src/c/api/libspeechd.h (SPDVoiceType): New type.
	(SPDPriority): New type.
	New declarations.

	* src/c/api/libspeechd.c (SPD_SET_COMMAND_INT, STR, SPECIAL): spd_set functions are now
	declared by this macro.
	(spd_set_*_table_*): New commands for setting tables.
	(spd_set_voice_*): New commands.
	Priorities are now passed as type SPDPriority.
	

	* src/tests/clibrary.c: A general test of some of the capabilities of the
	C API for Speech Dispatcher.

	* src/server/speaking.c (speak): Check if last_p5_message hasn't been spoken yet.

2003-07-05  Hynek Hanke  <hanke@volny.cz>

	* src/server/dc_decl.h (cb_DefaultVoiceType): Use MALE1, if the specified parameter
	is invalid.

2003-07-05  Hynek Hanke  <hanke@volny.cz>
	
	* src/c/clients/Makefile.am: spd-center removed.

	* src/server/parse.c (parse_char): Check if character != NULL or empty.

2003-07-05  Hynek Hanke  <hanke@volny.cz>
	* src/server/speechd.c (main): Use SIGHUP again instead of SIGUSR2 to reload configuration.

	* src/server/server.c: Don't use alarms for priority 5 handling.

	* src/server/dc_decl.h: Better checking for validity of parameters.
	(GLOBAL_FDSET_OPTION_CB_INT): New macro.
	(GLOBAL_FDSET_OPTION_CB_STR): New macro.
	
	* src/modules/flite.c (module_close): Missing `static' added.

	* src/modules/festival_client.c (festivalClose): Send (quit) to festival server before
	closing pipe.

	* src/audio/spd_audio.c: Check if spd_audio_device is not NULL.

	* intl/def.h (LOG_LEVEL): Unnecessary macro removed.

	* config/en/spelling_long.conf: Table name changed.

	* config/en/keys.conf: Table name changed.

	* config/speechd.conf: Table names changed, default voice now MALE1, not 1.

	* src/modules/festival.c (module_close): Call festivalClose().

	* src/modules/module_utils.c (module_write_data_ok): Check data[0] against 0, not 
	'0' (the character).
	(module_audio_output_child): Close pipes before exiting.

	* src/server/speaking.c (resolve_priorities): Leave at least one message in p5 queue waiting.
	(speak): Speak "last" priority 5 message if there are no msgs waiting and the last
	message said was of priority 5. Set on semaphore after that.

	* src/server/parse.c: Cleaning, using macros, better memmory management.

	* src/server/msg.h (ERR_RATE_TOO_LOW, HIGH): New SSIP messages.

	* src/server/parse.c (parse_history): Don't crash if SSIP "history" is sent alone.

2003-06-27  Hynek Hanke  <hanke@volny.cz>

	* src/audio/spd_audio.c (spd_audio_open): Fill spd_audio_device with NULL if can't open audio.

	* src/modules/festival.c (_festival_parent): Only report number of samples in debugging message.

	* src/modules/module_utils.c (module_audio_output_child): Check if spd_audio_open returns ok.
	Use xfree().

	* src/audio/spd_audio.c: Check parameters for a NULL wave.

	* src/modules/festival_client.c: festivalEmptySocket deleted.

	* src/modules/festival.c (_festival_parent): asserts added.

	* src/modules/festival_client.c (festivalOpen): Added definition of
	speechd_tts_textall.
	(festivalStringToWaveRequest): Use (speechd_tts_textall).

	* src/modules/festival.c: Check if bytes != 0 also in the first run.
	(module_close): Delete the est_ files in tmp if there are any.

2003-06-25  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/module_utils.c (module_strip_punctuation_default):
	Brackets added to the characters to strip.

2003-06-23  Jan Buchal   <buchal@domaciskola.robinson>

	* src/modules/festival.c (festival_set_voice): Set cur_rate
	and cur_pitch to 0 on voice change.

	* src/modules/festival_client.c (festivalSetPitch): Control
	if festival_info is ok.

	* src/server/server.c (serve): Read only BUF_SIZE-1 bytes,
	as BUF_SIZE is with the trailing 0.

2003-06-23  Hynek Hanke  <hanke@localhost.localdomain>

	* src/server/module.c: Renaming to spd_options and spd_num_options.

	* src/server/history.c: Use spd_message_copy for duplicating messages.

	* src/modules/flite.c: Don't include spd_audio.h

	* src/modules/festival_client.c (festival_default_module): Renamed to festivalDefaultModule,
	made public.

	* config/speechd.conf: ApolloDevice option added.

	* src/server/dc_decl.h: Removed ApolloLanguage.

	* intl/module.h: Removed structure ApolloLanguage.

	* src/server/alloc.c (spd_module_free): g_module_close moved to the end.

	* src/modules/module_utils.c (UPDATE_PARAMETER): Stolen from apollo.c
	(UPDATE_STRING_PARAMETER): Burgled from apollo.c

	* src/modules/apollo.c (module_write): Changed arguments.

	* src/modules/module_utils.c (module_get_ht_option): New function.

	* src/modules/apollo.c (module_load): DEVICE defaults to /dev/apollo.
	ApolloDevice is now a dotconf option.


	* src/modules/apollo.c: Include module_utils.c
	Prototypes and modinfo handled by macros.

	* src/server/server.c (queue_message): Use spd_strdup().

	* src/server/speaking.c (process_message_punctuation): Insert coma after spelled punctuation
	characters for better intonation.

	* src/modules/festival.c (_festival_parent): Don't wait for response from child if fwave==NULL.

	* src/server/alloc.c (spd_module_free): New function.

	* src/modules/festival.c (module_close): Delete festival_info when closing.

	* src/server/speechd.h: num_config_options and options aren't global now.

	* src/server/dc_decl.h (dc_cbEndAddModule): Don't abbort if initialization of output module failed.
	(add_config_option): num_config_options now passed as argument.

2003-06-20  Hynek Hanke  <hanke@localhost.localdomain>

	* src/tests/sayfortune.sh: Very simple script using Speech Dispatcher to read a fortune.

	* config/speechd.conf: New options for output modules.

	* src/server/server.c (serve): Use size_t instead of int for _bytes_.

	* src/server/module.c: Changed calls for module_load and module_init,
	reads dotconf callbacks.

	* src/server/dc_decl.h: Now reads configuration in two passes, it includes
	callbacks from output modules.
	(cb_AddModule): Only get the module structure from hash table.
	(cb_fr_AddModule): First-pass AddModule callback, does what cb_AddModule before,
	registers new callbacks.

	* src/server/alloc.c (spd_free): New function (checks if argument isn't NULL).

	* src/modules/festival_client.c (festivalEmpty): Removed.
	(festivalSetPitch): New function for setting pitch mean and stddev.

	* src/audio/spd_audio.c (spd_audio_close): Close audio only if it wasn't closed before.

	* intl/module.h (OutputModule): Changed types of parameters, pause() now returns
	only the position (int) instead of text (char*).

	* intl/fdset.h: Include only once.

	* src/modules/module_utils.c: Many new function and macro utilities 
	aiming to make writing output modules easier.

	* src/module/module_utils.c Proper closing of audio device.

	* src/modules/flite.c: Uses macros for repetitive code, declares it's own
	DotConf options, new pause mechanism, cleaning, ...

	* src/modules/festival.c: Uses macros for repetitive code, declares it's own
	DotConf options, supports pitch setting, allways synchronized with Festival
	server output, new pause mechanism, cleaning, ...

	* src/server/parse.c (parse_pause): Only set flags and add to semaphore.

	* src/server/speaking.c (speaking_pause): Queue message as preprocessed yet.
	(speak): Pause mechanism changed: pause function now called from here depending
	on flags and semaphores (to not block SSIP communication).
	(current_message): Mantain a copy of the last message sent to output module (for
	pause/resume).

	* src/modules/module_utils.c: New functions and macros to help developing output modules.
	(module_getvoice): Accept OutputModule* as parameter.

	* src/modules/flite.c: Cleaned, use module_utils.c functions.
	(module_load): Parameters changed, new options.

	* src/modules/festival.c (_festival_synth): Free thw wave and fwave data.
	(module_init): Free fwave.

	* src/server/parse.c (get_param): Free memmory if there is no parameter to pass.

	* src/server/speechd.c (speechd_init): Don't allocate memmory for logfile.

	* src/server/parse.c (CHECK_SSIP_COMMAND): New macro.

	* src/server/speechd.c (MSG): format_with_spaces deleted.

2003-06-11  Hynek Hanke  <hanke@localhost.localdomain>

	* src/server/speechd.c (speechd_connection_new): Initialize o_buf, o_bytes to 0.


2003-06-09  Jan Buchal  <buchal@brailcom.org>

	* src/tests/Makefile.am: references to multiple_messages removed.


2003-06-08  Hynek Hanke  <hanke@localhost.localdomain>

	* src/server/dc_decl.h (cb_MinDelayProgress): New callback.

	* src/modules/flite.c (module_init): Return -1 if can't set default voice.

	* src/c/api/libspeechd.c: Switched to string-described priorities.

	* config/speechd.conf (MinDelayProgress): New option: how should Speech Dispatcher
	wait before considering tha last message of priority Progress ``the last''.

	* src/server/server.c (queue_message): Use min_delay_progress.

	* intl/fdset.h: min_delay_progress added to TFDSet.

2003-06-05  Hynek Hanke  <hanke@localhost.localdomain>

	* src/server/speechd.h (last_p5_message): Archive last priority ``notification'' message here.

	* src/server/speechd.c (speechd_alarm_handle): Handle alarm for delayed priority 5 messages.
	(speechd_alarm): New function: set alarm to the requested time in microseconds.

	* src/server/msg.h (ERR_UNKNOWN_PRIORITY): New SSIP return message.

	* src/server/parse.c (parse_set): Accept priorities (SET ... PRIORITY name) by their names.

	* src/server/speaking.c (resolve_priorities): Rules for priorities changed.
	(stop_priority_except_first): New function.

	* src/server/alloc.c (speechd_queue_alloc): 2 new priorities.

	* src/server/server.c (queue_message): Priorities changed.

2003-06-03  Hynek Hanke  <hanke@localhost.localdomain>

	* config/speechd.conf: New option ``LogLevel''.

	* src/server/speechd.c (MSG): Use spd_log_level instead of LOG_LEVEL.

	* src/server/speechd.h (spd_log_level): New variable: current log level.

	* src/server/dc_decl.h (cb_LogLevel): New dotconf callback.

	* src/server/speechd.c (speechd_reload_configuration): Reload configuration on SIGHUP.
	(main): Register speechd_reload_configuration for SIGHUP.

2003-06-02  Hynek Hanke  <hanke@localhost.localdomain>

	* src/modules/flite.c (flite_close): Don't panic if stopped around fork().

	* src/server/sndicon.c (sndicon_queue): Don't print out the ugly debuging message.

	* src/server/speaking.c (speak): Don't crash if the data in the message is NULL.

	* src/server/sndicon.c (snd_icon_spelling_get): Cut off the trailing `"'

2003-06-01  Hynek Hanke  <hanke@localhost.localdomain>

	* src/server/speechd.c (MSG): Bug fixed: free allocated memmory.

	* src/server/parse.c (spd_utf8_read_char): Moved from speaking.c

	* src/modules/Makefile.am: module_utils.c added to festival sources.

	* src/server/speaking.c (process_message_spell): The interpunction
	problem solved (inserts punctuation before sound icons text).

	* src/server/speechd.h (sem_messages_waiting): New semaphore.

	* src/server/speaking.c (msglist_insert): Moved from server.c
	(process_message): Moved from server.c
	(process_message_punctuation): Moved from server.c
	(set_speak_thread_attributes): New function: splitted from speak().
	(speak): Use semaphores instead of `busy-wait'.
	(resolve_priorities): New function: splitted from speak().
	(speak): Insert into paused list even messages with priority 3.
	(get_message_from_queue): New function: splitted from speak().
	(get_output_module): New function: splitted from speak().

	* src/server/server.c: Cleaning.

	* src/modules/module_utils.c: New file: Common functions for
	output modules.

	* src/modules/festival.c: Include module_utils.c

2003-05-29  Hynek Hanke  <hanke@volny.cz>

	* src/server/speechd.c (speechd_init): Init max_gid to 0.

	* src/server/sndicon.c: queue_message() calling fixed.

	* src/server/speaking.c (speak): process_message() again under mutex.

	* src/server/dc_decl.h (cb_EndAddModule): Exit on error (bug fixed).

	* src/server/speechd.h (max_gid): New global variable: group id unique identifier.

	* src/server/speaking.c (speaking_stop): Stop the whole message even if it has
	more parts.
	(speaking_stop_all): Stop the whole message even if it has
        more parts.

2003-05-31  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/apollo.c (module_load): Initialize apollo_languages.
	(set_language): Get the language definition parmeters from
	configuration.
	* intl/module.h (SPDApolloLanguageDef): New structure.
	(SPDModuleSettings): New member `apollo_coding'.
	* src/server/dc_decl.h (options): ApolloLanguage added.
	(cb_ApolloLanguage): New dotconf callback.
	* config/speechd.conf: LanguageROM options added to "apollo".

	* src/tests/long_message.c: Omitted newlines added to the
	multiline strings.

2003-05-29  Milan Zamazal  <pdm@brailcom.org>

	* src/tests/long_message.c (main): Split multi-line strings to
	single-line strings.
	* src/tests/multiple_messages.c (main): Likewise.

2003-05-27  Milan Zamazal  <pdm@brailcom.org>

	* src/c/api/libspeechd.c (xmalloc): Prototype declaration fixed.

2003-05-26  Hynek Hanke  <hanke@localhost.localdomain>

	* src/c/api/libspeechd.c (xmalloc): Use unsigned int as it's parameter.

	* INSTALL: Internet links for some of the requiered packages.
	``make all'' moved after the notice about flite with shared
	libraries.

	* configure.in: AC_PROG_CXX deleted, not longer needed.
	AC_CHECK_LIB(recode, main): New check for requiered library.

	* src/server/server.c (process_message_spell): Fixed bug with strlen in for-cycle condition.
	Take into account the changes in snd_icon_spelling_get()
	(process_message_punctuation): Fixed bug with strlen in for-cycle condition.
	

	* src/server/sndicon.c (snd_icon_spelling_get): Optimized for speed.

2003-05-26  Hynek Hanke  <hanke@volny.cz>

	* Speech Deamon renamed to Speech Dispatcher.

2003-05-26  Hynek Hanke  <hanke@volny.cz>

	* src/server/parse.c (parse_set): Handle new SSIP command: SET {SELF|ALL|id} OUTPUT_MODULE module

	* src/server/set.h: Declarations of new functions set_output_module_*

	* src/server/set.c (set_output_module_uid): New function: set other default output module for this client.
	(set_output_module_all): New function.
	(set_output_module_self): New function.

	* src/server/msg.h (ERR_COULDNT_SET_OUTPUT_MODULE): New SSIP message.
	(OK_OUTPUT_MODULE_SET): New SSIP message.
	

2003-05-25  Hynek Hanke  <hanke@localhost.localdomain>

	* src/server/sndicon.c (queue_message): New parameter passed.
	Handle `space' as CHAR parameter.

	* src/server/msg.h (OK_VOICE_LIST_SENT): New SSIP message.

	* src/server/history.c (queue_message): New parameter passed.

	* src/server/server.c (queue_message): New parameter: is it a whole message or only a piece?
	(queue_messages):  New parameter: is it a whole message or only a piece?

	* intl/fdset.h (TFDSetElement): New flag for messages after spelling and punctuation.

	* src/server/speaking.c (speak): Handle priority 3 messages sent in more pieces (after processing).

	* src/server/parse.c (get_param): Parameters aren't enclosed in doublequotes.
	(parse_char): Handle "space" parameter.
	(parse_list): LIST VOICES implemented.


2003-05-22  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/festival.c: All internal objects declared static.
	(module_getparam_int): Use `strtol' instead of `atoi' and be safe
	on conversion failure.
	(module_getvoice): Report "Unknown voice" instead of "Internal
	error".


2003-05-21  Hynek Hanke  <hanke@volny.cz>
	
	* src/server/speaking.c (speak): Don't include process message into mutex.

2003-05-21  Hynek Hanke  <hanke@volny.cz>
	
	* src/modules/festival_client.c (festivalSetRate): New function.

	* src/modules/festival.c (festival_write): Set the appropriate rate.
	(festival_write): Also call festivalSetVoice when the language changes.
	(festival_cur_rate): New variable. (Set rate only when necessary.)
	(_festival_recode): Recode the stream when necessary.
	(festival_write): Call _festival_recode for each incomming data.

2003-05-20  Hynek Hanke  <hanke@volny.cz>

	* src/server/server.c (Module): Added debugging message.

	* src/modules/festival.c (festival_write): Insert one extra space to festival_message.
	More debugging messages.

	* src/modules/festival.c (_festival_synth): Make sure the buffer is empty.
	(_festival_synth): Only process wave if it's not NULL.

	* src/modules/festival_client.c (festivalEmptySocket): New function: clear the data stream.

2003-05-18  Hynek Hanke  <hanke@volny.cz>

	* intl/fdset.h (Module): NO_VOICE: New type of voice

	* config/speechd.conf: New mechanism for loading output modules.

	* src/modules/flite.c (module_load): Initialize the settings tables.

	* src/modules/festival.c (module_getvoice): New function. Get voice name from passed settings.
	(festival_write): Set the appropriate voice.

	* src/modules/festival_client.c (festivalSetVoice): New function.

	* src/modules/flite.c (modinfo_flite): Settings initialization.
	(module_init): New function.
	(module_load): Renamed from module_init().

	* src/modules/cstsnd.c (modinfo_cstsnd): Settings initialization.
	(module_init): New function.
	(module_load): Renamed from module_init().

	* src/modules/festival.c (modinfo_festival): Settings initialization.
	(module_init): New function.
	(module_load): Renamed from module_init().

	* src/modules/apollo.c (modinfo_apollo): Settings initialization.
	(module_init): New function.
	(module_load): Renamed from module_init().
	
	* intl/module.h (SPDVoiceDef): New structure type: Mapping of the symbolic voice names.
	(SPDModuleSettings): New structure type: Settings for the output modules.
	(OutputModule): New item: SPDModuleSettings settings.
	Initialization in other modules changed.

	* src/server/dc_decl.h (cb_AddModule): Now also act as a switcher between contexts.
	Don't initialize the output module, only load it into memmory.
	(cb_EndAddModule): Terminate current context.
	Initialize the output module.
	(cb_AddParam): Add new parameter to the given output module.
	(cb_AddVoice): Add new voice to the given output module.

	* src/server/module.c (init_output_module): New function: initialize output module.
	(load_output_module): Renamed from init_output_module: only load it into memmory.

	* src/modules/festival.c (module_init): Set server_host and server_port according
	to user settings.

2003-05-17  Hynek Hanke  <hanke@volny.cz>

	* src/audio/spd_audio.h: Include flite/flite.h.

	* src/modules/Makefile.am: Don't use C++.
	Link festival.c into a new plugin for Speech Deamon.

	* src/modules/festival_client.c: Festival client/server functions library.

	* src/modules/festival_client.h: Festival client/server functions library.

	* src/modules/festival.c: New Festival output plugin.

2003-05-13  Jan Buchal  <buchal@robinson>

	* src/server/server.c (process_message_punctuation): Only fill new_message if str not NULL.

2003-05-12  Milan Zamazal  <pdm@zamazal.org>

	* configure.in: Missing AC_CHECK_LIB arguments added.

2003-05-11  Hynek Hanke  <hanke@volny.cz>

    	* src/server/server.c (process_message_spelling): Don't queue \r and \n strings when
	not found in sound icons.

	* src/sounds: New directory.

	* src/sounds/Makefile.am: Install sounds.

	* Makefile.am: New directory sounds.

	* src/configure.in: Set datadir to the appropriate path.

	* src/server/sndicon.c: Read sound icons from DATA_DIR

2003-05-11  Hynek Hanke  <hanke@volny.cz>

	* src/c/api/libspeechd.c: Completely reworked.
	All callers changed.

	* src/c/api/libspeechd.h: Completely reworked.
	All callers changed.

2003-05-07  Hynek Hanke  <hanke@volny.cz>

	* src/tests/spelling.test: New test.
	
	* src/server/dc_decl.h: Exit if the specified output module doesn't exist.
	
	* src/tests/punctuation.test: New test.

	* src/server/parse.c: Added "LIST PUNCTUATION_TABLES"
	
	* src/server/server.c (process_message_punctuation): Bug corrected.

2003-05-07  Hynek Hanke  <hanke@volny.cz>
	
	* config/speechd.conf (SndModule): New option: sound module to load.
	Fixed sound->rate in commentaries.

	* src/modules/Makefile.am (cstsnd): New output module for sound.

	* src/modules/cstsnd.c: New output module.
	
	* src/server/sndicon.c (sndicon_queue): Handle icons represented by sounds.

	* src/server/server.c (process_message_punctuation): Handle icons represented by sounds.
	(process_message_punctuation): Don't throw away signs not found in "important" table.

	* src/server/speaking.c (speak): Call sound_module for sounds.

	* src/audio/spd_audio.c (spd_audio_read_wave): New function.

	* src/server/speaking.c (speak): Use sound output module when necessary.

	* src/server/speechd.h (sound_module): New variable.

	* src/server/server.c (process_message_spell): Handle icons represented by sounds.
	(queue_messages): New function. Queue a list of messages.

	* src/server/sndicon.h (snd_icon_spelling_get): New parameter int *sound
	
	* src/server/dc_decl.h (cb_SndModule): Define sound module.

	* src/server/sndicon.c (snd_icon_spelling_get): Handle icons representing sound (wav).

	* intl/fdset.h (EMessageType): New type MSGTYPE_SOUND.

	* src/server/dc_decl.h (cb_AddTable): Accept entries in "".

	* src/modules/flite.c (_flite_synth): Bug with messages not terminated by a dot fixed.

2003-05-06  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/apollo.c (module_init): Set punctuation off.

2003-05-06  Hynek Hanke  <hanke@localhost.localdomain>

	* src/server/history.c (history_get_message): New function.

	* src/server/parse.c (parse_history): HISTORY CURSOR NEXT/PREV changed to FORWARD/BACKWARD.
	(parse_history): HISTORY GET MESSAGE: New SSIP command.

	* src/server/msg.h (OK_CLIENT_ID_SENT): New SSIP message.

	* src/server/history.c (history_get_client_id): New function.

	* src/server/parse.c (parse_history): Added HISTORY GET CLIENT_ID.

	* config/speechd.conf (DefaultClientName): Added "user" entry.

	* src/modules/Makefile.am (AM_CFLAGS): Link libsdaudio dynamically.

	* src/modules/flite.c (_flite_sigblockusr): New function. Block SIGUSR1 signal.
	(_flite_synth): Block SIGUSR1 while sending data to soundcard.
	(_flite_synth): Divide message according to sentences, not lines.

	* src/server/speaking.c (speaking_pause_all): Queue according to the paused clients,
	not the calling one.


2003-05-05  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/festival.cc (modinfo_festival): `filename' removed.

2003-05-01  Hynek Hanke  <hanke@localhost.localdomain>

	* src/modules/flite.c (module_flite): filename entry deleted.

	* src/modules/apollo.c (apollo_is_speaking): Return 2 for ``don't know''
	(module_apollo): filename entry deleted.

	* src/server/speaking.c: is_sb_speaking() can also return 2 for ``don't know'' 

2003-04-29  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/apollo.c (apollo_pause): Call apollo_stop.

	* INSTALL: libfestival-dev and libestools-dev added.
	* configure.in: Call AC_PROG_CXX.
	* src/modules/est_string_config.h: New file.
	* src/modules/Makefile.am: Build the Festival module.
	(AM_CXXFLAGS): New variable.
	* src/modules/festival.cc: Renamed from festival.c.
	(festival_pause): New function.

2003-04-28  Milan Zamazal  <pdm@brailcom.org>

	* src/Makefile.am (SUBDIRS): Process `audio' before `modules'.

2003-04-28  Hynek Hanke  <hanke@localhost.localdomain>

	* src/server/speaking.h: New headers for speaking_pause_all(), speaking_resume_all().

	* src/server/speaking.c (speaking_pause_all): New function.
	(speaking_resume_all): New function.
	(speaking_pause): Reworked.
	(speaking_resume): Reworked.

	* src/server/speechd.h: Removed stop/cancel/pause/resume functions.
	
	* src/server/parse.c (pause): Reworked.
	(resume): Reworked.
	
	
	* src/modules/apollo.c (apollo_pause): New function. Needs some work:)

	* src/modules/flite.c (_flite_speak): Use the spd_audio.c library.
	(_flite_synth): New function. Splitted from _flite_speak.
	(flite_pause): New function. Stop speaking the message and return the rest.

	* src/audio/spd_audio.h: New header file for spd_audio.c.

	* src/audio/spd_audio.c: New file: Audio output for Speech Deamon.

	* configure.in: Build src/audio.	

	* Makefile.am: Build src/audio.

	* src/Makefile.am: Build src/audio.

2003-04-25  Milan Zamazal  <pdm@brailcom.org>

	* INSTALL: Dependency on librecode added.
	* src/modules/Makefile.am (libsdapollo_la_LDFLAGS): -lrecode
	added.
	* src/modules/apollo.c: Include recode.h and stdbool.h.
	(recode_outer, recode_request): New variables.
	(module_init): Initialize them.
	(set_language): Set recoding.
	(apollo_write): Recode data.
	(set_speed): Renamed to set_rate.
	(apollo_write): Change above considered.
	(UPDATE_STRING_PARAMETER): Typo in the new_value NULL test fixed.

2003-04-24  Hynek Hanke  <hanke@volny.cz>

	* config/speechd.conf: english -> en
	
	* src/server/dc_decl.h: speed -> rate
	
	* src/server/speechd.h (fds_allocated): New variable.

	* src/server/sndicon.c (sndicon_key): Reworked, new key format introduced.

	* src/server/parse.c (parse_help): New function, SSIP HELP command.

	* src/server/msg.h (OK_HELP_SENT): New SSIP message.

	* src/server/set.c (set_client_name_self): Control if SET CLIENT argument has the
	proper format.

	* src/server/speechd.h (awaiting_data): Now ordinary dynamic array instead of GArray.
	(o_bytes): Now ordinary dynamic array instead of GArray.
	
	* src/server/parse.c (parse_set): Call the new settings functions.
	(parse_set): Added {id, self, all} to every SSIP settings command.

	* src/server/set.c: New function names set_*_uid, set_*_self, set_*_all.

	* src/server/parse.c (parse): Function moved from server.c.

	* src/server/parse.h: Prototypes for parse.c.

	* config/en/keys.conf: New keys format.

	* intl/fdset.h: speed->rate.

2003-04-24  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/apollo.c: Include math.h.
	(set_speed, set_pitch): Allocate `command' as an empty array.  Use
	`snprintf', not `sprintf'.
	(apollo_write): Negate the return value.
	(send_apollo_command): Send carriage return additionally.
	(apollo_write): Convert line feeds to carriage returns.  Add a
	closing carriage return.

2003-04-23  Milan Zamazal  <pdm@brailcom.org>

	* src/modules/apollo.c: New file.
	* src/modules/Makefile.am (libsdapollo_la_SOURCES)
	(libsdapollo_la_LDFLAGS): New variables.
	(lib_LTLIBRARIES): libsdapollo.la added.

2003-04-18	Hynek Hanke	<hanke@volny.cz>

	* src/server/set.c (set_character_table): New function.
	(set_key_table): New function.
	(set_sound_table): New function.
	
	* src/server/parse.c (parse_set): New settings SSIP commands.
	
	* src/server/server.c (parse): New LIST SSIP command.

	* src/server/sndicon.c (sndicon_list_sound_tables): New function.
	(sndicon_list_char_tables): New function.
	(sndicon_list_key_tables): New function.
	(sndicon_list_punctuation_tables): New function.
	(sndicon_list_spelling_tables): New function.
	(sndicon_list_tables): New function.

	* src/server/dc_decl.h: New configuration options.

	* intl/fdset.h (TFDSetElement): Added tables for characters, keys, sound icons.

	* src/server/speechd.h (TSpeechDTables): New structure. 

	* src/server/speechd.c (speechd_init): Initialize lists of (speechd_init): Initialize lists of tables.tables.

	* config/speechd.conf: New options.

	* tables in config/en/: Added groups, the definition: tag.

	* src/server/msg.h: New SSIP return messages.

2003-04-17  Hynek Hanke  <hanke@volny.cz>

	* src/server/speechd.c (speechd_init): Initialize tables.

	* src/server/speechd.h (TSpeechDTables): New structure (lists of available tables).

2003-04-17	Hynek Hanke	<hanke@volny.cz>

	* src/server/server.c: Bug with cutting of messages when spelling and "punctuating" fixed.

2003-04-17	Hynek Hanke	<hanke@volny.cz>

	* src/server/server.c (queue_message): Additional parameter: type of the message.

	* src/server/server.c (process_message_spell): Free the GString.

	* src/server/sndicon.c (sndicon_icon): Call queue_message with message-type.

	* src/server/parse.c (set punctuation_table): New SSIP command.

	* src/server/msg.h: New return messages.

	* src/server/set.c (set_punctuation_table): New function.

	* src/server/speaking.c (speak): Don't change (spelling, punctuation) non-textual messages.

	* src/server/speechd.c (MSG): Free format_with_spaces memmory.

	* intl/fdset.h (EMessageType): New type for (text, char, key, sound_icon)

	* config/speechd.conf (DefaultPunctuationTable): New option.

2003-04-15	Hynek Hanke	<hanke@volny.cz>

	* INSTALL: Requierement to have automake 1.7+ added.
	Remove autoheader from requiered tools.
	
	* src/server/icons_en_conf: Old version removed.

2003-04-15  Hynek Hanke <hanke@volny.cz>

	* src/clients: Content moved to src/c/ ...

2003-04-15  Hynek Hanke  <hanke@volny.cz>

	* config/speechd.conf (PunctuationSome): New option.

	* intl/fdset.h (TFDSetElement): punctuation_some: new configuration string.

	* src/server/set.c (default_fd_set): Copy also punctuation_some.

	* src/server/dc_decl.h (cb_PunctuationSome): New dotconf callback

	* src/server/server.c (process_message_punctuation): New function, process punctuation.

	* src/clients/libspeechd.c (spd_say_key): Use KEY command.
	Parameter SELF added.

	* src/server/parse.c (parse_stop): Accept ID, ALL, SELF.
	(parse_cancel): Accept ID, ALL, SELF.

	* src/server/speaking.c: Functions regulating speech output moved here.

	* src/server/speaking.h: New header file for speaking.c

	* build.sh: New script for easier building from CVS.

	* config.status config.sub config.guess mkinstalldirs missing depcomp: Removed,
	unnecessary. Now generated by automake -a.


2003-04-14  Hynek Hanke  <hanke@volny.cz>

	* src/server/msg.h: ERR_PARAMETER_INVALID added.

	* src/server/speechd.c: (p_msg_lc), (p_msg_uid_lc): Moved to compare.c

	* src/clients/libspeechd.c (spd_cancel): New function.
	(spd_cancel_fd): New function.

	* src/clients/libspeechd.h (spd_cancel): New function.
	(spd_cancel_fd): New function.

	* src/server/parse.c (parse_set): set spelling parameter switched to on/off.
	(parse_set): set punctuation now accepts {all|some|none}

	* src/server/server.c (process_message_spell): Splitted from process_message.
	Correct UTF-8 handling.
	(spd_utf8_read_char): New function.
	(speak): Bug fixed: Pull message from queue 3 if there are more than zero, not one.
	
	* src/modules/flite.c (flite_write): Speech rate scale up to duration_stretch=4

	* src/server/compare.c: New file, functions for comparing fd's, id's and other
	data in elements of different lists moved here.

	* src/server/compare.h: New header file for compare.c

	* Makefiles: Use AM_CFLAGS instead of CFLAGS.

	* configure.in: Don't call AC_ARG_PROG, it is called before implicitly.

	* depcomp: New script. Needed for automake 1.7.2.

2003-04-12  Milan Zamazal  <pdm@brailcom.org>

	* src/server/parse.c: English grammar and spelling fixes.

2003-04-12  Hynek Hanke  <hanke@volny.cz>

	* src/modules/flite.c (flite_write): Rate scale tweaked.

	* src/server/server.c (speak): If spelling on, convert the message.
	(process_message): New function.

	* src/server/sndicon.c: New file for sound icons related functions.

	* src/server/sndicon.c: New header file for sndicon.c.

	* src/server/speechd.h: +sndicon.h

	* src/server/Makefile.am: Added snd_icon.c, snd_icon.h

	* src/server/parse.c: Use snd_icon.c functions.

	* config/speechd.conf: The various options have some comments now.
	Cleaned.

2003-04-11  Hynek Hanke  <hanke@volny.cz>

	* config/speechd.conf: Moved from speechd.conf.

	* Makefile.am: Added configuration for the new directory config/

	* configure.in: Added configuration for the new directory config/

	* INSTALL: Added info about config/, fixed some paths.

	* config/en: Configuration for English.

	* src/server/set.c (set_spelling_table): New function.

	* intl/fdset.h (TFDSetElement): New entry char* spelling_table. 

	* src/server/dc_decl.h (cb_DefaultSpellingTable): New function.
	(cb_AddTable): Moved from cb_AddSndIcon, apmplified.

	* src/server/parse.c (parse_key): New function.
	(parse_char): New function.
	(get_param): New parameter lower_case: 1 -> convert output to
	lower case.

	* src/server/server.c (parse): SND_ICON -> SOUND_ICON
	(parse): CHAR: new SSIP command, KEY: new SSIP command.

2003-04-11  Milan Zamazal  <pdm@brailcom.org>

	* INSTALL: Order of auto* tools invocations improved.

2003-04-09  Tomas Cerha  <cerha@freebsoft.org>

	* INSTALL (Module): Added `autoheader' to suggested compilation
	process.

2003-04-07  Milan Zamazal  <pdm@brailcom.org>

	* configure.in (AM_CONFIG_HEADER): Generate template for config.h,
	not config.h.in.

2003-04-06  Hynek Hanke  <hanke@volny.cz>

	* src/modules/flite.c (flite_write): Set rate and pitch.
	(flite_write): Support more voices (experimental AWB voice).
	* src/modules/Makefile.am: Include libflite_cmu_time_awb voice.
	* src/server/parse.c (parse_set): New SSIP command SET VOICE added.
	* src/server/set.c (set_voice): New function.
	* src/server/msg.h (OK_VOICE_SET): New SSIP message.
	(ERR_COULDNT_SET_VOICE): New SSIP message.
	* intl/fdset.h: EVoiceType now includes more than one male and female voices. 

2003-04-06  Hynek Hanke  <hanke@volny.cz>
	
	* src/server/msg.h OK_CANCELED: New SSIP message. 

	* src/server/dc_decl.h (cb_AddSndIcons): Typo. 

	* src/server/parse.c: Call the new stop-family functions.

	* src/server/speechd.h: +get_client_uid_by_fd().

	* src/server/set.c (get_client_uid_by_fd): New function.
	(get_client_settings_by_fd): Use get_client_uid_by_fd().

	* src/server/server.c (speaking_uid): New variable.
	(get_speaking_uid ()): New function.
	(speaking_stop ()): Moved from stop_c().
	(speaking_cancel ()): Moved from stop_c().
	(speaking_pause ()): Moved from stop_c().
	(speaking_resume ()): Moved from stop_c().
	(message_list_compare_uid): New function.
	(parse): cancel: new SSIP command.

2003-04-04	Hynek Hanke	<hanke@volny.cz>
	* src/server/server.c (stop_c): Return 0 after resume.
	* src/server/dc_decl.h (cb_AddSndIcons): Accept more files defining icons for the same language.
	* src/modules/festival.c: Prototype for Festival output plugin.
	* src/clients/say.c: Unused variables removed.

2003-04-02  Milan Zamazal  <pdm@brailcom.org>

	* src/server/msg.h: Multiple occurence of
	ERR_COULDNT_SET_PUNCT_MODE removed.

2003-03-30  Hynek Hanke <hanke@volny.cz>

	* src/server/dc_decl.h (cb_AddSndIcons): Read sound icons file
	from SYS_CONF/filename.conf.
	* src/server/server.c (serve): Check if the client connection
	isn't closed yet before write().
	* src/server/Makefile.am: Added snd_icons_en.conf to instalation.
	* src/server/speechd.h: Removed unnecessary history client search
	functions.
	* configure.in: etc/ -> etc/speechd/
	
2003-03-29  Hynek Hanke <hanke@volny.cz>

        * src/server/speechd.h (fdset): Now hash table -> faster searching. 
	* src/server/speechd.h (fd_uid): New hash table for fast searching of unique ids.
	* src/server/speechd.c (speechd_quit): Call FD_CLR for server socket.
	* src/server/server.c (fdset): Also includes non-active connections.
	* src/server/server.c (parse): Accept lower-case commands.
	* src/server/history.c (message_history): New global list for history.
	* src/server/history.c: Switching to global history.
	* src/server/history.h (THistoryClient): Deleted, we will use global list of history.
	* src/server/history.h (THistClientSet): Deleted, configuration moved to TFDSetElement.
	* src/server/parse.c (get_param): Accept longer parameters in quotation marks.
	* intl/fdset.h (TFDSetElement): History settings moved here.

2003-03-27  Hynek Hanke <hanke@volny.cz>
    * src/server/server.c: Compare against \r\n.\r\n only if there are enough bytes.

2003-03-27  Tomas Cerha  <cerha@brailcom.org>

	* INSTALL (Module): `robod' -> `speechd'.

	* INSTALL.in (Module): `robod' -> `speechd'.
	

2003-03-25  Hynek Hanke <hanke@volny.cz>
	* src/server/speechd.c: Logging messages switched to their levels of verbosity.
	* src/server/speechd.c (speechd_modules_terminate()): Call module_speak for each module being closed.
	* src/server/speechd.c (MSG): Now a function instead of macro.
	* src/server/speechd.h (MSG): Declaration.
	* src/server/speechd.h (FATAL) (DIE): Macros moved from src/intl/def.h 
	* src/server/server.c (speak()): Ignore all signals in this thread.
	* src/server/server.c: Logging messages switched to their levels of verbosity.
	* src/modules/flite.c (flite_close): Terminate the flite_speak() thread if speaking.
	* src/server/dc_decl.c (LogFile()): New DotConf callback function.	
	* src/intl/def.h: - MSG, FATAL, DIE
	* speechd.conf: + LogFile settings.

2003-03-24  Hynek Hanke <hanke@volny.cz>
	* src/server/server.c: Changes in SSIP.
	* src/server/set.c: Changes in SSIP.
	* src/server/history.c: Changes in SSIP.
	* src/server/parse.c: Changes in SSIP.
	* src/server/msg.h: Numerical codes of return values added.
	* src/clients/libspeechd.c: Changes in SSIP.
	* src/clients/spd_center.c: Priority 2 in menu -> priority 3.
	* src/clients/speechd.c: Some messages switched to another levels of verbosity.

2003-03-23  Hynek Hanke <hanke@volny.cz>
	* src/modules/flite.c (DEBUG_FLITE): A new switch.
	* src/modules/flite.c (flite_stop()): Send SIGKILL instead of SIGINT.
	* src/server/server.c: All stops are now called in the separate speak() thread (faster).
	* src/server/server.c (fd_settings): now hash_table instead of a list
	* src/server/server.c (speak()): Uses mutexes to be thread safe.
	* src/server/set.c (fd_settings): now hash_table instead of a list
	* src/server/history.c (fd_settings): now hash_table instead of a list
	* src/server/alloc.c: Functions for allocating and freeing data structures;
	* src/tests/long_message.c: New test trying to say two long texts.
	* src/server/speechd.c: select() now doesn't return unless there is some communication.
	* src/server/speechd.c: Speech Deamon now doesn't interrupt client's messages on @quit.
	* src/server/speechd.c: fd_settings now hash_table instead of a list
	* src/server/speechd.c (terminate_client): New function for unloading clients.
	* src/server/speechd.c (terminate_module): New function for unloading modules.
	* src/server/speechd.c (stop_c()): Uses mutexes to be thread safe.
	* src/server/module.c (load_output_module()): Write gmodule* into module_info.
	* src/server/Makefile.am: Added new sources.
	* src/clients/spd_center.c: Now uses priority 3 instead of sending @stops.
	* src/clients/libspeechd.c: (LIBSPEECHD_DEBUG): New define macro for debugging.
	* src/clients/libspeechd.h: (LIBSPEECHD_DEBUG): New define macro for debugging.
	* intl/def.h: (SPEECHD_DEBUG): New preprocesor variable for debugging.
	* intl/module.h (OutputModule): New entry gmodule*
	* Polished.


2003-03-13  Hynek Hanke <hanke@volny.cz>
    * src/modules/flite.c: Now uses threads and processes to get better performance.
    * src/modules/Makefile.am: Links also flite shared libraries.
    * src/clients/libspeechd.c: Cosmetical changes.
    * src/tests: New directory.
    * src/tests/Makefile.am: Makefile for new directory.
    * src/tests/multiple_messages.c: New file, a speed test.
    * src/server/server.c (speaking_module): Now directly a pointer to the module instead of its name.
    * src/server/server.c (speak): speak() is now a separate thread.
    * src/server/speechd.c (main): speak_thread initialization.
    * src/server/speechd.h (speak_thread): New thread for speak().
	* src/Makefile.am: Added new directory tests.
	* configure.in: Added tests for pthread and flite shared libraries.
	* INSTALL: Note about the requierement to have compiled flite with shared libraries.
	* speechd.conf: Default values of speed and pitch of voice now 0, not 100.

2003-03-16  Tomas Cerha  <cerha@brailcom.org>

	* README: Robod -> Speech Daemon.

	* INSTALL: pkg-config and libtool added to requirements.  
	Robod -> Speech Daemon.  Cosmetical changes.

2003-03-13  Hynek Hanke	 <hanke@volny.cz>
	* src/modules/flite.c: Bug with swapped flite_is_speaking() and flite_close() fixed.
	* src/intl/module.h: Bug with swapped flite_is_speaking() and flite_close() fixed.

2003-03-12  Hynek Hanke  <hanke@volny.cz>

	* src/clients/libspeechd.c (spd_say()): Bug with @data off corrected.
	* src/clients/libspeechd.c (spd_voice_rate()): Renamed from spd_voice_speed().
	* src/clients/libspeechd.c (spd_voice_punctuation()): Now accepts 3 values (0=no,1=full,2=some).
	* src/server/server.c (parse()): o_buf now doesn't have fixed size.
	* src/clients/say.c (main()): Things that shouldn't be there removed.
	* src/server/parse.c (parse_set): New SSIP commands for settings.
	* src/server/set.c: New SSIP commands for settings.
	* src/modules/flite.c (flite_pause()): Function removed, unnecessary.
	* src/modules/flite.c (flite_resume()): Function removed, unnecessary.
	* src/modules/flite.c (flite_close()): New function.
	* src/modules/festival.c (festival_pause()): Function removed, unnecessary.
	* src/modules/festival.c (festival_resume()): Function removed, unnecessary.
	* src/modules/module.h (OutputModule): Reworked.
	* src/server/msg.h: New SSIP messages for the settings commands.
	* src/server/set.h: Headers for new settings functions.

2003-03-12  Milan Zamazal  <pdm@brailcom.org>

    * src/clients/libspeechd.c: `speed' -> `rate'.
    * src/clients/libspeechd.h: Likewise.
    * src/clients/spd_center.c: Likewise.


2003-03-09  Hynek Hanke  <hanke@volny.cz>

	* src/clients/libspeechd.c (spd_icon()): New function.
	* src/clients/libspeechd.c (spd_say_letter()): New function.
	* src/clients/libspeechd.c (spd_say_digit()): New function.
	* src/clients/libspeechd.c (spd_say_sgn()): New function.
	* src/clients/libspeechd.c (spd_say_key()): New function.
	* src/clients/libspeechd.c (spd_voice_speed()): New function.
	* src/clients/libspeechd.c (spd_voice_pitch()): New function.
	* src/clients/libspeechd.c (spd_voice_punctuation()): New function.
	* src/clients/libspeechd.c (spd_voice_cap_let_recognition()): New function.
	* src/clients/libspeechd.h: Declarations of new functions.
	* src/server/server.c (queue_message()): Splitted from parse().
	* src/server/server.c (parse()): Added handling for new SSIP command @snd_icon.
	* src/parse.c (parse_snd_icon()): New function.
	* src/server/snd_icons_en.conf: New file. Rules for sound icons in English.
	* src/server/dc_decl.c (cb_AddSndIcons): New DotConf callback.
	* src/server/speechd.h (snd_icon_langs): New hash table for maintaining information about defined sound icons.


2003-03-05  Milan Zamazal  <pdm@brailcom.org>

	* INSTALL: libdotconf added to the required software.  Current way
	of the build process mentioned.

2003-03-04  Milan Zamazal  <pdm@brailcom.org>

	* src/clients/say.c (main): Dummy `cl_active' argument added to
	the `spd_get_client_list' call.

01.02.2003	Hynek Hanke <hanke@volny.cz>
	* Added copyright notices to each file, better comments.
	* doc/: Switched to Texinfo.

11.1.2003	Hynek Hanke <hanke@volny.cz>

	* /src/client/spd_center.c (spdc_complete): String completion from given template.
	* /src/client/spd_center.h (quit()): endwin() added to fix the weird behavior after quitting.
	* /src/client/spd_center.h (TComplete): Data type for string completion.
	* /src/server/server.c: Handling of pause messages moved to stop_c(), because the problem of queues (we can't browse through them) is solved by using list and treating them as semi-queues instead.
	* /src/client/libspeechd.c (spd_history_say_msg()) (spd_history_select_client()) (spd_get_message_list_fd()): New functions.

4.1.2003	Hynek Hanke	<hanke@volny.cz>

	* /src/server/speechd.c (main): Added handling for SIGINT and the function quit() 
	* /src/server/speechd.c (history_list_alloc_message): Bug with not copying the actual data of settings.language,output_module and client_name, but only pointers to them fixed.
	* /src/server/server.c (serve): Bug with the missing FD_CLR() fixed.
	* /src/server/server.c (awaiting_data): the size of awaiting_data array is now handled in speechd.c
	* /src/server/server.c (stop_c): the section handling @stop completely reworked.
	* /src/client/spd_center.c: Implemented command input/menu logic.
	* /src/client/spd_center.c (selected): New data structure for maintaining record of what has the user selected (which client has he chosen, which subclient, which mode of sorting, etc.)
	* /src/clients/spd_center.c (spdc_initialize()): Fills _selected_ with default values.
	* /src/clients/spd_center.c: Strings prepared for gettext().
	* /src/clients/spd_center.h: New header file for spd_center.c
	* /src/clients/spd_center.c (run_cmdl()): Pause and resume functions implemented (pause(), pause(fd), pause_cur_client(), resume(), resume(fd), resume_cur_client()).
	* /src/clients/spd_center.c (run_cmdl()): Stop functions implemented (stop(), stop(fd), stop_cur_client()).
	* /src/server/speechd.c (stop_c): New parameter _target_ for stopping other clients (needed for spd_center).
	* /src/clients/libspeechd.c (spd_stop_fd(fd): Stop messages from other client fd.
	* /src/clients/libspeechd.c (spd_pause_fd(fd): Pause messages from other client fd.
	* /src/clients/libspeechd.c (spd_resume_fd(fd): Resume messages from other client fd.
	* /src/server/parse.c: Added support for @stop, @pause, @resume with parameter.
	* /src/server/set.c: Added support for @stop, @pause, @resume with parameter.
	* /intl/def.h (FATAL()): Now prints the exact line and fil when the error ocured.
	* /intl/fdset.h (TFDSetElement): Added new record int uid for unique id of the client.


16.12.2002	Hynek Hanke	<hanke@volny.cz>

	* /src/server/speechd.c (main): Test for msgs_to_say, select has timeout of 10us, but added a sleep() after each cycle (highly reduces CPU usage).
	* /src/server/speechd.h (msgs_to_say): New global variable: number of messages to be said (for lower CPU usage)
	* /src/client/spd_center.c: New file. Speech Deamon Center -- combined history and configuration client.
	* /src/server/Makefile.am: Sysconfdir passed to gcc as -D from @sysconfdir@ (needed for loading speechd.conf).
	* /src/server/Makefile.am: Libdir passed to gcc as -D from @libdir@.
	* /src/server/history.c (history_say_id()): msgs_to_say incremented.
	* /src/server/history.c (history_get_message_list()): Find proper client, added third parametr client_id.
	* /src/server/history.c: Multiline commands now terminate with '\'.
	* /src/server/history.c (send_data()): char *reply returned is now dynamic.
	* /src/server/parse.c (history_get_message_list()): Added third parametr client_id for @history get message_list.
	* /src/server/set.c (set_client_name()): Now affects also history client settings.
	* /src/client/libspeechd.c: Multiline return values. History get clients/messages function.
8.12.2002	Hynek Hanke	<hanke@volny.cz>

	* Renamed back to Speech Deamon

2.11.2002	Hynek Hanke	<hanke@volny.cz>

	* gdsl --> glib2 transaction
	* polished
	* Autoconf and all it's standard files and various Makefile.am
	* /src/server/msg.h: New file defining the messages transmitted between client and server.
	* /src/server/parse.c: Functions related to parsing the input from the client moved here.
	* /src/server/set.c: Functions related to setting parameters of the client/server session moved here.
	* /src/server/set.c (set_client_name()): New function: @set client_name implemented.
	* /src/server/server.c: Polished, some functions moved to set.c and parse.c.
	* /src/server/server.c (parse()): The ugly 3 static arrays are now dynamic ones defined in robod.h and initialized in robod.c
	* /src/server/history.c (history_cursor_set_last()): Bug fixed: move to the last entry _minus_one_ (this is a property of glib)
	* /src/server/dc_decl.h: Added configuration for DefaultModule, DefaultSpeed, DefaultPitch, DefaultLanguage, DefaultPriority, DefaultPunctuationMode, DefaultClientName, DefaultVoiceType, DefaultSpelling, DefaultCapLetRecognition.
	* /src/server/dc_decl.h: New file with definitions of DotConf callbacks and other things related to DotConf.
	* /src/server/Makefile.am: Added set.c, msg.h, parse.c.
	* configure.in: Configuration for autoconf.
	* /src/client/robodlib.c (rbd_sayf()): New function: the same as say, but formated in the printf() style.
	* /src/client/robodlib.c (rbd_stop()): New function.
	* /src/client/robodlib.c (rbd_pause()): New function.
	* /src/client/robodlib.c (rbd_resume()): New function.
	* /src/client/robodlib.c (rbd_init()): The part where connection name is set now working.

07.07.2002	Hynek Hanke <hanke@volny.cz>
	* /src/server/server.c (history_()): New functions called.
	* /src/server/server.c: Cosmetic changes.
	* /src/server/server.c: History functions moved to history.c.
	* /src/server/server.c: Messages are now inserted on tail of lists and got from it's head.
	* /src/server/history.h: New header file for history commands.
	* /src/server/history.c: New file for history commands.
	* /src/server/history.c (history_get_message_list()): New function.
	* /src/server/history.c (history_cursor_set_last()): New function.
	* /src/server/history.c (history_cursor_set_first()): New function.
	* /src/server/history.c (history_cursor_set_pos()): New function.
	* /src/server/history.c (history_cursor_next()): New function.
	* /src/server/history.c (history_cursor_prev()): New function.
	* /src/server/history.c (history_cursor_next()): New function.
	* /src/server/history.c (history_cursor_get()): New function.
	* /src/server/history.c (history_say_id()): New function.
	* /src/server/history.c (client_compare_id()): Moved from server.c; renamed.
	* /src/server/history.c (histset_compare_fd()): Moved from server.c; renamed.
	* /src/server/history.c (message_compare_id()): Moved from server.c; renamed.
        * /src/server/speechd.c: History clients are now inserted on tail of list. (more logical)
        * /src/server/speechd.c (default_fd_set): Bug with client_name fixed.
        * /src/server/speechd.h (THistSetElement): New type of structure for settings for each active client.
        * /src/server/speechd.h: (ESort) New enum type for sorting modes.
        

07.02.2002	Hynek Hanke <hanke@volny.cz>
	* /src/server/server.c (stop_speaking_active_module): New function divided from stop_c().
	* /src/server/server.c (history_get_client_list): New function implementing @history get client_list
	* /src/server/server.c (message_nto_speak): Changed name from message_to_speak (more logical). Added parameter void* value so that it's useful also as compare function for searching through queues and lists.
	* /src/server/server.c (MessagePausedList): Added list for messages that we get from output queues but it's client is paused. We browse through this list every cycle to see if some client have sent @resume.
	* /src/server/server.c (o_buf[fd][0] = 0;): Bug fixed.
	* /src/server/speechd.h (TFDSetElement): Moved to /include/fdset.h
	* /src/server/speechd.h (EVoiceType): Moved to /include/fdset.h
	* /src/server/speechd.h (client_name): Uncomented, now used.
	* /src/server/speechd.c : Now working with client_name.
	* /src/modules/flite.c (TFDSetElement): Moved to /include/fdset.h
	* /src/modules/flite.c (EVoiceType): Moved to /include/fdset.h
	* /include/fdset.h : New include file used in both modules and server.
