{"action":"created","issue":{"url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/6","labels_url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/6/comments","events_url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/6/events","html_url":"https://github.com/WebAudio/web-audio-api/issues/6","id":19322371,"number":6,"title":"AudioNode.disconnect() needs to be able to disconnect only one connection","user":{"login":"olivierthereaux","id":604646,"avatar_url":"https://avatars.githubusercontent.com/u/604646?v=3","gravatar_id":"","url":"https://api.github.com/users/olivierthereaux","html_url":"https://github.com/olivierthereaux","followers_url":"https://api.github.com/users/olivierthereaux/followers","following_url":"https://api.github.com/users/olivierthereaux/following{/other_user}","gists_url":"https://api.github.com/users/olivierthereaux/gists{/gist_id}","starred_url":"https://api.github.com/users/olivierthereaux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivierthereaux/subscriptions","organizations_url":"https://api.github.com/users/olivierthereaux/orgs","repos_url":"https://api.github.com/users/olivierthereaux/repos","events_url":"https://api.github.com/users/olivierthereaux/events{/privacy}","received_events_url":"https://api.github.com/users/olivierthereaux/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/WebAudio/web-audio-api/labels/Architectural/Fundamental%20(Breaking%20change)","name":"Architectural/Fundamental (Breaking change)","color":"e11d21"},{"url":"https://api.github.com/repos/WebAudio/web-audio-api/labels/Feature%20Request/Missing%20Feature","name":"Feature Request/Missing Feature","color":"0052cc"},{"url":"https://api.github.com/repos/WebAudio/web-audio-api/labels/Ready%20for%20Editing","name":"Ready for Editing","color":"bfe5bf"},{"url":"https://api.github.com/repos/WebAudio/web-audio-api/labels/V1%20(TPAC%202014)","name":"V1 (TPAC 2014)","color":"c7def8"}],"state":"open","locked":false,"assignee":{"login":"cwilso","id":507001,"avatar_url":"https://avatars.githubusercontent.com/u/507001?v=3","gravatar_id":"","url":"https://api.github.com/users/cwilso","html_url":"https://github.com/cwilso","followers_url":"https://api.github.com/users/cwilso/followers","following_url":"https://api.github.com/users/cwilso/following{/other_user}","gists_url":"https://api.github.com/users/cwilso/gists{/gist_id}","starred_url":"https://api.github.com/users/cwilso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwilso/subscriptions","organizations_url":"https://api.github.com/users/cwilso/orgs","repos_url":"https://api.github.com/users/cwilso/repos","events_url":"https://api.github.com/users/cwilso/events{/privacy}","received_events_url":"https://api.github.com/users/cwilso/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/WebAudio/web-audio-api/milestones/1","labels_url":"https://api.github.com/repos/WebAudio/web-audio-api/milestones/1/labels","id":444685,"number":1,"title":"Web Audio Last Call 1","description":"The (first) W3C last call review of the Web Audio API.","creator":{"login":"olivierthereaux","id":604646,"avatar_url":"https://avatars.githubusercontent.com/u/604646?v=3","gravatar_id":"","url":"https://api.github.com/users/olivierthereaux","html_url":"https://github.com/olivierthereaux","followers_url":"https://api.github.com/users/olivierthereaux/followers","following_url":"https://api.github.com/users/olivierthereaux/following{/other_user}","gists_url":"https://api.github.com/users/olivierthereaux/gists{/gist_id}","starred_url":"https://api.github.com/users/olivierthereaux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivierthereaux/subscriptions","organizations_url":"https://api.github.com/users/olivierthereaux/orgs","repos_url":"https://api.github.com/users/olivierthereaux/repos","events_url":"https://api.github.com/users/olivierthereaux/events{/privacy}","received_events_url":"https://api.github.com/users/olivierthereaux/received_events","type":"User","site_admin":false},"open_issues":108,"closed_issues":26,"state":"open","created_at":"2013-10-03T15:27:25Z","updated_at":"2014-12-08T16:11:09Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2013-09-11T14:27:31Z","updated_at":"2015-02-05T18:52:10Z","closed_at":null,"body":"> Originally reported on W3C Bugzilla [ISSUE-17793](https://www.w3.org/Bugs/Public/show_bug.cgi?id=17793) Tue, 17 Jul 2012 18:30:24 GMT\n> Reported by Chris Wilson\n> Assigned to \n\n(Summary of email conversation in list)\n\nThere is currently no way to disconnect node A's connection to node B without disconnecting all connections from node A to other nodes.  This makes it impossible to disconnect node B from the graph without potential side effects, as you have to:\n\n- call disconnect() on node A (which disconnects all its outputs)\n- reconnect every connection that node A used to have, EXCEPT the connection to node B.\n\nNot only is this cumbersome, it will be problematic in the future when we solve the related issue of unconnected streams - which is currently exhibiting incorrect behavior in Chrome (it pauses the audio stream), but is underspecified in the spec today.  (filing separate bug).  Disconnecting then reconnecting would have to have no side effects.  (It works okay today, but not ideal - can click.)\n\nRecommended solution:\n- there should be a way to remove a single connection (by supplying the destination node to be disconnected, since there can only be one connection to a given destination node [tested]).\n\nE.g.: the IDL for disconnect should read:\n\n        void disconnect(in [Optional] AudioNode destination, in [Optional] unsigned long output = 0)\n            raises(DOMException);\n\nthis lets us keep most compatibility - node.disconnect() will still remove all connections."},"comment":{"url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/comments/73103365","html_url":"https://github.com/WebAudio/web-audio-api/issues/6#issuecomment-73103365","issue_url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/6","id":73103365,"user":{"login":"cwilso","id":507001,"avatar_url":"https://avatars.githubusercontent.com/u/507001?v=3","gravatar_id":"","url":"https://api.github.com/users/cwilso","html_url":"https://github.com/cwilso","followers_url":"https://api.github.com/users/cwilso/followers","following_url":"https://api.github.com/users/cwilso/following{/other_user}","gists_url":"https://api.github.com/users/cwilso/gists{/gist_id}","starred_url":"https://api.github.com/users/cwilso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwilso/subscriptions","organizations_url":"https://api.github.com/users/cwilso/orgs","repos_url":"https://api.github.com/users/cwilso/repos","events_url":"https://api.github.com/users/cwilso/events{/privacy}","received_events_url":"https://api.github.com/users/cwilso/received_events","type":"User","site_admin":false},"created_at":"2015-02-05T18:52:10Z","updated_at":"2015-02-05T18:52:10Z","body":"LGTM.\n\nOn Thu, Feb 5, 2015 at 10:34 AM, Hongchan Choi <notifications@github.com>\nwrote:\n\n> From the teleconference and the discussion after, I would like to propose:\n>\n> 1) For invalid input/output indices, we should throw IndexSizeError.\n> 2) For invalid destination AudioNode or AudioParam, we should throw\n> InvalidAccessError.\n>\n> http://www.w3.org/TR/dom/#domerror\n>\n> @cwilso <https://github.com/cwilso> @padenot <https://github.com/padenot>\n> What do you think?\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/WebAudio/web-audio-api/issues/6#issuecomment-73100133>\n> .\n>\n"}}