OLD | NEW |
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 15 matching lines...) Expand all Loading... |
26 #define AnalyserNode_h | 26 #define AnalyserNode_h |
27 | 27 |
28 #include "modules/webaudio/AudioBasicInspectorNode.h" | 28 #include "modules/webaudio/AudioBasicInspectorNode.h" |
29 #include "modules/webaudio/RealtimeAnalyser.h" | 29 #include "modules/webaudio/RealtimeAnalyser.h" |
30 #include "wtf/Forward.h" | 30 #include "wtf/Forward.h" |
31 | 31 |
32 namespace blink { | 32 namespace blink { |
33 | 33 |
34 class ExceptionState; | 34 class ExceptionState; |
35 | 35 |
36 class AnalyserNode FINAL : public AudioBasicInspectorNode { | 36 class AnalyserNode final : public AudioBasicInspectorNode { |
37 DEFINE_WRAPPERTYPEINFO(); | 37 DEFINE_WRAPPERTYPEINFO(); |
38 public: | 38 public: |
39 static AnalyserNode* create(AudioContext* context, float sampleRate) | 39 static AnalyserNode* create(AudioContext* context, float sampleRate) |
40 { | 40 { |
41 return adoptRefCountedGarbageCollectedWillBeNoop(new AnalyserNode(contex
t, sampleRate)); | 41 return adoptRefCountedGarbageCollectedWillBeNoop(new AnalyserNode(contex
t, sampleRate)); |
42 } | 42 } |
43 | 43 |
44 virtual ~AnalyserNode(); | 44 virtual ~AnalyserNode(); |
45 | 45 |
46 // AudioNode | 46 // AudioNode |
47 virtual void dispose() OVERRIDE; | 47 virtual void dispose() override; |
48 virtual void process(size_t framesToProcess) OVERRIDE; | 48 virtual void process(size_t framesToProcess) override; |
49 | 49 |
50 // Javascript bindings | 50 // Javascript bindings |
51 unsigned fftSize() const { return m_analyser.fftSize(); } | 51 unsigned fftSize() const { return m_analyser.fftSize(); } |
52 void setFftSize(unsigned size, ExceptionState&); | 52 void setFftSize(unsigned size, ExceptionState&); |
53 | 53 |
54 unsigned frequencyBinCount() const { return m_analyser.frequencyBinCount();
} | 54 unsigned frequencyBinCount() const { return m_analyser.frequencyBinCount();
} |
55 | 55 |
56 void setMinDecibels(double k, ExceptionState&); | 56 void setMinDecibels(double k, ExceptionState&); |
57 double minDecibels() const { return m_analyser.minDecibels(); } | 57 double minDecibels() const { return m_analyser.minDecibels(); } |
58 | 58 |
59 void setMaxDecibels(double k, ExceptionState&); | 59 void setMaxDecibels(double k, ExceptionState&); |
60 double maxDecibels() const { return m_analyser.maxDecibels(); } | 60 double maxDecibels() const { return m_analyser.maxDecibels(); } |
61 | 61 |
62 void setSmoothingTimeConstant(double k, ExceptionState&); | 62 void setSmoothingTimeConstant(double k, ExceptionState&); |
63 double smoothingTimeConstant() const { return m_analyser.smoothingTimeConsta
nt(); } | 63 double smoothingTimeConstant() const { return m_analyser.smoothingTimeConsta
nt(); } |
64 | 64 |
65 void getFloatFrequencyData(Float32Array* array) { m_analyser.getFloatFrequen
cyData(array); } | 65 void getFloatFrequencyData(Float32Array* array) { m_analyser.getFloatFrequen
cyData(array); } |
66 void getByteFrequencyData(Uint8Array* array) { m_analyser.getByteFrequencyDa
ta(array); } | 66 void getByteFrequencyData(Uint8Array* array) { m_analyser.getByteFrequencyDa
ta(array); } |
67 void getFloatTimeDomainData(Float32Array* array) { m_analyser.getFloatTimeDo
mainData(array); } | 67 void getFloatTimeDomainData(Float32Array* array) { m_analyser.getFloatTimeDo
mainData(array); } |
68 void getByteTimeDomainData(Uint8Array* array) { m_analyser.getByteTimeDomain
Data(array); } | 68 void getByteTimeDomainData(Uint8Array* array) { m_analyser.getByteTimeDomain
Data(array); } |
69 private: | 69 private: |
70 virtual double tailTime() const OVERRIDE { return 0; } | 70 virtual double tailTime() const override { return 0; } |
71 virtual double latencyTime() const OVERRIDE { return 0; } | 71 virtual double latencyTime() const override { return 0; } |
72 | 72 |
73 AnalyserNode(AudioContext*, float sampleRate); | 73 AnalyserNode(AudioContext*, float sampleRate); |
74 | 74 |
75 RealtimeAnalyser m_analyser; | 75 RealtimeAnalyser m_analyser; |
76 }; | 76 }; |
77 | 77 |
78 } // namespace blink | 78 } // namespace blink |
79 | 79 |
80 #endif // AnalyserNode_h | 80 #endif // AnalyserNode_h |
OLD | NEW |