W3C home > Mailing lists > Public > public-audio@w3.org > July to September 2014

Re: Audio Workers - please review

From: Alex Russell <slightlyoff@google.com>
Date: Fri, 29 Aug 2014 15:44:45 -0700
Message-ID: <CANr5HFX88vRkpBeZ6r-MQE4t2s_cGKRUMMXAz+Vnf=vxkf0mZw@mail.gmail.com>
To: Chris Wilson <cwilso@google.com>
Cc: Joseph Berkovitz <joe@noteflight.com>, Olli Pettay <olli@pettay.fi>, "public-audio@w3.org" <public-audio@w3.org>, "Robert O'Callahan" <robert@ocallahan.org>
I don't see serious problems with this duck-typing.


On Wed, Aug 27, 2014 at 9:31 AM, Chris Wilson <cwilso@google.com> wrote:

> I'm leaning toward simply not directly implementing Worker, then, and
> adding postMessage/onmessage to the AudioWorkerNode interface directly.
>  I'd rather not have one more object hanging around (and have to explain
> that the onmessage has to be set on the .worker, not on the node, e.g.).
>
>
> On Tue, Aug 26, 2014 at 1:22 PM, Joseph Berkovitz <joe@noteflight.com>
> wrote:
>
>> Hmm. I had been wondering about the feasibility of the interface mixin
>> idea, although I liked the simplicity.
>>
>> If there is no precedent in other APIs for mixing in disparate classes
>> like this, and it creates implementation discomfort, I lean towards the
>> earlier approach in which the Worker was a distinct property of the
>> AudioWorkerNode.
>>
>> However in that case I don’t see the need to construct the AudioWorker
>> explicitly in a separate step and shove it into the node -- I’d suggest
>> that it be “pre-manufactured” by createAudioWorker(), as part of the
>> returned AudioWorkerNode. That seems kind of ideal: no separate step for
>> the developer, but a clean separation of concerns for implementors.
>>
>> …Joe
>>
>>
>> On Aug 26, 2014, at 9:38 AM, Olli Pettay <olli@pettay.fi> wrote:
>>
>> On 08/26/2014 07:54 AM, Robert O'Callahan wrote:
>>
>> Ah, thanks.
>>
>> Mixing in a concrete class like that is likely to cause problems for
>> implementors.
>>
>>
>>
>> Yes, and the prototype handling would be rather unexpected.
>> AudioWorkerNode wouldn't have WorkerPrototype as prototype, but
>> AudioNodePrototype.
>> And even more odd is that AudioWorkerNode would inherit EventTarget via
>> AudioNode interface, but
>> re-implement EventTarget via Worker interface.
>>
>> -Olli
>>
>>
>>
>>
>> Rob
>> --
>> oIo otoeololo oyooouo otohoaoto oaonoyooonoeo owohooo oioso oaonogoroyo
>> owoiotoho oao oboroootohoeoro oooro osoiosotoeoro owoiololo oboeo
>> osouobojoeocoto otooo ojouodogomoeonoto.o oAogoaoiono,o oaonoyooonoeo
>> owohooo
>> osoaoyoso otooo oao oboroootohoeoro oooro osoiosotoeoro,o o‘oRoaocoao,o’o
>> oioso
>> oaonosowoeoroaoboloeo otooo otohoeo ocooouoroto.o oAonodo oaonoyooonoeo
>> owohooo
>> osoaoyoso,o o‘oYooouo ofooooolo!o’o owoiololo oboeo oiono odoaonogoeoro
>> ooofo
>> otohoeo ofoioroeo ooofo ohoeololo.
>>
>>
>>
>>
>>          .            .       .    .  . ...Joe
>>
>> *Joe Berkovitz*
>> President
>>
>> *Noteflight LLC*
>> Boston, Mass.
>> phone: +1 978 314 6271
>>        www.noteflight.com
>> "Your music, everywhere"
>>
>>
>
Received on Friday, 29 August 2014 22:45:43 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:50:14 UTC