Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: third_party/WebKit/Source/modules/webaudio/AudioNode.h

Issue 2102133002: Add constructors for WebAudio nodes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and prefix use counter names with WebAudio Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010, Google Inc. All rights reserved. 2 * Copyright (C) 2010, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 23 matching lines...) Expand all
34 #include "wtf/Vector.h" 34 #include "wtf/Vector.h"
35 #include "wtf/build_config.h" 35 #include "wtf/build_config.h"
36 #include <memory> 36 #include <memory>
37 37
38 #define DEBUG_AUDIONODE_REFERENCES 0 38 #define DEBUG_AUDIONODE_REFERENCES 0
39 39
40 namespace blink { 40 namespace blink {
41 41
42 class BaseAudioContext; 42 class BaseAudioContext;
43 class AudioNode; 43 class AudioNode;
44 class AudioNodeOptions;
44 class AudioNodeInput; 45 class AudioNodeInput;
45 class AudioNodeOutput; 46 class AudioNodeOutput;
46 class AudioParam; 47 class AudioParam;
47 class ExceptionState; 48 class ExceptionState;
48 49
49 // An AudioNode is the basic building block for handling audio within an BaseAud ioContext. 50 // An AudioNode is the basic building block for handling audio within an BaseAud ioContext.
50 // It may be an audio source, an intermediate processing module, or an audio des tination. 51 // It may be an audio source, an intermediate processing module, or an audio des tination.
51 // Each AudioNode can have inputs and/or outputs. An AudioSourceNode has no inpu ts and a single output. 52 // Each AudioNode can have inputs and/or outputs. An AudioSourceNode has no inpu ts and a single output.
52 // An AudioDestinationNode has one input and no outputs and represents the final destination to the audio hardware. 53 // An AudioDestinationNode has one input and no outputs and represents the final destination to the audio hardware.
53 // Most processing nodes such as filters will have one input and one output, alt hough multiple inputs and outputs are possible. 54 // Most processing nodes such as filters will have one input and one output, alt hough multiple inputs and outputs are possible.
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 287
287 }; 288 };
288 289
289 class MODULES_EXPORT AudioNode : public EventTargetWithInlineData { 290 class MODULES_EXPORT AudioNode : public EventTargetWithInlineData {
290 DEFINE_WRAPPERTYPEINFO(); 291 DEFINE_WRAPPERTYPEINFO();
291 USING_PRE_FINALIZER(AudioNode, dispose); 292 USING_PRE_FINALIZER(AudioNode, dispose);
292 public: 293 public:
293 DECLARE_VIRTUAL_TRACE(); 294 DECLARE_VIRTUAL_TRACE();
294 AudioHandler& handler() const; 295 AudioHandler& handler() const;
295 296
297 void handleChannelOptions(const AudioNodeOptions&, ExceptionState&);
298
296 virtual AudioNode* connect(AudioNode*, unsigned outputIndex, unsigned inputI ndex, ExceptionState&); 299 virtual AudioNode* connect(AudioNode*, unsigned outputIndex, unsigned inputI ndex, ExceptionState&);
297 void connect(AudioParam*, unsigned outputIndex, ExceptionState&); 300 void connect(AudioParam*, unsigned outputIndex, ExceptionState&);
298 void disconnect(); 301 void disconnect();
299 virtual void disconnect(unsigned outputIndex, ExceptionState&); 302 virtual void disconnect(unsigned outputIndex, ExceptionState&);
300 void disconnect(AudioNode*, ExceptionState&); 303 void disconnect(AudioNode*, ExceptionState&);
301 void disconnect(AudioNode*, unsigned outputIndex, ExceptionState&); 304 void disconnect(AudioNode*, unsigned outputIndex, ExceptionState&);
302 void disconnect(AudioNode*, unsigned outputIndex, unsigned inputIndex, Excep tionState&); 305 void disconnect(AudioNode*, unsigned outputIndex, unsigned inputIndex, Excep tionState&);
303 void disconnect(AudioParam*, ExceptionState&); 306 void disconnect(AudioParam*, ExceptionState&);
304 void disconnect(AudioParam*, unsigned outputIndex, ExceptionState&); 307 void disconnect(AudioParam*, unsigned outputIndex, ExceptionState&);
305 BaseAudioContext* context() const; 308 BaseAudioContext* context() const;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 HeapVector<Member<HeapHashSet<Member<AudioNode>>>> m_connectedNodes; 346 HeapVector<Member<HeapHashSet<Member<AudioNode>>>> m_connectedNodes;
344 // Represents audio node graph with Oilpan references. N-th HeapHashSet 347 // Represents audio node graph with Oilpan references. N-th HeapHashSet
345 // represents a set of AudioParam objects connected to this AudioNode's N-th 348 // represents a set of AudioParam objects connected to this AudioNode's N-th
346 // output. 349 // output.
347 HeapVector<Member<HeapHashSet<Member<AudioParam>>>> m_connectedParams; 350 HeapVector<Member<HeapHashSet<Member<AudioParam>>>> m_connectedParams;
348 }; 351 };
349 352
350 } // namespace blink 353 } // namespace blink
351 354
352 #endif // AudioNode_h 355 #endif // AudioNode_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/webaudio/AudioListener.idl ('k') | third_party/WebKit/Source/modules/webaudio/AudioNode.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698