Re: [g-a-devel]GNOME Speech



Hi Michael,

Thanks for your patches-- I've applied them both.

Also re-namespaced the .server files.

I've also checked in an initial implementation of a new festival driver which doesn't have the annoyance of having to start festival before running the festival driver.

Your experience makes me suspect the IBM viavoice libraries are doing nasty things-- it wouldn't be the first time. I think they do some funky stuff with threading. My experience at Blazie showed that we couldn't produce speech from the Viavoice libs from a forked child process. I'm looking at Festival docs now to add some parameters to the festival driver so I can see if the parameter problem exists for me there too.

Thanks,

Marc

At 11:22 AM 9/12/2002 +0100, Michael Meeks wrote:
Hi Marc,

On Wed, 2002-09-11 at 22:57, Marc Mulcahy wrote:
> Sorry it's been long to get this stuff checked in.  It's in the
> gnome-speech module on the gnome_speech0-1 branch

Nice; FWIW I'd use a consistant set of '_' and '-' delimiters in a tag
name: gnome-speech-0-1 for a sticky tag, and GNOME_SPEECH_1_2_3 for a
version tag :-) that tends to be the standard.

        Also, reading the code - I prefer 8 stop K&R, which is what the gnome
coding standards suggest. If that's hard for you - fine :-) but there is
no need to slavishly follow gtk+ - Owen doesn't eg. in memprof.

        It's really nice to see the BonoboObject inheritance stuff being used
properly - good work. One gotcha is that you can't return NULL strings
from CORBA methods; there is no NULL string concept in CORBA:

diff -u -p -u -r1.7.2.13 ChangeLog
--- ChangeLog   11 Sep 2002 21:38:08 -0000      1.7.2.13
+++ ChangeLog   12 Sep 2002 09:15:44 -0000
@@ -1,3 +1,9 @@
+2002-09-12  Michael Meeks  <michael ximian com>
+
+       * gnome-speech/synthesisdriver.c
+       (impl_getParameterValueDescription): fix uninitialized
+       variable use, and NULL string return.
+
 2002-09-11  Marc Mulcahy <marc mulcahy sun com>

        * drivers/viavoice/viavoicessynthesisdriver.c: Got rid of temp
testing
diff -u -p -u -r1.1.2.3 synthesisdriver.c
--- gnome-speech/synthesisdriver.c      11 Sep 2002 20:58:55 -0000
1.1.2.3
+++ gnome-speech/synthesisdriver.c      12 Sep 2002 09:15:44 -0000
@@ -169,10 +169,7 @@ impl_getParameterValueDescription (Porta
       if (d->value == value)
        break;
       }
-  if (tmp)
-    return CORBA_string_dup (d->description);
-  else
-    return NULL;
+  return CORBA_string_dup (d->description ? d->description : "");
 }

> The problem code is in gnome-speech/synthesisdriver.c.  Have a look at
> impl_getSupportedParameters.  the concept is:

        The code in getSupportedParameters looks fine, assuming priv->name !=
NULL always.

> If you happen to have the Viavoice RPM installed, you'll notice that the
> driver doesn't crash on the call to getSupportedParameters, but that the
> client gets a parameter with an empty string as the name but all other
> fields (min, max, current, enumerated) are fine.

I'm afraid I don't have Viavoice; I'm just eviscerating the contents of
the driver so I can test it anyway.

> I've turned on ORBIT2_DEBUG with both traces and giop, and stuff seems to
> be coming across the wire fine.

        Most curious indeed :-)

> BTW: I've re-written the test (test-speech) as a boring but interactive
> console app which includes a parameter test (option 1).

        Great thanks - I'll have a poke.

        Regards,

                Michael.

--
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




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