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

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

Issue 2102133002: Add constructors for WebAudio nodes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase 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 14 matching lines...) Expand all
25 #ifndef AnalyserNode_h 25 #ifndef AnalyserNode_h
26 #define AnalyserNode_h 26 #define AnalyserNode_h
27 27
28 #include "core/dom/DOMTypedArray.h" 28 #include "core/dom/DOMTypedArray.h"
29 #include "modules/webaudio/AudioBasicInspectorNode.h" 29 #include "modules/webaudio/AudioBasicInspectorNode.h"
30 #include "modules/webaudio/RealtimeAnalyser.h" 30 #include "modules/webaudio/RealtimeAnalyser.h"
31 31
32 namespace blink { 32 namespace blink {
33 33
34 class BaseAudioContext; 34 class BaseAudioContext;
35 class AnalyserOptions;
35 class ExceptionState; 36 class ExceptionState;
36 37
37 class AnalyserHandler final : public AudioBasicInspectorHandler { 38 class AnalyserHandler final : public AudioBasicInspectorHandler {
38 public: 39 public:
39 static PassRefPtr<AnalyserHandler> create(AudioNode&, float sampleRate); 40 static PassRefPtr<AnalyserHandler> create(AudioNode&, float sampleRate);
40 ~AnalyserHandler() override; 41 ~AnalyserHandler() override;
41 42
42 // AudioHandler 43 // AudioHandler
43 void process(size_t framesToProcess) override; 44 void process(size_t framesToProcess) override;
44 45
45 unsigned fftSize() const { return m_analyser.fftSize(); } 46 unsigned fftSize() const { return m_analyser.fftSize(); }
46 void setFftSize(unsigned size, ExceptionState&); 47 void setFftSize(unsigned size, ExceptionState&);
47 48
48 unsigned frequencyBinCount() const { return m_analyser.frequencyBinCount(); } 49 unsigned frequencyBinCount() const { return m_analyser.frequencyBinCount(); }
49 50
50 void setMinDecibels(double k, ExceptionState&); 51 void setMinDecibels(double k, ExceptionState&);
51 double minDecibels() const { return m_analyser.minDecibels(); } 52 double minDecibels() const { return m_analyser.minDecibels(); }
52 53
53 void setMaxDecibels(double k, ExceptionState&); 54 void setMaxDecibels(double k, ExceptionState&);
54 double maxDecibels() const { return m_analyser.maxDecibels(); } 55 double maxDecibels() const { return m_analyser.maxDecibels(); }
55 56
57 void setMinMaxDecibels(double min, double max, ExceptionState&);
58
56 void setSmoothingTimeConstant(double k, ExceptionState&); 59 void setSmoothingTimeConstant(double k, ExceptionState&);
57 double smoothingTimeConstant() const { return m_analyser.smoothingTimeConsta nt(); } 60 double smoothingTimeConstant() const { return m_analyser.smoothingTimeConsta nt(); }
58 61
59 void getFloatFrequencyData(DOMFloat32Array* array, double currentTime) 62 void getFloatFrequencyData(DOMFloat32Array* array, double currentTime)
60 { 63 {
61 m_analyser.getFloatFrequencyData(array, currentTime); 64 m_analyser.getFloatFrequencyData(array, currentTime);
62 } 65 }
63 void getByteFrequencyData(DOMUint8Array* array, double currentTime) 66 void getByteFrequencyData(DOMUint8Array* array, double currentTime)
64 { 67 {
65 m_analyser.getByteFrequencyData(array, currentTime); 68 m_analyser.getByteFrequencyData(array, currentTime);
66 } 69 }
67 void getFloatTimeDomainData(DOMFloat32Array* array) { m_analyser.getFloatTim eDomainData(array); } 70 void getFloatTimeDomainData(DOMFloat32Array* array) { m_analyser.getFloatTim eDomainData(array); }
68 void getByteTimeDomainData(DOMUint8Array* array) { m_analyser.getByteTimeDom ainData(array); } 71 void getByteTimeDomainData(DOMUint8Array* array) { m_analyser.getByteTimeDom ainData(array); }
69 72
70 private: 73 private:
71 AnalyserHandler(AudioNode&, float sampleRate); 74 AnalyserHandler(AudioNode&, float sampleRate);
72 75
73 RealtimeAnalyser m_analyser; 76 RealtimeAnalyser m_analyser;
74 }; 77 };
75 78
76 class AnalyserNode final : public AudioBasicInspectorNode { 79 class AnalyserNode final : public AudioBasicInspectorNode {
77 DEFINE_WRAPPERTYPEINFO(); 80 DEFINE_WRAPPERTYPEINFO();
78 public: 81 public:
79 static AnalyserNode* create(BaseAudioContext&, ExceptionState&); 82 static AnalyserNode* create(BaseAudioContext&, ExceptionState&);
83 static AnalyserNode* create(BaseAudioContext*, const AnalyserOptions&, Excep tionState&);
80 84
81 unsigned fftSize() const; 85 unsigned fftSize() const;
82 void setFftSize(unsigned size, ExceptionState&); 86 void setFftSize(unsigned size, ExceptionState&);
83 unsigned frequencyBinCount() const; 87 unsigned frequencyBinCount() const;
84 void setMinDecibels(double, ExceptionState&); 88 void setMinDecibels(double, ExceptionState&);
85 double minDecibels() const; 89 double minDecibels() const;
86 void setMaxDecibels(double, ExceptionState&); 90 void setMaxDecibels(double, ExceptionState&);
87 double maxDecibels() const; 91 double maxDecibels() const;
88 void setSmoothingTimeConstant(double, ExceptionState&); 92 void setSmoothingTimeConstant(double, ExceptionState&);
89 double smoothingTimeConstant() const; 93 double smoothingTimeConstant() const;
90 void getFloatFrequencyData(DOMFloat32Array*); 94 void getFloatFrequencyData(DOMFloat32Array*);
91 void getByteFrequencyData(DOMUint8Array*); 95 void getByteFrequencyData(DOMUint8Array*);
92 void getFloatTimeDomainData(DOMFloat32Array*); 96 void getFloatTimeDomainData(DOMFloat32Array*);
93 void getByteTimeDomainData(DOMUint8Array*); 97 void getByteTimeDomainData(DOMUint8Array*);
94 98
95 private: 99 private:
96 AnalyserNode(BaseAudioContext&); 100 AnalyserNode(BaseAudioContext&);
97 AnalyserHandler& analyserHandler() const; 101 AnalyserHandler& analyserHandler() const;
102
103 void setMinMaxDecibels(double min, double max, ExceptionState&);
98 }; 104 };
99 105
100 } // namespace blink 106 } // namespace blink
101 107
102 #endif // AnalyserNode_h 108 #endif // AnalyserNode_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698