Current Page: NeXtMidas Training Macros - Part 1 (Basics) Pipes in a Macro Data Pipes Warm Starts
| Warm Starts and Reconnects: In order to fully understand what "warm starts" and "reconnects" are, it is important to first explain what a "cold start" is... What is a "cold start"? A cold start is when a pipe is created with all pipe parameters set (start values, frame size, etc) and all connections to the pipe are made before the pipe section starts running. When the pipe section starts running, the pipe starts with data "flowing" from the writer to the readers. With a cold start the first element read from a pipe is the same as the first element written to the pipe, i.e. there is no data loss. What is a "warm start"? A warm start is when a primitive connects to a pipe that is already running. When a new primitive connects to a pipe that is already running the first element it reads from the pipe will not be the first element written to the pipe. The new primitive will not have access to previous pipe data. What is a "reconnect"? In NeXtMidas, it is possible to alter the parameters that change the structure of a pipe that is already running (such as the frame size or FFT size). This will cause all readers of the pipe to "restart" and "reconnect" to a newly-updated pipe. The details of how a primitive implements a restart are discussed in the "Primitives" module. During a reconnect there is no data loss.
X-Midas Users Take Note:
X-Midas pipes only support cold starts (though there are tricks around this involving subshells). NeXtMidas supports cold starts, warm starts, and reconnects. In NeXtMidas no special action is required in order to make use of these features, their use is transparent to the macro writer.