| OLD | NEW |
| 1 library dart.dom.web_audio; | 1 library dart.dom.web_audio; |
| 2 | 2 |
| 3 import 'dart:async'; | 3 import 'dart:async'; |
| 4 import 'dart:collection'; | 4 import 'dart:collection'; |
| 5 import 'dart:_collection-dev'; | 5 import 'dart:_collection-dev'; |
| 6 import 'dart:html'; | 6 import 'dart:html'; |
| 7 import 'dart:html_common'; | 7 import 'dart:html_common'; |
| 8 import 'dart:nativewrappers'; | 8 import 'dart:nativewrappers'; |
| 9 import 'dart:typed_data'; | 9 import 'dart:typed_data'; |
| 10 // DO NOT EDIT | 10 // DO NOT EDIT |
| (...skipping 1240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1251 | 1251 |
| 1252 /** | 1252 /** |
| 1253 * Get a Stream that fires events when AudioProcessingEvents occur. | 1253 * Get a Stream that fires events when AudioProcessingEvents occur. |
| 1254 * This particular stream is special in that it only allows one listener to a | 1254 * This particular stream is special in that it only allows one listener to a |
| 1255 * given stream. Converting the returned Stream [asBroadcast] will likely ruin | 1255 * given stream. Converting the returned Stream [asBroadcast] will likely ruin |
| 1256 * the soft-real-time properties which which these events are fired and can | 1256 * the soft-real-time properties which which these events are fired and can |
| 1257 * be processed. | 1257 * be processed. |
| 1258 */ | 1258 */ |
| 1259 Stream<AudioProcessingEvent> get onAudioProcess { | 1259 Stream<AudioProcessingEvent> get onAudioProcess { |
| 1260 if (_eventStream == null) { | 1260 if (_eventStream == null) { |
| 1261 var controller = new StreamController(); | 1261 var controller = new StreamController(sync: true); |
| 1262 var callback = (audioData) { | 1262 var callback = (audioData) { |
| 1263 if (controller.hasListener) { | 1263 if (controller.hasListener) { |
| 1264 // This stream is a strange combination of broadcast and single | 1264 // This stream is a strange combination of broadcast and single |
| 1265 // subscriber streams. We only allow one listener, but if there is | 1265 // subscriber streams. We only allow one listener, but if there is |
| 1266 // no listener, we don't queue up events, we just drop them on the | 1266 // no listener, we don't queue up events, we just drop them on the |
| 1267 // floor. | 1267 // floor. |
| 1268 controller.add(audioData); | 1268 controller.add(audioData); |
| 1269 } | 1269 } |
| 1270 }; | 1270 }; |
| 1271 _setEventListener(callback); | 1271 _setEventListener(callback); |
| 1272 _eventStream = controller.stream; | 1272 _eventStream = controller.stream; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1318 | 1318 |
| 1319 | 1319 |
| 1320 @DocsEditable | 1320 @DocsEditable |
| 1321 @DomName('WaveTable') | 1321 @DomName('WaveTable') |
| 1322 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#WaveTab
le-section | 1322 // https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#WaveTab
le-section |
| 1323 @Experimental | 1323 @Experimental |
| 1324 class WaveTable extends NativeFieldWrapperClass1 { | 1324 class WaveTable extends NativeFieldWrapperClass1 { |
| 1325 WaveTable.internal(); | 1325 WaveTable.internal(); |
| 1326 | 1326 |
| 1327 } | 1327 } |
| OLD | NEW |