speechd-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] API - Clean up voice/voice_type inconsistancies


From: Jeremy Whiting
Subject: [PATCH] API - Clean up voice/voice_type inconsistancies
Date: Sun, 10 May 2015 20:58:32 -0600

Looks good to me
On May 10, 2015 8:53 PM, "Luke Yelavich" <luke.yelavich at canonical.com>
wrote:

> From: Luke Yelavich <themuso at themuso.com>
>
> The C API has set/get voice_type, the SSIP API has set/get voice. Change
> the
> SSIP API to be consistant with the C API.
>
> The SET VOICE SSIP command is now deprecated, and will be removed in 0.9.
> The server code does provide for a GET VOICE command, but it was not
> documented, so it has been renamed as per above.
> ---
>  doc/ssip.texi                    | 26 ++++++++++++++++++++++++++
>  src/api/c/libspeechd.c           | 16 ++++++++--------
>  src/api/python/speechd/client.py |  2 +-
>  src/server/parse.c               | 10 +++++-----
>  4 files changed, 40 insertions(+), 14 deletions(-)
>
> diff --git a/doc/ssip.texi b/doc/ssip.texi
> index 744b964..eaf6e4e 100644
> --- a/doc/ssip.texi
> +++ b/doc/ssip.texi
> @@ -989,6 +989,32 @@ The default for the Speech Dispatcher implementation
> of SSIP
>  is determined by the @code{DefaultVoiceType} setting in the
>  @code{speechd.conf} file.  The factory default is @code{MALE1}.
>
> +This command is deprecated since Speech Dispatcher 0.8.3. The VOICE_TYPE
> +command replaces this command.
> +
> + at item SET @{ all | self | @var{id} @} VOICE_TYPE @var{name}
> +Set the voice identified by @var{name}.  @var{name} must be one of the
> voice
> +identifiers returned by the command @code{LIST VOICES} (@pxref{Information
> +Retrieval Commands}).
> +
> +There is a standard set of voice identifiers defined in @ref{Standard
> +Voices}.
> +
> +The default for the Speech Dispatcher implementation of SSIP
> +is determined by the @code{DefaultVoiceType} setting in the
> + at code{speechd.conf} file.  The factory default is @code{MALE1}.
> +
> + at item GET VOICE_TYPE
> +Gets the current pre-defined voice. A list of voice identifiers can be
> +obtained by the command @code{LIST VOICES} (@pxref{Information
> +Retrieval Commands}).
> +
> + at example
> +GET VOICE_TYPE
> +251-MALE1
> +251 OK GET RETURNED
> + at end example
> +
>  @item SET @{ all | self | @var{id} @} SYNTHESIS_VOICE @var{name}
>  Set the voice identified by @var{name}.  @var{name} is a voice name
>  recognized by the current synthesizer. It must be one of the names
> diff --git a/src/api/c/libspeechd.c b/src/api/c/libspeechd.c
> index f47baa1..3651232 100644
> --- a/src/api/c/libspeechd.c
> +++ b/src/api/c/libspeechd.c
> @@ -970,28 +970,28 @@ spd_w_set_voice_type(SPDConnection * connection,
> SPDVoiceType type,
>
>         switch (type) {
>         case SPD_MALE1:
> -               sprintf(command, "SET %s VOICE MALE1", who);
> +               sprintf(command, "SET %s VOICE_TYPE MALE1", who);
>                 break;
>         case SPD_MALE2:
> -               sprintf(command, "SET %s VOICE MALE2", who);
> +               sprintf(command, "SET %s VOICE_TYPE MALE2", who);
>                 break;
>         case SPD_MALE3:
> -               sprintf(command, "SET %s VOICE MALE3", who);
> +               sprintf(command, "SET %s VOICE_TYPE MALE3", who);
>                 break;
>         case SPD_FEMALE1:
> -               sprintf(command, "SET %s VOICE FEMALE1", who);
> +               sprintf(command, "SET %s VOICE_TYPE FEMALE1", who);
>                 break;
>         case SPD_FEMALE2:
> -               sprintf(command, "SET %s VOICE FEMALE2", who);
> +               sprintf(command, "SET %s VOICE_TYPE FEMALE2", who);
>                 break;
>         case SPD_FEMALE3:
> -               sprintf(command, "SET %s VOICE FEMALE3", who);
> +               sprintf(command, "SET %s VOICE_TYPE FEMALE3", who);
>                 break;
>         case SPD_CHILD_MALE:
> -               sprintf(command, "SET %s VOICE CHILD_MALE", who);
> +               sprintf(command, "SET %s VOICE_TYPE CHILD_MALE", who);
>                 break;
>         case SPD_CHILD_FEMALE:
> -               sprintf(command, "SET %s VOICE CHILD_FEMALE", who);
> +               sprintf(command, "SET %s VOICE_TYPE CHILD_FEMALE", who);
>                 break;
>         default:
>                 return -1;
> diff --git a/src/api/python/speechd/client.py
> b/src/api/python/speechd/client.py
> index 4c57db0..9d5ccd2 100644
> --- a/src/api/python/speechd/client.py
> +++ b/src/api/python/speechd/client.py
> @@ -1013,7 +1013,7 @@ class SSIPClient(object):
>                 value.lower() in ("male1", "male2", "male3", "female1",
>                                   "female2", "female3", "child_male",
>                                   "child_female")
> -        self._conn.send_command('SET', scope, 'VOICE', value)
> +        self._conn.send_command('SET', scope, 'VOICE_TYPE', value)
>
>      def set_synthesis_voice(self, value, scope=Scope.SELF):
>          """Set voice by its real name.
> diff --git a/src/server/parse.c b/src/server/parse.c
> index 337763b..18fcc4c 100644
> --- a/src/server/parse.c
> +++ b/src/server/parse.c
> @@ -529,13 +529,16 @@ char *parse_set(const char *buf, const int bytes,
> const int fd,
>                 if (ret)
>                         return g_strdup(ERR_COULDNT_SET_VOLUME);
>                 return g_strdup(OK_VOLUME_SET);
> -       } else if (TEST_CMD(set_sub, "voice")) {
> +       } else if (TEST_CMD(set_sub, "voice") || TEST_CMD(set_sub,
> "voice_type")) {
>                 char *voice;
>                 GET_PARAM_STR(voice, 3, CONV_DOWN);
>
>                 SSIP_SET_COMMAND(voice);
>                 g_free(voice);
>
> +               if (TEST_CMD(set_sub, "voice"))
> +                       MSG(1, "The SET VOICE command is deprecated since
> Speech Dispatcher 0.8.3.");
> +
>                 if (ret)
>                         return g_strdup(ERR_COULDNT_SET_VOICE);
>                 return g_strdup(OK_VOICE_SET);
> @@ -956,7 +959,7 @@ char *parse_get(const char *buf, const int bytes,
> const int fd,
>
>         result = g_string_new("");
>         GET_PARAM_STR(get_type, 1, CONV_DOWN);
> -       if (TEST_CMD(get_type, "voice")) {
> +       if (TEST_CMD(get_type, "voice_type")) {
>                 switch (settings->msg_settings.voice_type) {
>                 case SPD_MALE1:
>                         g_string_append(result, C_OK_GET "-MALE1" NEWLINE
> OK_GET);
> @@ -1004,9 +1007,6 @@ char *parse_get(const char *buf, const int bytes,
> const int fd,
>         } else if (TEST_CMD(get_type, "volume")) {
>                 g_string_append_printf(result, C_OK_GET "-%d" NEWLINE
> OK_GET,
>                                        settings->msg_settings.volume);
> -       } else if (TEST_CMD(get_type, "voice_type")) {
> -               g_string_append_printf(result, C_OK_GET "-%d" NEWLINE
> OK_GET,
> -                                       settings->msg_settings.voice_type);
>         } else {
>                 g_free(get_type);
>                 g_string_append(result, ERR_PARAMETER_INVALID);
> --
> 2.1.4
>
>
> _______________________________________________
> Speechd mailing list
> Speechd at lists.freebsoft.org
> http://lists.freebsoft.org/mailman/listinfo/speechd
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.freebsoft.org/pipermail/speechd/attachments/20150510/4c56ccc5/attachment-0001.html>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]