Skip to content

sfruit

Contributors

People who contribute to this project.

Objects

  • SOSCroute SOSCroute is presented as a variant of OSCroute for routing OSC-style messages, with an additional feature that the help patch does not explain.
  • anysoundfiler anysoundfiler accepts a soundfiler-style read -resize message to load a file into two channel arrays.
  • bb bb outputs a bang to a preset send destination.
  • beat2frac beat2frac converts a beat division into its length as a fraction, for use with a tempo expressed in milliseconds per beat.
  • color.hashedcolor color.hashedcolor generates a random but consistent color from an input such as a symbol.
  • color.rgbset color.rgbset makes it easy to set colors for Pd GUI objects from a triplet of 0–255 RGB values.
  • countseq countseq counts beats within a measure and produces separate bangs for specified accented beat numbers.
  • cpugraph cpugraph is a graph-on-parent (GOP) widget for monitoring CPU usage in Pure Data.
  • deadzone deadzone converts all input values within the range −N through 0 to N.
  • delegate_setter delegate_setter can be placed in a value stream to invoke a delegate around setting a named variable.
  • dialog.under-cursor dialog.under-cursor constructs an appropriate message for placing a dialog window under the cursor.
  • dialog.yes-no dialog.yes-no spawns a yes/no dialog box, providing a simple way to ask the user a binary question.
  • donecanvasdialog donecanvasdialog configures canvas graph-on-parent settings, including unit dimensions, graph-on-parent mode, origin, and display geometry.
  • dynamic-gui-messages dynamic-gui-messages demonstrates message formats for dynamically creating Pd GUI objects such as vsl, vradio, and tgl.
  • gop-edit gop-edit lets you use the mouse or number boxes to make an adjustment while holding down the letters “GOP” on the keyboard.
  • guilink guilink links two GUI elements so that they reflect each other, using a uniform naming scheme based on a shared prefix such as $0.frequency.
  • hotpack hotpack is described as working like Pd’s pack object.
  • if if evaluates its input with a predicate object that outputs 0 or 1, such as < or ==, and sends values satisfying that predicate from its left outlet.
  • ifspigot ifspigot is a receiver-conditional spigot that opens or closes according to a test value received through the receiver named by its first argument.
  • instance instance keeps track of how many times it has been created, making it useful inside abstractions for assigning instance numbers.
  • keycommand keycommand assigns a keyboard key to a Pd receiver, allowing a key press to trigger messages at that receiver.
  • keymodroute keymodroute diverts an incoming message stream to its right outlet when the specified modifier key is held.
  • keynamedown keynamedown outputs the name reported by keyname only when a key is pressed.
  • keynameonly keynameonly listens only for keystrokes from the key specified by its creation argument.
  • line-seq line-seq is like line, but it outputs the integer values between a starting value and a target value.
  • list-change list-change is the list equivalent of change: it outputs a list only when it is new or different.
  • list-decorate list-decorate calls a user-defined process on an incoming list and inserts the process result into that list.
  • list-dripx list-dripx outputs a specified number of elements from a list at a time.
  • list-extendq list-extendq builds and stores a list from incoming elements or lists.
  • list-extract list-extract grabs a specified number of elements from a zero-based position in a list, providing the extracted elements and the remaining list.
  • list-grow list-grow grows a list by appending each new incoming item.
  • list-idx-list list-idx-list is a wrapper for list-idx, demonstrated with a list of words supplied as creation arguments.
  • list-idx-many list-idx-many is like list-idx, but it accepts multiple indices and retrieves the corresponding elements from an input list.
  • list-in list-in checks whether an item exists in a list.
  • list-part list-part splits an incoming list into a head and a tail.
  • list-partslow list-partslow serializes a delimited list on demand.
  • list-range list-range creates a list of numbers over a specified range, stopping just before the upper bound.
  • list-remove list-remove removes a specified number of elements from a list, beginning at a given zero-based position.
  • list-sample list-sample grabs a specified number of unique random items from an incoming list.
  • list-shuffle list-shuffle reorders an incoming list randomly.
  • list-slice list-slice extracts a slice from the interior of a list, using two arguments to define the slice boundaries.
  • list-split-at list-split-at splits an input list into multiple lists at occurrences of a specified atom, such as /.
  • list-toggle-pairs list-toggle-pairs turns a stream of item/toggle pairs into a list of currently active unique items, making it useful for tracking which keys are being held.
  • list-union-merge list-union-merge appends each value received in the right inlet to each value in a list, producing merged combinations such as /a /b /c with /1 /2 /3.
  • list-value list-value works like Pd's v/value object but stores lists or other message types, and newly instantiated objects are updated as with v.
  • list-value-extend list-value-extend appends new input to the current list value stored under a given name.
  • list-zip list-zip interweaves the elements of two or more lists into a single list.
  • midi-stream2notes midi-stream2notes converts a stream of MIDI note-on and note-off events into completed note records, as illustrated by the output 74 112 226741 226920 (pitch, velocity, start time, and end time).
  • myifspigot myifspigot controls a spigot by comparing the value received under a specified receiver name with a threshold using a chosen comparison operator.
  • pausetimer pausetimer is a pausable timer, intended for measuring time while allowing the count to be paused and resumed.
  • pd~.abstraction pd~.abstraction makes using pd~ more like instantiating a regular abstraction: supply the abstraction name and its arguments, as in pd~.abstraction pd~.triple-ringmod 440.
  • quantize quantize rounds an input number to the next multiple of its argument.
  • randrange randrange produces random numbers in the range from its first argument through one less than its second argument.
  • rprint rprint intercepts messages sent to a named destination and prints them to the Pd console, making it useful for monitoring sends.
  • savebang savebang outputs a bang when its containing patch is saved.
  • saveclear saveclear sends a clear message to a subpatch before an unspecified event, making it useful for dynamically generated subpatches.
  • setabng setabng adds a set method to bng objects.
  • storebang storebang takes two arguments: a value and a receiver, and sends the value to that receiver.
  • swap-any swap-any is like swap, but is intended to work with values of any type.
  • symbol-s2l symbol-s2l splits an input symbol into a list of its individual characters.
  • templater templater creates and connects a predefined set of Pd objects from a template patch.
  • time-clock time-clock provides a centralized timing system intended to have one instance per Pd process.
  • trimdirs trimdirs removes the last n directories from the end of a path; for example, trimdirs 1 changes /Users/Me/Pd/Synths to /Users/Me/Pd.
  • troute troute is a settable routing object, similar in purpose to Pd’s route.
  • vmetro vmetro works like Pd’s metro, so it is intended for metronome-style timing.
  • watch-input watch-input helps check for the presence of an audio signal.