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.


Enums


Public Member Functions

  • MonitorNode (const Format &format=Format())
  • ~MonitorNode ()
  • disconnectInput (const NodeRef &input) override

Protected Member Functions

  • updatePullMethod ()
  • configureConnections ()
  • setupProcessWithSumming ()
  • notifyConnectionsDidChange ()
  • bool
    inputChannelsAreUnequal () const
  • initializeImpl ()
  • uninitializeImpl ()
  • getSummingBuffer ()
  • getSummingBuffer () const

Protected Attributes

  • std::vector< dsp::RingBuffer >
    mRingBuffers
  • mCopiedBuffer
  • size_t
    mWindowSize
  • size_t
    mRingBufferPaddingFactor
  • bool
    mIsPulledByContext