bufio

class BufRd(calculation_rate=None, channel_count=1, buffer_id=None, phase=0.0, loop=1, interpolation=2, **kwargs)

Bases: UGen

A buffer-reading oscillator.

>>> buffer_id = 23
>>> phase = supriya.ugens.Phasor.ar(
...     rate=supriya.ugens.BufRateScale.kr(buffer_id=buffer_id),
...     start=0,
...     stop=supriya.ugens.BufFrames.kr(buffer_id=buffer_id),
... )
>>> buf_rd = supriya.ugens.BufRd.ar(
...     buffer_id=buffer_id,
...     channel_count=2,
...     interpolation=2,
...     loop=1,
...     phase=phase,
... )
>>> buf_rd
UGenArray({2})
classmethod ar(buffer_id: SupportsFloat | UGenMethodMixin | None = None, phase: SupportsFloat | UGenMethodMixin = 0.0, loop: SupportsFloat | UGenMethodMixin = 1, interpolation: SupportsFloat | UGenMethodMixin = 2, channel_count: int = 1) BufRd
classmethod kr(buffer_id: SupportsFloat | UGenMethodMixin | None = None, phase: SupportsFloat | UGenMethodMixin = 0.0, loop: SupportsFloat | UGenMethodMixin = 1, interpolation: SupportsFloat | UGenMethodMixin = 2, channel_count: int = 1) BufRd
property buffer_id : SupportsFloat | UGenMethodMixin
property interpolation : SupportsFloat | UGenMethodMixin
property loop : SupportsFloat | UGenMethodMixin
property phase : SupportsFloat | UGenMethodMixin
class BufWr(calculation_rate=None, buffer_id=None, phase=0.0, loop=1.0, source=None, **kwargs)

Bases: UGen

A buffer-writing oscillator.

>>> buffer_id = 23
>>> phase = supriya.ugens.Phasor.ar(
...     rate=supriya.ugens.BufRateScale.kr(buffer_id=buffer_id),
...     start=0,
...     stop=supriya.ugens.BufFrames.kr(buffer_id=buffer_id),
... )
>>> source = supriya.ugens.In.ar(bus=0, channel_count=2)
>>> buf_wr = supriya.ugens.BufWr.ar(
...     buffer_id=buffer_id,
...     loop=1,
...     phase=phase,
...     source=source,
... )
>>> buf_wr
BufWr.ar()
classmethod ar(buffer_id: SupportsFloat | UGenMethodMixin | None = None, phase: SupportsFloat | UGenMethodMixin = 0.0, loop: SupportsFloat | UGenMethodMixin = 1.0, source: SupportsFloat | UGenMethodMixin | None = None) BufWr
classmethod kr(buffer_id: SupportsFloat | UGenMethodMixin | None = None, phase: SupportsFloat | UGenMethodMixin = 0.0, loop: SupportsFloat | UGenMethodMixin = 1.0, source: SupportsFloat | UGenMethodMixin | None = None) BufWr
property buffer_id : SupportsFloat | UGenMethodMixin
property loop : SupportsFloat | UGenMethodMixin
property phase : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin
class ClearBuf(calculation_rate=None, buffer_id=None, **kwargs)

Bases: UGen

>>> clear_buf = supriya.ugens.ClearBuf.ir(
...     buffer_id=23,
... )
>>> clear_buf
ClearBuf.ir()
classmethod ir(buffer_id: SupportsFloat | UGenMethodMixin | None = None) ClearBuf
property buffer_id : SupportsFloat | UGenMethodMixin
class LocalBuf(frame_count=1, channel_count=1, calculation_rate=None)

Bases: UGen

A synth-local buffer.

>>> local_buf = supriya.ugens.LocalBuf(
...     channel_count=1,
...     frame_count=1,
... )
>>> local_buf
LocalBuf.ir()

LocalBuf creates a MaxLocalBufs UGen implicitly during SynthDef compilation:

>>> with supriya.synthdefs.SynthDefBuilder() as builder:
...     local_buf = supriya.ugens.LocalBuf(2048)
...     source = supriya.ugens.PinkNoise.ar()
...     pv_chain = supriya.ugens.FFT.kr(
...         buffer_id=local_buf,
...         source=source,
...     )
...     ifft = supriya.ugens.IFFT.ar(pv_chain=pv_chain)
...     out = supriya.ugens.Out.ar(bus=0, source=ifft)
... 
>>> synthdef = builder.build()
>>> for ugen in synthdef.ugens:
...     ugen
... 
MaxLocalBufs.ir()
LocalBuf.ir()
PinkNoise.ar()
FFT.kr()
IFFT.ar()
Out.ar()
classmethod ir(channel_count: SupportsFloat | UGenMethodMixin = 1, frame_count: SupportsFloat | UGenMethodMixin = 1) LocalBuf
property channel_count : SupportsFloat | UGenMethodMixin
property frame_count : SupportsFloat | UGenMethodMixin
class MaxLocalBufs(calculation_rate=None, maximum=0, **kwargs)

Bases: UGen

Sets the maximum number of local buffers in a synth.

Used internally by LocalBuf.

>>> max_local_bufs = supriya.ugens.MaxLocalBufs.ir(maximum=1)
>>> max_local_bufs
MaxLocalBufs.ir()
increment()

Increments maximum local buffer count.

>>> max_local_bufs = supriya.ugens.MaxLocalBufs.ir(maximum=1)
>>> max_local_bufs.inputs
(1.0,)
>>> max_local_bufs.increment()
>>> max_local_bufs.inputs
(2.0,)

Returns none.

classmethod ir(maximum: SupportsFloat | UGenMethodMixin = 0) MaxLocalBufs
property maximum : SupportsFloat | UGenMethodMixin
class PlayBuf(calculation_rate=None, channel_count=1, buffer_id=None, rate=1, trigger=1, start_position=0, loop=0, done_action=0, **kwargs)

Bases: UGen

A sample playback oscillator.

>>> buffer_id = 23
>>> play_buf = supriya.ugens.PlayBuf.ar(
...     buffer_id=buffer_id,
...     channel_count=2,
...     done_action=0,
...     loop=0,
...     rate=1,
...     start_position=0,
...     trigger=1,
... )
>>> play_buf
UGenArray({2})
classmethod ar(buffer_id: SupportsFloat | UGenMethodMixin | None = None, rate: SupportsFloat | UGenMethodMixin = 1, trigger: SupportsFloat | UGenMethodMixin = 1, start_position: SupportsFloat | UGenMethodMixin = 0, loop: SupportsFloat | UGenMethodMixin = 0, done_action: SupportsFloat | UGenMethodMixin = 0, channel_count: int = 1) PlayBuf
classmethod kr(buffer_id: SupportsFloat | UGenMethodMixin | None = None, rate: SupportsFloat | UGenMethodMixin = 1, trigger: SupportsFloat | UGenMethodMixin = 1, start_position: SupportsFloat | UGenMethodMixin = 0, loop: SupportsFloat | UGenMethodMixin = 0, done_action: SupportsFloat | UGenMethodMixin = 0, channel_count: int = 1) PlayBuf
property buffer_id : SupportsFloat | UGenMethodMixin
property done_action : SupportsFloat | UGenMethodMixin
property loop : SupportsFloat | UGenMethodMixin
property rate : SupportsFloat | UGenMethodMixin
property start_position : SupportsFloat | UGenMethodMixin
property trigger : SupportsFloat | UGenMethodMixin
class RecordBuf(calculation_rate=None, buffer_id=None, offset=0.0, record_level=1.0, preexisting_level=0.0, run=1.0, loop=1.0, trigger=1.0, done_action=DoneAction.NOTHING, source=None, **kwargs)

Bases: UGen

Records or overdubs into a buffer.

>>> buffer_id = 23
>>> source = supriya.ugens.In.ar(bus=0, channel_count=2)
>>> record_buf = supriya.ugens.RecordBuf.ar(
...     buffer_id=buffer_id,
...     done_action=0,
...     loop=1,
...     offset=0,
...     preexisting_level=0,
...     record_level=1,
...     run=1,
...     source=source,
...     trigger=1,
... )
>>> record_buf
RecordBuf.ar()
classmethod ar(buffer_id: SupportsFloat | UGenMethodMixin | None = None, offset: SupportsFloat | UGenMethodMixin = 0.0, record_level: SupportsFloat | UGenMethodMixin = 1.0, preexisting_level: SupportsFloat | UGenMethodMixin = 0.0, run: SupportsFloat | UGenMethodMixin = 1.0, loop: SupportsFloat | UGenMethodMixin = 1.0, trigger: SupportsFloat | UGenMethodMixin = 1.0, done_action: SupportsFloat | UGenMethodMixin = DoneAction.NOTHING, source: SupportsFloat | UGenMethodMixin | None = None) RecordBuf
classmethod kr(buffer_id: SupportsFloat | UGenMethodMixin | None = None, offset: SupportsFloat | UGenMethodMixin = 0.0, record_level: SupportsFloat | UGenMethodMixin = 1.0, preexisting_level: SupportsFloat | UGenMethodMixin = 0.0, run: SupportsFloat | UGenMethodMixin = 1.0, loop: SupportsFloat | UGenMethodMixin = 1.0, trigger: SupportsFloat | UGenMethodMixin = 1.0, done_action: SupportsFloat | UGenMethodMixin = DoneAction.NOTHING, source: SupportsFloat | UGenMethodMixin | None = None) RecordBuf
property buffer_id : SupportsFloat | UGenMethodMixin
property done_action : SupportsFloat | UGenMethodMixin
property loop : SupportsFloat | UGenMethodMixin
property offset : SupportsFloat | UGenMethodMixin
property preexisting_level : SupportsFloat | UGenMethodMixin
property record_level : SupportsFloat | UGenMethodMixin
property run : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin
property trigger : SupportsFloat | UGenMethodMixin