WindowedInAOutB

trait WindowedInAOutB[A, B, C] extends Node

This is a building block for window processing UGens where window parameters include winSize and possibly others, and will be polled per window.

trait Node
class Object
trait Matchable
class Any

Value members

Abstract methods

protected def aTpe: DataType[A]

The input signal type

The input signal type

protected def bTpe: DataType[B]

The output signal type

The output signal type

protected def clearWindowTail(): Unit
protected def hIn: InMain[A]
protected def hOut: OutMain[B]
protected def newWindowBuffer(n: Int): Array[C]
protected def processWindow(): Unit

Called after a window has been fully read in.

Called after a window has been fully read in.

protected def readIntoWindow(n: Int): Unit

Reads in a number of frames.

Reads in a number of frames.

protected def tryObtainWinParams(): Boolean

Tries to prepare the parameters for the next window. If successful, returns true otherwise false. If successful, it must be possible to successively call winBufSize.

Tries to prepare the parameters for the next window. If successful, returns true otherwise false. If successful, it must be possible to successively call winBufSize.

protected def winBufSize: Int

The size for the window buffer, or zero if this buffer should no be used. This can be polled multiple times per window, the element might thus need to be saved (in tryObtainWinParams()). In most cases, it will be sufficient to poll the value in tryObtainWinParams and implement winBufSize by calling the value method of the corresponding input handler.

The size for the window buffer, or zero if this buffer should no be used. This can be polled multiple times per window, the element might thus need to be saved (in tryObtainWinParams()). In most cases, it will be sufficient to poll the value in tryObtainWinParams and implement winBufSize by calling the value method of the corresponding input handler.

protected def writeFromWindow(n: Int): Unit

Writes out a number of frames.

Writes out a number of frames.

Concrete methods

protected def onDone(inlet: Inlet[_]): Unit
@tailrec
final protected def process(): Unit
protected def readWinSize: Long

The default number of frames to read in per window equals the window buffer size

The default number of frames to read in per window equals the window buffer size

override protected def stopped(): Unit
Definition Classes
protected def writeWinSize: Long

The number of frames to write out per window. This is polled once after processWindow. The default equals the window buffer size (winBufSize). If an implementation wants to truncate the last window when the input terminates, it should override fullLastWindow to return false, in which case the default implementation of writeWinSize will return ``

The number of frames to write out per window. This is polled once after processWindow. The default equals the window buffer size (winBufSize). If an implementation wants to truncate the last window when the input terminates, it should override fullLastWindow to return false, in which case the default implementation of writeWinSize will return ``

Inherited methods

def completeAsync(): Future[Unit]
Inherited from:
Node
def failAsync(ex: Exception): Unit
Inherited from:
Node
def launchAsync(): Future[Unit]
Inherited from:
Node
Inherited from:
Node
final override def postStop(): Unit

Invoked by Akka after processing of external events stopped because the operator is about to stop or fail. Calls stopped and then removes the node from the control.

Invoked by Akka after processing of external events stopped because the operator is about to stop or fail. Calls stopped and then removes the node from the control.

Definition Classes
Inherited from:
Node
final override def preStart(): Unit

Final so we don't accidentally place code here. In order to initialize state, use NodeHasInitImpl and implement init.

Final so we don't accidentally place code here. In order to initialize state, use NodeHasInitImpl and implement init.

Definition Classes
Inherited from:
Node
def shape: Shape
Inherited from:
Node

Concrete fields

protected val fullLastWindow: Boolean
final protected var readOff: Long
final protected var readRem: Long
final protected var winBuf: Array[C]
final protected var writeOff: Long
final protected var writeRem: Long

Implicits

Inherited implicits

implicit protected def allocator: Allocator
Inherited from:
Node
implicit protected def control: Control
Inherited from:
Node