-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
I think the most useful gen~ objects are: phasor, noise, cycle, accum, clip, wrap, fold, max, latch, delta, mix, switch, selector and peek and poke with variable Interpolation.
| Name | EEL2? | Comment |
|---|---|---|
| phasor | - | A non-bandlimited sawtooth-waveform signal generator which can be used as LFO audio signal or a sample-accurate timing/control signal. |
| noise | rand(x) -- returns a psuedorandom number between 0 and the parameter. | |
| cycle | - | An interpolating oscillator that reads repeatedly through one cycle of a sine wave. By default it is driven by a frequency input, but if the @index attribute is set to 'phase', it can be driven by a phase input instead. |
| accum | += |
The object adds to, and then outputs, an internal sum. This occurs at sample-rate, so the sum can grow very large, very fast. The value to be added is specified by either the first inlet or argument. The internal sum can be reset to the minimum by sending a nonzero value to the right-most inlet. The minimum value is 0 by default, but can be changed with the @min attribute. An optional maximum value can be specified with the @max attribute; values will wrap at the maximum. |
| clip | - | Implemented in 0.3.0 |
| wrap | - | Implemented in 0.3.0 |
| fold | - | Implemented in 0.3.0 |
| max | max | - |
| latch | if ? | Conditionally passes or holds input. The first inlet is the 'input' and the second inlet is the 'control'. When the control is non-zero, the input value is passed through. When the control is zero, the previous input value is output. It can be used to periodically sample & hold a source signal with a simpler trigger logic than the sah operator. |
| delta | delta = newX - x (?) | Returns the difference between the current and previous input. |
| mix | - | implemented via lin in 0.3.0 |
| switch | in0 > 0.5 ? in1 : in2 |
- |
| selector | - | - |
| peek | bufRead |
Read values from a data/buffer object. The first argument should be a name of a data or buffer object in the gen patcher. The second argument specifies the number of output channels. The first inlet specifes a sample index to read (no interpolation); indices out of range return zero. The last inlet specifies a channel offset (default 0). |
| poke | bufWrite | Write values into a data/buffer object. The first argument should be a name of a data or buffer object in the gen patcher. The second argument (or third inlet if omitted) specifies which channel to use. The first inlet specifies a value to write, while the second inlet specifies the sample index within the data/buffer. If the index is out of range, no value is written. |
| counter | - | Accumulates and outputs a stored count, similarly to Max's counter object, but triggered at sample-rate. The amount to accumulate per sample is set by the first input (incr). The count can be reset by a non-zero value in the second input (reset). The third inlet (max) sets a maximum value; the counter will wrap if it reaches this value. However if the maximum value is set to 0 (the default), the counter will assume no limit and count indefinitely. The first outlet outputs the current count, the second outlet outputs 1 when the count wraps at the maximum and zero otherwise, and the third outlet outputs the number of wraps (the carry count). |
| gate | - | Similar to the MSP gate~ object. It takes an argument for number of outputs (one is the default) and lets you choose which the incoming signal (at the right inlet) is sent to according to the (integer) value in the left inlet. A value of zero or less to the left inlet will choose no output; a value greater than the number of outlets will select the last outlet. Like gate~, un-selected outlets will send zero. |
https://docs.cycling74.com/userguide/gen/gen~_operators/ and https://docs.cycling74.com/userguide/gen/gen_common_operators/ seems like a good resource for ideas
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request