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 ()
  • void
    disconnectInput (const NodeRef &input) override

Protected Member Functions

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

Protected Attributes

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