requests

Classes for modeling requests to scsynth.

class AllocateBuffer(buffer_id: SupportsInt, frame_count: int, channel_count: int = 1, on_completion: SupportsOsc | None = None)

Bases: Request

A /b_alloc request.

>>> from supriya.contexts.requests import AllocateBuffer, NormalizeBuffer
>>> request = AllocateBuffer(
...     buffer_id=1,
...     frame_count=512,
...     channel_count=1,
...     on_completion=NormalizeBuffer(buffer_id=1),
... )
>>> request.to_osc()
OscMessage('/b_alloc', 1, 512, 1, OscMessage('/b_gen', 1, 'normalize', 1.0))
to_osc() OscMessage
class AllocateReadBuffer(buffer_id: SupportsInt, path: PathLike, starting_frame: int = 0, frame_count: int = 0, on_completion: SupportsOsc | None = None)

Bases: Request

A /b_allocRead request.

>>> from supriya.contexts.requests import AllocateReadBuffer, NormalizeBuffer
>>> request = AllocateReadBuffer(
...     buffer_id=1,
...     path="path/to/audio.wav",
...     starting_frame=32,
...     frame_count=512,
...     on_completion=NormalizeBuffer(buffer_id=1),
... )
>>> request.to_osc()
OscMessage('/b_allocRead', 1, 'path/to/audio.wav', 32, 512, OscMessage('/b_gen', 1, 'normalize', 1.0))
to_osc() OscMessage
class AllocateReadBufferChannel(buffer_id: SupportsInt, path: PathLike, channel_indices: Sequence[int], starting_frame: int = 0, frame_count: int = 0, on_completion: SupportsOsc | None = None)

Bases: Request

A /b_allocReadChannel request.

>>> from supriya.contexts.requests import AllocateReadBufferChannel, NormalizeBuffer
>>> request = AllocateReadBufferChannel(
...     buffer_id=1,
...     path="path/to/audio.wav",
...     channel_indices=[1, 2],
...     starting_frame=32,
...     frame_count=512,
...     on_completion=NormalizeBuffer(buffer_id=1),
... )
>>> request.to_osc()
OscMessage('/b_allocReadChannel', 1, 'path/to/audio.wav', 32, 512, 1, 2, OscMessage('/b_gen', 1, 'normalize', 1.0))
to_osc() OscMessage
class AutoReassignSynthID(synth_ids: Sequence[SupportsInt])

Bases: Request

A /s_noid request.

>>> from supriya.contexts.requests import AutoReassignSynthID
>>> request = AutoReassignSynthID(synth_ids=[1, 2, 3])
>>> request.to_osc()
OscMessage('/s_noid', 1, 2, 3)
to_osc() OscMessage
class ClearSchedule

Bases: Request

A /clearSched request.

>>> from supriya.contexts.requests import ClearSchedule
>>> request = ClearSchedule()
>>> request.to_osc()
OscMessage('/clearSched')
to_osc() OscMessage
class CloseBuffer(buffer_id: SupportsInt, on_completion: Requestable | None = None)

Bases: Request

A /b_close request.

>>> from supriya.contexts.requests import CloseBuffer, FreeNode
>>> request = CloseBuffer(buffer_id=1, on_completion=FreeNode(node_ids=[1]))
>>> request.to_osc()
OscMessage('/b_close', 1, OscMessage('/n_free', 1))
to_osc() OscMessage
class CopyBuffer(source_buffer_id: SupportsInt, target_buffer_id: SupportsInt, frame_count: int = -1, source_starting_frame: int = 0, target_starting_frame: int = 0)

Bases: Request

A /b_gen copy request.

>>> from supriya.contexts.requests import CopyBuffer
>>> request = CopyBuffer(
...     source_buffer_id=1,
...     target_buffer_id=2,
...     frame_count=512,
...     source_starting_frame=0,
...     target_starting_frame=128,
... )
>>> request.to_osc()
OscMessage('/b_gen', 2, 'copy', 128, 1, 0, 512)
to_osc() OscMessage
class DoNothing

Bases: Request

A “nothing” request.

>>> from supriya.contexts.requests import DoNothing
>>> request = DoNothing()
>>> request.to_osc()
OscMessage(0)
to_osc() OscMessage
class DumpOsc(code: int)

Bases: Request

A /dumpOSC request.

>>> from supriya.contexts.requests import DumpOsc
>>> request = DumpOsc(True)
>>> request.to_osc()
OscMessage('/dumpOSC', 1)
to_osc() OscMessage
class DumpTree(items: Sequence[tuple[SupportsInt, bool]])

Bases: Request

A /g_dumpTree request.

>>> from supriya.contexts.requests import DumpTree
>>> request = DumpTree(items=[(0, True)])
>>> request.to_osc()
OscMessage('/g_dumpTree', 0, True)
to_osc() OscMessage
class FillBuffer(buffer_id: SupportsInt, items: Sequence[tuple[int, int, float]])

Bases: Request

A /b_fill request.

>>> from supriya.contexts.requests import FillBuffer
>>> request = FillBuffer(
...     buffer_id=1,
...     items=[(32, 64, 0.5)],
... )
>>> request.to_osc()
OscMessage('/b_fill', 1, 32, 64, 0.5)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class FillControlBusRange(items: Sequence[tuple[SupportsInt, int, float]])

Bases: Request

A /c_fill request.

>>> from supriya.contexts.requests import FillControlBusRange
>>> request = FillControlBusRange(
...     items=[(4, 12, 0.25), (32, 4, 440.0)],
... )
>>> request.to_osc()
OscMessage('/c_fill', 4, 12, 0.25, 32, 4, 440.0)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class FillNode(node_id: SupportsInt, items: Sequence[tuple[int | str, int, float]])

Bases: Request

A /n_fill request.

>>> from supriya.contexts.requests import FillNode
>>> request = FillNode(node_id=1000, items=[("frequency", 7, 432.0)])
>>> request.to_osc()
OscMessage('/n_fill', 1000, 'frequency', 7, 432.0)
to_osc() OscMessage
class FreeAllSynthDefs

Bases: Request

A /d_freeAll request.

>>> from supriya.contexts.requests import FreeAllSynthDefs
>>> request = FreeAllSynthDefs()
>>> request.to_osc()
OscMessage('/d_freeAll')
to_osc() OscMessage
class FreeBuffer(buffer_id: SupportsInt, on_completion: Requestable | None = None)

Bases: Request

A /b_free request.

>>> from supriya.contexts.requests import FreeBuffer, FreeNode
>>> request = FreeBuffer(
...     buffer_id=1,
...     on_completion=FreeNode(node_ids=[1000]),
... )
>>> request.to_osc()
OscMessage('/b_free', 1, OscMessage('/n_free', 1000))
to_osc() OscMessage
class FreeGroupChildren(node_ids: Sequence[SupportsInt])

Bases: Request

A /g_freeAll request.

>>> from supriya.contexts.requests import FreeGroupChildren
>>> request = FreeGroupChildren(node_ids=[1])
>>> request.to_osc()
OscMessage('/g_freeAll', 1)
to_osc() OscMessage
class FreeGroupDeep(node_ids: Sequence[SupportsInt])

Bases: Request

A /g_deepFree request.

>>> from supriya.contexts.requests import FreeGroupDeep
>>> request = FreeGroupDeep(node_ids=[1])
>>> request.to_osc()
OscMessage('/g_deepFree', 1)
to_osc() OscMessage
class FreeNode(node_ids: Sequence[SupportsInt])

Bases: Request

A /n_free request.

>>> from supriya.contexts.requests import FreeNode
>>> request = FreeNode(node_ids=[1000, 1001])
>>> request.to_osc()
OscMessage('/n_free', 1000, 1001)
to_osc() OscMessage
class FreeSynthDef(synthdefs: Sequence[SynthDef | str])

Bases: Request

A /d_free request.

>>> from supriya.contexts.requests import FreeSynthDef
>>> request = FreeSynthDef(synthdefs=["default"])
>>> request.to_osc()
OscMessage('/d_free', 'default')
to_osc() OscMessage
class GenerateBuffer(buffer_id: SupportsInt, command_name: 'sine1' | 'sine2' | 'sine3' | 'cheby', amplitudes: Sequence[float], frequencies: Sequence[float] | None, phases: Sequence[float] | None, as_wavetable: bool = False, should_clear_first: bool = False, should_normalize: bool = False)

Bases: Request

A /b_gen request, for use with sine1, sine2, sine3 and cheby commands.

>>> from supriya.contexts.requests import GenerateBuffer
>>> request = GenerateBuffer(
...     buffer_id=1,
...     command_name="sine3",
...     amplitudes=[1, 2, 3],
...     frequencies=[4, 5, 6],
...     phases=[0.25, 0.5, 0.75],
...     should_normalize=True,
... )
>>> request.to_osc()
OscMessage('/b_gen', 1, 'sine3', 1, 4.0, 1.0, 0.25, 5.0, 2.0, 0.5, 6.0, 3.0, 0.75)
to_osc() OscMessage
class GetBuffer(buffer_id: SupportsInt, indices: Sequence[int])

Bases: Request

A /b_get request.

>>> from supriya.contexts.requests import GetBuffer
>>> request = GetBuffer(
...     buffer_id=1,
...     indices=[0, 4, 8],
... )
>>> request.to_osc()
OscMessage('/b_get', 1, 0, 4, 8)
to_osc() OscMessage
class GetBufferRange(buffer_id: SupportsInt, items: Sequence[tuple[int, int]])

Bases: Request

A /b_getn request.

>>> from supriya.contexts.requests import GetBufferRange
>>> request = GetBufferRange(
...     buffer_id=1,
...     items=[(0, 4), (32, 8)],
... )
>>> request.to_osc()
OscMessage('/b_getn', 1, 0, 4, 32, 8)
to_osc() OscMessage
class GetControlBus(bus_ids: Sequence[SupportsInt])

Bases: Request

A /c_get request.

>>> from supriya.contexts.requests import GetControlBus
>>> request = GetControlBus(bus_ids=[1, 2, 3])
>>> request.to_osc()
OscMessage('/c_get', 1, 2, 3)
to_osc() OscMessage
class GetControlBusRange(items: Sequence[tuple[SupportsInt, int]])

Bases: Request

A /c_getn request.

>>> from supriya.contexts.requests import GetControlBusRange
>>> request = GetControlBusRange(items=[(0, 4), (8, 16)])
>>> request.to_osc()
OscMessage('/c_getn', 0, 4, 8, 16)
to_osc() OscMessage
class GetSynthControl(synth_id: SupportsInt, controls: Sequence[int | str])

Bases: Request

A /s_get request.

>>> from supriya.contexts.requests import GetSynthControl
>>> request = GetSynthControl(
...     synth_id=1000,
...     controls=["frequency", "amplitude"],
... )
>>> request.to_osc()
OscMessage('/s_get', 1000, 'frequency', 'amplitude')
to_osc() OscMessage
class GetSynthControlRange(synth_id: SupportsInt, items: Sequence[tuple[int | str, int]])

Bases: Request

A /s_getn request.

>>> from supriya.contexts.requests import GetSynthControlRange
>>> request = GetSynthControlRange(
...     synth_id=1000,
...     items=[("frequency", 8)],
... )
>>> request.to_osc()
OscMessage('/s_getn', 1000, 'frequency', 8)
to_osc() OscMessage
class LoadSynthDefDirectory(path: PathLike, on_completion: Requestable | None = None)

Bases: Request

A /d_loadDir request.

>>> from supriya.contexts.requests import LoadSynthDefDirectory, NewGroup
>>> request = LoadSynthDefDirectory(
...     path="path/to/synthdefs/",
...     on_completion=NewGroup(items=[(1000, "add to tail", 1)]),
... )
>>> request.to_osc()
OscMessage('/d_loadDir', 'path/to/synthdefs/', OscMessage('/g_new', 1000, 1, 1))
to_osc() OscMessage
class LoadSynthDefs(path: PathLike, on_completion: Requestable | None = None)

Bases: Request

A /d_load request.

>>> from supriya.contexts.requests import LoadSynthDefs, NewGroup
>>> request = LoadSynthDefs(
...     path="path/to/synthdef-*.scsyndef",
...     on_completion=NewGroup(items=[(1000, "add to tail", 1)]),
... )
>>> request.to_osc()
OscMessage('/d_load', 'path/to/synthdef-*.scsyndef', OscMessage('/g_new', 1000, 1, 1))
to_osc() OscMessage
class MapAudioBusRangeToNode(node_id: SupportsInt, items: Sequence[tuple[int | str, SupportsInt, int]])

Bases: Request

A /n_mapan request.

>>> from supriya.contexts.requests import MapAudioBusRangeToNode
>>> request = MapAudioBusRangeToNode(node_id=1000, items=[("frequency", 0, 4)])
>>> request.to_osc()
OscMessage('/n_mapan', 1000, 'frequency', 0, 4)
to_osc() OscMessage
class MapAudioBusToNode(node_id: SupportsInt, items: Sequence[tuple[int | str, SupportsInt]])

Bases: Request

A /n_mapa request.

>>> from supriya.contexts.requests import MapAudioBusToNode
>>> request = MapAudioBusToNode(
...     node_id=1000,
...     items=[("frequency", 0)],
... )
>>> request.to_osc()
OscMessage('/n_mapa', 1000, 'frequency', 0)
to_osc() OscMessage
class MapControlBusRangeToNode(node_id: SupportsInt, items: Sequence[tuple[int | str, SupportsInt, int]])

Bases: Request

A /n_mapn request.

>>> from supriya.contexts.requests import MapControlBusRangeToNode
>>> request = MapControlBusRangeToNode(node_id=1000, items=[("frequency", 0, 4)])
>>> request.to_osc()
OscMessage('/n_mapn', 1000, 'frequency', 0, 4)
to_osc() OscMessage
class MapControlBusToNode(node_id: SupportsInt, items: Sequence[tuple[int | str, SupportsInt]])

Bases: Request

A /n_map request.

>>> from supriya.contexts.requests import MapControlBusToNode
>>> request = MapControlBusToNode(
...     node_id=1000,
...     items=[("frequency", 0)],
... )
>>> request.to_osc()
OscMessage('/n_map', 1000, 'frequency', 0)
to_osc() OscMessage
class MoveNodeAfter(items: Sequence[tuple[SupportsInt, SupportsInt]])

Bases: Request

A /n_after request.

>>> from supriya.contexts.requests import MoveNodeAfter
>>> request = MoveNodeAfter(
...     items=[(2000, 1001), (3000, 2001)],
... )
>>> request.to_osc()
OscMessage('/n_after', 2000, 1001, 3000, 2001)
to_osc() OscMessage
class MoveNodeBefore(items: Sequence[tuple[SupportsInt, SupportsInt]])

Bases: Request

A /n_before request.

>>> from supriya.contexts.requests import MoveNodeBefore
>>> request = MoveNodeBefore(
...     items=[(2000, 1001), (3000, 2001)],
... )
>>> request.to_osc()
OscMessage('/n_before', 2000, 1001, 3000, 2001)
to_osc() OscMessage
class MoveNodeToGroupHead(items: Sequence[tuple[SupportsInt, SupportsInt]])

Bases: Request

A /g_head request.

>>> from supriya.contexts.requests import MoveNodeToGroupHead
>>> request = MoveNodeToGroupHead(
...     items=[(1000, 1), (1001, 1)],
... )
>>> request.to_osc()
OscMessage('/g_head', 1, 1000, 1, 1001)
to_osc() OscMessage
class MoveNodeToGroupTail(items: Sequence[tuple[SupportsInt, SupportsInt]])

Bases: Request

A /g_tail request.

>>> from supriya.contexts.requests import MoveNodeToGroupTail
>>> request = MoveNodeToGroupTail(
...     items=[(1000, 1), (1001, 1)],
... )
>>> request.to_osc()
OscMessage('/g_tail', 1, 1000, 1, 1001)
to_osc() OscMessage
class NewGroup(items: Sequence[tuple[SupportsInt, AddAction | SupportsInt | str | None, SupportsInt]])

Bases: Request

A /g_new request.

>>> from supriya.contexts.requests import NewGroup
>>> request = NewGroup(
...     items=[(1000, "ADD_TO_TAIL", 1)],
... )
>>> request.to_osc()
OscMessage('/g_new', 1000, 1, 1)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class NewParallelGroup(items: Sequence[tuple[SupportsInt, AddAction | SupportsInt | str | None, SupportsInt]])

Bases: Request

A /p_new request.

>>> from supriya.contexts.requests import NewParallelGroup
>>> request = NewParallelGroup(items=[(1000, "ADD_TO_TAIL", 1)])
>>> request.to_osc()
OscMessage('/p_new', 1000, 1, 1)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class NewSynth(synthdef: SynthDef | str, synth_id: SupportsInt, add_action: AddAction | SupportsInt | str | None, target_node_id: SupportsInt, controls: dict[int | str, SupportsFloat | str] | None = None)

Bases: Request

A /s_new request.

>>> from supriya import default
>>> from supriya.contexts.requests import NewSynth
>>> request = NewSynth(
...     synthdef=default,
...     synth_id=1001,
...     add_action="ADD_TO_TAIL",
...     target_node_id=1000,
...     controls={
...         "frequency": 432.0,
...         "amplitude": 0.5,
...         "panning": "c0",
...     },
... )
>>> request.to_osc()
OscMessage('/s_new', 'default', 1001, 1, 1000, 'amplitude', 0.5, 'frequency', 432.0, 'panning', 'c0')
to_osc() OscMessage
class NormalizeBuffer(buffer_id: SupportsInt, new_maximum: float = 1.0, as_wavetable: bool = False)

Bases: Request

A /b_gen normalize (or wnormalize) request.

>>> from supriya.contexts.requests import NormalizeBuffer
>>> request = NormalizeBuffer(
...     buffer_id=1,
...     new_maximum=0.999,
... )
>>> request.to_osc()
OscMessage('/b_gen', 1, 'normalize', 0.999)
to_osc() OscMessage
class OrderNodes(add_action: AddAction | SupportsInt | str | None, target_node_id: SupportsInt, node_ids: Sequence[SupportsInt])

Bases: Request

A /n_order request.

>>> from supriya.contexts.requests import OrderNodes
>>> request = OrderNodes(
...     add_action="ADD_AFTER",
...     target_node_id=1000,
...     node_ids=[1003, 1002, 1001],
... )
>>> request.to_osc()
OscMessage('/n_order', 3, 1000, 1003, 1002, 1001)
to_osc() OscMessage
class QueryBuffer(buffer_ids: Sequence[int])

Bases: Request

A /b_query request.

>>> from supriya.contexts.requests import QueryBuffer
>>> request = QueryBuffer(buffer_ids=[1, 2, 3])
>>> request.to_osc()
OscMessage('/b_query', 1, 2, 3)
to_osc() OscMessage
class QueryNode(node_ids: Sequence[SupportsInt])

Bases: Request

A /n_query request.

>>> from supriya.contexts.requests import QueryNode
>>> request = QueryNode(node_ids=[1000, 1001])
>>> request.to_osc()
OscMessage('/n_query', 1000, 1001)
to_osc() OscMessage
class QueryStatus

Bases: Request

A /status request.

>>> from supriya.contexts.requests import QueryStatus
>>> request = QueryStatus()
>>> request.to_osc()
OscMessage('/status')
to_osc() OscMessage
class QueryTree(items: Sequence[tuple[SupportsInt, bool]])

Bases: Request

A /g_queryTree request.

>>> from supriya.contexts.requests import QueryTree
>>> request = QueryTree(items=[(0, True)])
>>> request.to_osc()
OscMessage('/g_queryTree', 0, 1)
to_osc() OscMessage
class QueryVersion

Bases: Request

A /version request.

>>> from supriya.contexts.requests import QueryVersion
>>> request = QueryVersion()
>>> request.to_osc()
OscMessage('/version')
to_osc() OscMessage
class Quit

Bases: Request

A /quit request.

>>> from supriya.contexts.requests import Quit
>>> request = Quit()
>>> request.to_osc()
OscMessage('/quit')
to_osc() OscMessage
class ReadBuffer(buffer_id: SupportsInt, path: PathLike, frame_count: int = -1, leave_open: bool = False, starting_frame_in_buffer: int = 0, starting_frame_in_file: int = 0, on_completion: Requestable | None = None)

Bases: Request

A /b_read request.

>>> from supriya.contexts.requests import NormalizeBuffer, ReadBuffer
>>> request = ReadBuffer(
...     buffer_id=1,
...     path="path/to/audio.wav",
...     on_completion=NormalizeBuffer(buffer_id=1),
... )
>>> request.to_osc()
OscMessage('/b_read', 1, 'path/to/audio.wav', 0, -1, 0, 0, OscMessage('/b_gen', 1, 'normalize', 1.0))
to_osc() OscMessage
class ReadBufferChannel(buffer_id: SupportsInt, path: PathLike, channel_indices: Sequence[int] | None = None, frame_count: int = -1, leave_open: bool = False, starting_frame_in_buffer: int = 0, starting_frame_in_file: int = 0, on_completion: Requestable | None = None)

Bases: Request

A /b_readChannel request.

>>> from supriya.contexts.requests import NormalizeBuffer, ReadBufferChannel
>>> request = ReadBufferChannel(
...     buffer_id=1,
...     path="path/to/audio.wav",
...     channel_indices=[2, 4],
...     on_completion=NormalizeBuffer(buffer_id=1),
... )
>>> request.to_osc()
OscMessage('/b_readChannel', 1, 'path/to/audio.wav', 0, -1, 0, 0, 2, 4, OscMessage('/b_gen', 1, 'normalize', 1.0))
to_osc() OscMessage
class ReceiveSynthDefs(synthdefs: Sequence[SynthDef], on_completion: Requestable | None = None)

Bases: Request

A /d_recv request.

>>> from supriya import default
>>> from supriya.contexts.requests import NewSynth, ReceiveSynthDefs
>>> request = ReceiveSynthDefs(
...     synthdefs=[default],
...     on_completion=NewSynth(
...         synthdef=default,
...         synth_id=1000,
...         add_action="ADD_TO_TAIL",
...         target_node_id=1,
...     ),
... )
>>> request.to_osc()
OscMessage('/d_recv', b'SCgf\x00\x00\x00\x02\x00\x01\x07default\x00\x00\x00\x0c\x00\x00\x00\x00>\x99\x99\x9a<#\xd7\n?333@\x00\x00\x00\xbe\xcc\xcc\xcd>\xcc\xcc\xcdEz\x00\x00E\x9c@\x00E\x1c@\x00EH\x00\x00?\x80\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00=\xcc\xcc\xcdC\xdc\x00\x00?\x80\x00\x00?\x00\x00\x00\x00\x00\x00\x05\tamplitude\x00\x00\x00\x01\tfrequency\x00\x00\x00\x02\x04gate\x00\x00\x00\x03\x03out\x00\x00\x00\x00\x03pan\x00\x00\x00\x04\x00\x00\x00\x14\x07Control\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x07Control\x01\x00\x00\x00\x00\x00\x00\x00\x04\x00\x01\x01\x01\x01\x01\x06VarSaw\x02\x00\x00\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x01\x02\x05Linen\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x02\xff\xff\xff\xff\x00\x00\x00\x02\xff\xff\xff\xff\x00\x00\x00\x03\xff\xff\xff\xff\x00\x00\x00\x01\xff\xff\xff\xff\x00\x00\x00\x04\x01\x04Rand\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\xff\xff\xff\xff\x00\x00\x00\x05\xff\xff\xff\xff\x00\x00\x00\x00\x00\x0cBinaryOpUGen\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x00\x01\x06VarSaw\x02\x00\x00\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x01\x02\x04Rand\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x06\x00\x0cBinaryOpUGen\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x07\x00\x00\x00\x00\x01\x06VarSaw\x02\x00\x00\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x01\x02\x04Sum3\x02\x00\x00\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x00\x02\x0cBinaryOpUGen\x02\x00\x00\x00\x02\x00\x00\x00\x01\x00\x02\x00\x00\x00\n\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x01\x02\x04Rand\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\xff\xff\xff\xff\x00\x00\x00\x07\xff\xff\xff\xff\x00\x00\x00\x08\x00\x04Rand\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\xff\xff\xff\xff\x00\x00\x00\t\xff\xff\xff\xff\x00\x00\x00\n\x00\x05XLine\x01\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\r\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x0b\xff\xff\xff\xff\x00\x00\x00\x00\x01\x03LPF\x02\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x02\x0cBinaryOpUGen\x02\x00\x00\x00\x02\x00\x00\x00\x01\x00\x02\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x02\x0cBinaryOpUGen\x02\x00\x00\x00\x02\x00\x00\x00\x01\x00\x02\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x02\x04Pan2\x02\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x03\xff\xff\xff\xff\x00\x00\x00\x0b\x02\x02\tOffsetOut\x02\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x01\x00\x00', OscMessage('/s_new', 'default', 1000, 1, 1))
to_osc() OscMessage
class ReleaseNode(node_id: <class 'SupportsInt'>, has_gate: bool = False, force: bool = False)

Bases: Request

to_osc() OscMessage
class Request

Bases: Requestable

Abstract base for request classes.

classmethod merge(requests: list[Request]) list[Request]
class RequestBundle(contents: Sequence[Requestable], timestamp: float | None = None)

Bases: Requestable

A bundle of requestables to be executed at a timestamp.

to_osc() OscBundle
class Requestable

Bases: ABC

Abstract base for request-like classes.

communicate(server: Server, timeout: float = 1.0) Response | None
async communicate_async(server: AsyncServer, timeout: float = 1.0) Response | None
abstract to_osc() OscBundle | OscMessage
class RunNode(items: Sequence[tuple[SupportsInt, bool]])

Bases: Request

A /n_run request.

>>> from supriya.contexts.requests import RunNode
>>> request = RunNode(items=[(1000, True)])
>>> request.to_osc()
OscMessage('/n_run', 1000, 1)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class SetBuffer(buffer_id: SupportsInt, items: Sequence[tuple[int, float]])

Bases: Request

A /b_set request.

>>> from supriya.contexts.requests import SetBuffer
>>> request = SetBuffer(
...     buffer_id=1,
...     items=[(0, 0.5), (8, 0.25)],
... )
>>> request.to_osc()
OscMessage('/b_set', 1, 0, 0.5, 8, 0.25)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class SetBufferRange(buffer_id: SupportsInt, items: Sequence[tuple[int, Sequence[float]]])

Bases: Request

A /b_setn request.

>>> from supriya.contexts.requests import SetBufferRange
>>> request = SetBufferRange(
...     buffer_id=1,
...     items=[(0, (0.1, 0.2, 0.3)), (8, (0.4, 0.5))],
... )
>>> request.to_osc()
OscMessage('/b_setn', 1, 0, 3, 0.1, 0.2, 0.3, 8, 2, 0.4, 0.5)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class SetControlBus(items: Sequence[tuple[SupportsInt, float]])

Bases: Request

A /c_set request.

>>> from supriya.contexts.requests import SetControlBus
>>> request = SetControlBus(items=[(0, 0.5), (4, 0.75)])
>>> request.to_osc()
OscMessage('/c_set', 0, 0.5, 4, 0.75)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class SetControlBusRange(items: Sequence[tuple[SupportsInt, Sequence[float]]])

Bases: Request

A /c_setn request.

>>> from supriya.contexts.requests import SetControlBusRange
>>> request = SetControlBusRange(
...     items=[(8, [1.1, 2.2, 3.3]), (16, [4.4, 5.5])],
... )
>>> request.to_osc()
OscMessage('/c_setn', 8, 3, 1.1, 2.2, 3.3, 16, 2, 4.4, 5.5)
classmethod merge(requests: list[Request]) list[Request]
to_osc() OscMessage
class SetNodeControl(node_id: SupportsInt, items: Sequence[tuple[int | str, float | Sequence[float]]])

Bases: Request

A /n_set request.

>>> from supriya.contexts.requests import SetNodeControl
>>> request = SetNodeControl(
...     node_id=1000,
...     items=[
...         ("frequency", 440.0),
...         ("amplitude", 1.0),
...         (3, 1.234),
...         ("positions", [0.5, 0.25, 0.75]),
...         (4, [0.1, 0.2]),
...     ],
... )
>>> request.to_osc()
OscMessage('/n_set', 1000, 'frequency', 440.0, 'amplitude', 1.0, 3, 1.234, 'positions', [0.5, 0.25, 0.75], 4, [0.1, 0.2])
to_osc() OscMessage
class SetNodeControlRange(node_id: SupportsInt, items: Sequence[tuple[int | str, Sequence[float]]])

Bases: Request

A /n_setn request.

>>> from supriya.contexts.requests import SetNodeControlRange
>>> request = SetNodeControlRange(
...     node_id=1000,
...     items=[
...         ("frequency", (440.0, 441.0, 432.0)),
...         (3, (0.5, 0.25, 0.75)),
...     ],
... )
>>> request.to_osc()
OscMessage('/n_setn', 1000, 'frequency', 3, 440.0, 441.0, 432.0, 3, 3, 0.5, 0.25, 0.75)
to_osc() OscMessage
class Sync(sync_id: int)

Bases: Request

A /sync request.

>>> from supriya.contexts.requests import Sync
>>> request = Sync(42)
>>> request.to_osc()
OscMessage('/sync', 42)
to_osc() OscMessage
class ToggleErrorReporting(code: 0 | 1 | typing.Literal[-1] | typing.Literal[-2])

Bases: Request

A /error request.

>>> from supriya.contexts.requests import ToggleErrorReporting
>>> request = ToggleErrorReporting(code=1)
>>> request.to_osc()
OscMessage('/error', 1)
to_osc() OscMessage
class ToggleNotifications(should_notify: bool, client_id: int | None = None)

Bases: Request

A /notify request.

>>> from supriya.contexts.requests import ToggleNotifications
>>> request = ToggleNotifications(True)
>>> request.to_osc()
OscMessage('/notify', 1)
to_osc() OscMessage
class TraceNode(node_ids: Sequence[SupportsInt])

Bases: Request

A /n_trace request.

>>> from supriya.contexts.requests import TraceNode
>>> request = TraceNode(node_ids=[1, 2, 3])
>>> request.to_osc()
OscMessage('/n_trace', 1, 2, 3)
to_osc() OscMessage
class WriteBuffer(buffer_id: SupportsInt, path: PathLike, header_format: HeaderFormat | SupportsInt | str | None, sample_format: SampleFormat | SupportsInt | str | None, frame_count: int = -1, starting_frame: int = 0, leave_open: bool = False, on_completion: Requestable | None = None)

Bases: Request

A /b_write request.

>>> from supriya.contexts.requests import FreeBuffer, WriteBuffer
>>> request = WriteBuffer(
...     buffer_id=1,
...     path="path/to/audio.wav",
...     header_format="wav",
...     sample_format="int24",
...     on_completion=FreeBuffer(buffer_id=1),
... )
>>> request.to_osc()
OscMessage('/b_write', 1, 'path/to/audio.wav', 'wav', 'int24', -1, 0, 0, OscMessage('/b_free', 1))
to_osc() OscMessage
class ZeroBuffer(buffer_id: SupportsInt, on_completion: Requestable | None = None)

Bases: Request

A /b_zero request.

>>> from supriya.contexts.requests import FreeNode, ZeroBuffer
>>> request = ZeroBuffer(
...     buffer_id=1,
...     on_completion=FreeNode(node_ids=[1000]),
... )
>>> request.to_osc()
OscMessage('/b_zero', 1, OscMessage('/n_free', 1000))
to_osc() OscMessage