- From: Glen Shires <gshires@google.com>
- Date: Sun, 14 Oct 2012 11:21:31 -0700
- To: public-speech-api@w3.org
- Message-ID: <CAEE5bci=g3h6qpBLmoeqBRjZJBHXCORB3zfSu4QBa9Nsq6hCVQ@mail.gmail.com>
Also, there's a syntax error in the first line of Speech Synthesis Example
2. (The Example section is non-normative.)
SpeechSynthesisUtterance u;
should be
var u = new SpeechSynthesisUtterance();
If no disagreement, I'll update the spec on Tuesday with this.
Glen Shires
On Sat, Oct 13, 2012 at 8:31 PM, Glen Shires <gshires@google.com> wrote:
> OK, if no disagreement, I'll update the spec on Tuesday to remove "static"
> from all elements in interface SpeechSynthesis.
>
> Glen Shires
>
>
> On Sat, Oct 13, 2012 at 5:35 PM, Olli Pettay <Olli.Pettay@helsinki.fi>wrote:
>
>> On 10/14/2012 01:27 AM, Glen Shires wrote:
>>
>>> I agree.
>>>
>>> Also, is there any reason not to remove "static" from the following? If
>>> not, I propose removing it here too.
>>>
>>> static readonly attribute boolean pending;
>>> static readonly attribute boolean speaking;
>>> static readonly attribute boolean paused;
>>>
>>> static SpeechSynthesisVoiceList getVoices();
>>>
>>>
>> Right. I'd be surprised if anything needs to be 'static'
>>
>>
>>
>> Glen Shires
>>>
>>>
>>> On Sat, Oct 13, 2012 at 7:56 AM, Olli Pettay <Olli.Pettay@helsinki.fi<mailto:
>>> Olli.Pettay@helsinki.**fi <Olli.Pettay@helsinki.fi>>> wrote:
>>>
>>> static void speak(SpeechSynthesisUtterance utterance);
>>> static void cancel();
>>> static void pause();
>>> static void resume();
>>>
>>> Those shouldn't be static.
>>>
>>>
>>>
>>>
>>>
>>>
>>> On 10/12/2012 01:42 PM, Olli Pettay wrote:
>>>
>>> On 10/12/2012 04:41 AM, Glen Shires wrote:
>>>
>>> I propose the following change to the SpeechSynthesis IDL to
>>> use a callback instead of events. It doesn't change functionality, but does
>>> make the IDL
>>> more well-defined and conventional. (The current IDL breaks
>>> platform conventions, because the speak() method makes a copy of utterance,
>>> and thus
>>> event.target cannot be properly defined, nor can
>>> addEventListener be used in the conventional manner.) The
>>> SpeechSynthesisEvent object is
>>> renamed SpeechSynthesisUpdate (because it is no longer an
>>> event, but rather a callback). If there's no disagreement, I'll update the
>>> spec
>>> with this
>>> on Monday.
>>>
>>> callback SpeechSynthesisCallback = void
>>> (SpeechSynthesisUpdate update);
>>>
>>> interface SpeechSynthesis {
>>> ...
>>> static void speak(SpeechSynthesisUtterance
>>> utterance, SpeechSynthesisCallback callback);
>>> };
>>>
>>> interface SpeechSynthesisUpdate {
>>> enum UpdateType {
>>> "start",
>>> "end",
>>> "pause",
>>> "resume",
>>> "mark",
>>> "boundary",
>>> "error"
>>> };
>>> readonly attribute UpdateType type;
>>> readonly attribute unsigned long charIndex;
>>> readonly attribute float elapsedTime;
>>> readonly attribute DOMString name;
>>> };
>>>
>>> /Glen Shires
>>>
>>>
>>> Looks odd to me.
>>>
>>> Shouldn't it be
>>> interface SpeechSynthesis : EventTarget
>>> {
>>> void speak(SpeechSynthesisUtterance utterance);
>>> EventHandler onspeak;
>>> }
>>>
>>> That way one doesn't need to pass callback to the speak method
>>> all the time.
>>> Just registering once is enough.
>>>
>>>
>>>
>>>
>>> -Olli
>>>
>>>
>>>
>>>
>>
>
Received on Sunday, 14 October 2012 18:22:41 UTC