Sinks
This section contains the following pages:
General Information
Sink modules have an input pin but no output. Sinks are used to tie off unused module pins or for plotting of immediate data.
![]() | NullSink
| Ties off unused module outputs. No internal buffer. |
![]() | Sink
| Copies Floating point data from the wire to an internal buffer. Can be used as a scope display. |
![]() | Boolean Sink | Triggers a light (via inspector) on if “true” and off if “false” |
![]() | Triggered Sink | Sink that copies data when input control is nonzero, else it does nothing. |
![]() | Sink Int | Copies Int Data from wire to internal buffer. Can be used as a scope display. |
Null Sink
One of the examples from above used a NullSink module to tie off an unused output pin:
![](../../__attachments/3344302356/image-20221229-000123.png?inst-v=afeb83b1-861e-46b8-b4de-1c642321bb7f)
The left channel output is attached to a NullSink module and completely ignored. The NullSink does no processing and uses very little memory (only for its instance structure).
Sink
The Sink module, on the other hand, has an internal buffer equal in size to the input wire. At run-time, the Sink module copies the data from the input wire to the internal buffer. This takes some processing and some memory. The interesting feature of the Sink module is that the inspector has a scope display that shows the real-time wave form.
If the Sink module is displaying a signal with a block size of 1 then the inspector just shows the value (no waveform). This is useful for displaying the contents of control signals.
![](../../__attachments/3344302356/image-20221229-000134.png?inst-v=afeb83b1-861e-46b8-b4de-1c642321bb7f)
The Sink module shown above is in a system that has a 32 sample block size and displays less than a millisecond of data. The Sink module is often used in conjunction with the Rebuffer module to display longer time sequences. For example, Rebuffer the data into a 1024 sample block and then attach this to a Sink module.
Note: The Rebuffer module is described in Multirate.
![](../../__attachments/3344302356/image-20221229-000144.png?inst-v=afeb83b1-861e-46b8-b4de-1c642321bb7f)
The waveform shows would be about 23 msec in length as shown below and also shows two channels of data.
![](../../__attachments/3344302356/image-20221229-000153.png?inst-v=afeb83b1-861e-46b8-b4de-1c642321bb7f)
Meter
If only an instantaneous view of a system value is desired, the Meter module can be used instead.
![]() | Meter | Shows instantaneous dB level in inspector; has multichannel input and separately meters each channel |
The Meter module’s instantaneous display is shown in its inspector and the inspector expands to include multiple channels.
![](../../__attachments/3344302356/image-20221229-000242.png?inst-v=afeb83b1-861e-46b8-b4de-1c642321bb7f)
The ClipIndicator module also provides instantaneous feedback in real-time, but it only displays whether or not audio is being clipped (i.e. the signal exceeds 0 dB).
![]() | ClipIndicator | Shows instances of clipping in real-time |
A black box in the inspector indicates no clipping is occurring:
![](../../__attachments/3344302356/image-20221229-000306.png?inst-v=afeb83b1-861e-46b8-b4de-1c642321bb7f)
A red box alerts the user to clipping:
![](../../__attachments/3344302356/image-20221229-000317.png?inst-v=afeb83b1-861e-46b8-b4de-1c642321bb7f)
One of the examples from above used a NullSink module to tie off an unused output pin:
![](../../__attachments/3344302356/image-20221229-000326.png?inst-v=afeb83b1-861e-46b8-b4de-1c642321bb7f)
The left channel output is attached to a NullSink module and completely ignored. The NullSink does no processing and uses very little memory (only for its instance structure).