.. This file is auto-generated by the Sphinx pre-build hook in
   ``docs/source/conf.py`` from ``docs/source/_data/patcher_objects.json``.
   Do not edit by hand — run ``dart run tool/gen_patcher_snapshot.dart``
   to refresh the JSON from the bound engine, then rebuild the docs.

Patcher object reference
========================

Every patcher object that :py:meth:`Patcher.createObject` accepts —
305 in all — grouped by category, one page per category. The
category is the one :py:class:`PatcherRegistry` reports
(``PatcherObjectType.category``, a ``PCategory``), which a host editor can
use to build its object palette.

Pass the type string, or the matching ``Obj`` constant shown with each
entry, as the first argument to :py:meth:`Patcher.createObject`. The
pages are generated from the engine registry of the ``libyse`` this
package binds, so they list exactly what ``createObject`` accepts. The
upstream libYSE docs add long-form notes for many objects:
:yse-cpp:`libYSE patcher object reference <patcher/objects/index.html>`.

.. list-table::
   :header-rows: 1
   :widths: 28 10 62

   * - Category
     - Objects
     - Contents
   * - :doc:`signal_generators`
     - 4
     - Audio-rate sources: oscillators, noise and ramps.
   * - :doc:`filters`
     - 4
     - Audio-rate filters.
   * - :doc:`math`
     - 69
     - Arithmetic, comparison, conversion, scaling and analysis of numbers.
   * - :doc:`random`
     - 5
     - Random numbers, random walks and probabilistic choices.
   * - :doc:`routing`
     - 13
     - Steering messages between inlets and outlets.
   * - :doc:`control_flow`
     - 11
     - Ordering, looping, conditions and load-time messages.
   * - :doc:`lists`
     - 11
     - Building lists, taking them apart and processing them.
   * - :doc:`strings`
     - 10
     - Text, symbols and character codes.
   * - :doc:`collections`
     - 6
     - Stores that hold numbers or messages for later recall.
   * - :doc:`dictionaries`
     - 13
     - The ``.dict`` family: keyed, nested data.
   * - :doc:`arrays`
     - 57
     - The ``.array`` family: ordered data and the operations on it.
   * - :doc:`time`
     - 17
     - Clocks, delays, ramps, rate limiting and tempo.
   * - :doc:`sequencing`
     - 3
     - Recording messages and playing them back in time.
   * - :doc:`midi`
     - 45
     - Formatting, parsing and note handling for MIDI, and MIDI device I/O.
   * - :doc:`gui`
     - 25
     - User-facing controls and message boxes, driven by the GUI value protocol.
   * - :doc:`input_output`
     - 7
     - Audio in and out of the graph, named send/receive, and host-facing I/O.
   * - :doc:`subpatchers`
     - 5
     - Subpatchers and the inlets and outlets that form their boundary.

.. toctree::
   :hidden:
   :maxdepth: 1

   signal_generators
   filters
   math
   random
   routing
   control_flow
   lists
   strings
   collections
   dictionaries
   arrays
   time
   sequencing
   midi
   gui
   input_output
   subpatchers
