Re: [g-a-devel]Another draft of gnome-speech IDL
- From: Michael Meeks <michael ximian com>
- To: Marc Mulcahy <marc mulcahy sun com>
- Cc: accessibility mailing list <gnome-accessibility-devel gnome org>, Philip Kwok <Philip Kwok sun com>, Paul Lamere <Paul Lamere sun com>, william walker sun com
- Subject: Re: [g-a-devel]Another draft of gnome-speech IDL
- Date: 28 Jun 2002 10:10:36 +0100
Hi Marc,
On Fri, 2002-06-28 at 01:58, Marc Mulcahy wrote:
> 5. To complement the driverInit function, there is now a
> driverShutdown function. Does this seem useful?
What are they for ? why would the client possibly be interested in an
un-initialized object to talk to ? surely the object should be
initialized as soon as it is exposed to the user ?
> 6. I have not yet addressed the issue of how audio should be handled.
> I.E., how should one set the audio format and output device, etc.
> Since we plan to support external synthesizers, is there a good
> general way to support this? Comments welcome.
External synthesisers etc. would seem to me to be very much a separate
layer / interface. But presumably, it'd be possibly to simply proxy this
interface
> I have not adopted Draghi's proposal concerning shifting gnome-speech to a
> speaker-based approach because I don't think it is as straightforward and
> implementable as this proposal. Comments welcome, but I propose moving
> forward with this engine-centric proposal.
I had a thought; which may be interesting - a robustness thing.
Really you need to be able to detect if a client dies - and you need to
be able to associate a client with each request - so for example if
client A says 'pause' and the segv's - that we can still have speech
output from someone else.
Then again multi-client stuff is quite hard. Perhaps it is adequate to
simply quit the server when all the 'SpeechEventCallback's are noticed
to have died.
To that effect I would add:
void deregisterSpeechEventCallback (in SEC cb);
And I would re-name 'Callback' to 'Listener' - that seems more
standard. [ it seems you left a 'long detail' on the end of the method
somehow ].
I'd also counsel that if you invoke a CORBA method, there is little
point scrimping with a 'long detail' - just put a string in and do an
atof for the integer parts.
> If it turns out that
> Gnopernicus implements useful code on top of gnome-speech that we deem
> generally useful, we'll re-vamp gnome-speech 2.0 to take advantage of it.
I think it's very laudable to get something simple, working and robust
out there, and then build complexity on when we fully understand how it
will be (mis) used ;-)
string getParameterValueDescription (string name, any value)
raises (DriverNotInitialized, ParameterNotSupported, WrongValueType);
Why is the description not in the Parameter structure ? and what does
the 'value' connote here ?
any getParameterValue (in string name)
raises (DriverNotInitialized, ParameterNotSupported);
I really would bin un-intialized drivers - it really, really doesn't
seem to make that much sense to me / be useful. I mean - what can the
end API user possibly do about that except call 'initialize' ? - it
just seems pointlessly pedestrian.
That is unless there is some great cost to (re)initialization that I'm
un-aware of.
/* Voice functions */
void setCurrentVoice (string name)
And we're resigned to having only 1 user of the gnome-speech service ?
at least to start with, or at least only 1 person that configures the voice ?
If the voice configuration is a very different interface - used
infrequently and by a different (configuration?) client - it's
important to split this functionality into a different interface.
Indeed - using GConf for it sounds altogether better to me.
Anyway, I hope some of that helps,
Regards,
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]