- cinder::Noncopyable
- cinder::audio::Node
- cinder::audio::NodeAutoPullable
- cinder::audio::MonitorNode
Node for retrieving time-domain audio PCM samples.
MonitorNode provides a way to copy PCM samples from the audio thread and safely use them on the user (normally main) thread. Also provides RMS volume analysis.
This Node does not modify the incoming Buffer in its process() function and does not need to be connected to a OutputNode .
Internally, a
dsp::RingBuffer
is used, which has a limited size. Once it fills up, more samples will not be written until space is made by calling
getBuffer()
. In practice, this isn't a problem since this method is normally called from within the update() or
draw()
loop.
Show All |
Enums
Public Member Functions
Protected Member Functions
-
voidupdatePullMethod ()
-
voidconfigureConnections ()
-
voidsetupProcessWithSumming ()
-
voidnotifyConnectionsDidChange ()
-
boolinputChannelsAreUnequal () const
-
voidinitializeImpl ()
-
voiduninitializeImpl ()
-
getSummingBuffer ()
-
const BufferDynamic *getSummingBuffer () const
Protected Attributes
-
std::vector< dsp::RingBuffer >mRingBuffers
-
mCopiedBuffer
-
size_tmWindowSize
-
size_tmRingBufferPaddingFactor
-
boolmIsPulledByContext