16:01:17 RRSAgent has joined #audio 16:01:17 logging to http://www.w3.org/2016/06/02-audio-irc 16:01:19 RRSAgent, make logs world 16:01:21 Zakim, this will be 28346 16:01:21 ok, trackbot 16:01:22 Meeting: Audio Working Group Teleconference 16:01:22 Date: 02 June 2016 16:01:25 +present rtoyg_m 16:02:40 present+ cwilso 16:02:42 +present hongchan 16:02:50 present+ hongchan 16:02:53 +present cwilso 16:03:03 +present padenot 16:03:20 +present MikeAssenti 16:06:25 kawai has joined #audio 16:06:40 Pick a scribe victim? 16:06:55 https://github.com/WebAudio/web-audio-api/wiki/AudioWorklet-Examples 16:07:16 Ray can you scribe? (I'll scribe when you talk) 16:07:26 Yes. 16:07:28 thanks! 16:07:33 scribenick: rtoyg_m 16:08:01 hongchan: Issues came up in writing examples. 16:10:46 mailing list thread: http://lists.w3.org/Archives/Public/public-audio/2016AprJun/0058.html 16:11:17 joe: What additional things do we need? 16:11:41 joe: How do audioparams get initialized from the main thread side when instantiating a worklet node.? 16:12:57 joe: Need sequence diagram to show sync and async handling? How do these work on a worklet? Not nailed down in examples. 16:13:22 joe: Can you subclass audioworklet node? Would be useful. 16:13:49 joe: VU meter example shows this. 16:14:28 joe: Would optimize for this use case because worklets (probably) would be in libraries. 16:15:23 joe: How should the packaging issue be handled? 16:15:44 hongchan: Subclassing should not be a issue since we already allow this. 16:16:32 https://lists.w3.org/Archives/Public/public-audio/2016AprJun/0062.html 16:17:01 https://lists.w3.org/Archives/Public/public-audio/2016AprJun/0073.html 16:17:04 hongchan: Seems overkill to do subclassing to handle this case. 16:17:07 https://lists.w3.org/Archives/Public/public-audio/2016AprJun/0073.html 16:18:20 joe: These are two approaches, not exclusive. 16:19:00 hongchan: Doesn't like two approaches having two separate files to define worklets. 16:19:11 https://jsfiddle.net/cjcskv7u/2/ 16:19:17 hongchan: Having one unified place make more sense. 16:20:37 hongchan: Proposes new approach in jsfiddle link by defining two classes when registering the worklet node. 16:20:43 joe: Any comments? 16:20:54 ian: is looking over the ramifications. 16:21:23 joe: Like everything in one class, but makes it impossible to name things in the global scope to instantiate it. 16:22:34 joe: Current approach prevents subclassing which we do want. 16:23:20 joe: With single file, it should import the necessary scripts and do the required things. 16:24:24 joe: Node really needs to live in the main scope. 16:24:46 ian: There are ways to get this to work, but might be too confusing for developers? 16:25:14 s/this/hongchan's example/ 16:26:31 ian: Not something we want to do because it can leak state horribly. 16:26:44 hongchan has joined #audio 16:28:39 joe: With all other nodes, they're ready to use from the main thread (even if audio thread side isn't). Worklets should behave the same. 16:29:02 joe: Is this possible? Instantiate processor in main thread? 16:30:02 joe: With that, original design is ok. 16:30:47 joe: To summarize, when you instantiate a worklet node the constructor will instantiate the processor class and won't return until it's done. 16:31:45 joe: Can we pass options arg from node all the way to processor? 16:32:16 joe: Simplifies handling of worklets. 16:33:07 joe: audioworklet would get new options arg to pass to processor. 16:34:07 ian: workletnode arg gets cloned and passed to processor. 16:35:19 joe: Do we need to separate out options between known ones and node specific? 16:35:24 ian: We could. 16:35:32 joe: Which is cleaner? 16:35:48 hongchan: doesn't like two options. 16:36:34 joe: Or one options arg with a data: for other dictionary options for the processor. 16:37:12 ian: Looking to see if anyone else does this.... 16:37:36 ian: A single dictionary is fine and the whole thing gets structure-cloned. 16:38:45 joe: Excellent; can we move on? 16:39:12 joe: How do audioparams get declared and initialized. 16:39:28 joe: At the moment declaration is on the processor, but in a later example it's moved to the node. 16:40:03 hongchan: audioparam belongs to node, not processor. Haven't yet decided. 16:40:36 joe: Another thing: What if param descriptor array were part of options parameter. 16:41:13 ian: Argues that the should be tightly coupled to processor. 16:41:44 joe: Agrees. In favor of leaving audioparam on processor. 16:43:58 hongchan: param defined in node, but only processor has access to param contents. 16:45:04 joe: Both sides need to know what params are. 16:45:25 joe: Doesn't matter where they're defined, but the more constrained place is the processor. 16:46:52 hongchan: How is subclassing now possible? 16:47:57 joe: Maybe we should discuss initializing audioparams. 16:48:16 joe: Where does intialization actually happen? Appears magical. 16:52:23 joe: Having super() do the initialization of the audioparams so everything is set up and to the processor. 16:53:11 ian: Doesn't need to be (caching, etc), but fundamentally looks synchronous. Which is good. 16:53:28 joe: We touched everything and feels like we have a path forward. 16:53:57 ian: processor() is the onlly place with access to audioparams? 16:53:59 joe: Yes. 16:54:10 ian: parameter descriptors should be static. 16:54:32 hongchan: If so, can't access from processor. 16:55:01 +1 on that 16:55:36 ian: Should work. Then worklet node magically knows the audioparams, synchronously. 16:55:53 padenot: Generally agrees with the approach. 16:56:11 joe: Should rework the examples using this new approach. 16:56:40 honghan: Needs a lot of work to fix up everything for the spec. 16:56:49 joe: can help, but lets work on the examples. 16:57:05 joe: Let's keep pushing ahead. 16:57:23 joe: Any other business? 16:58:15 joe: Adjourn. Really good call. 16:58:42 rrsagent, make minutes 16:58:42 I have made the request to generate http://www.w3.org/2016/06/02-audio-minutes.html joe 16:59:27 hongchan has joined #audio 17:08:44 hongchan has joined #audio 19:33:05 action: Joe and Hongchan to update examples and IDL to reflect today's discussion 19:33:05 Created ACTION-132 - And hongchan to update examples and idl to reflect today's discussion [on Joe Berkovitz - due 2016-06-09]. 19:33:14 rrsagent, make minutes 19:33:14 I have made the request to generate http://www.w3.org/2016/06/02-audio-minutes.html joe