Skip to content

Control I/O

  • send2 fruit/send2 is like fruit/send, except it forwards messages to the pied only when the fruit is detected, avoiding a flood of useless messages.
  • ossia.remote ossia.remote monitors and remote-controls parameters declared with ossia.param and ossia.model, including parameters on other OSSIA devices.
  • ofSwipe ofSwipe listens for swipe gestures on Android and outputs the swipe direction and ID as a list.
  • key key reports system-dependent numbers for keyboard key activity received by Pd.
  • analog-in~ bela/analog-in~ is an abstraction for reading analog inputs from Bela, with its arguments specifying the analog channels to read.
  • buttongate buttongate is a simple gate controlled by a HID button, passing incoming bangs when the gate is controlled by button presses and releases.
  • bng bng is a graphical bang control that outputs a bang when activated and provides visual flashing feedback.
  • arduino-gui arduino-gui is a graphical version of the common arduino object for controlling supported Arduino boards running StandardFirmata.
  • ardourjack-gui ardourjack-gui provides a Pd interface for controlling Ardour transport and JACK settings.
  • pdp_v4l pdp_v4l is intended to capture video from a Video4Linux input device and output PDP image packages, although the help patch inconsistently labels its example objects as pdp_ieee1394.
  • ofMouseMoved ofMouseMoved detects mouse movement and outputs mouse events as a list.
  • arduino arduino provides a Pure Data interface to an Arduino running Firmata, allowing patches to configure pin modes, control digital, PWM, and servo outputs, and receive digital and analog input values.
  • keynamedown keynamedown outputs the name reported by keyname only when a key is pressed.
  • mouse_region mouse_region outputs mouse coordinates as a list only after the user clicks, for use with control-rate user input.
  • pofaccel pofaccel is a Pof object associated with acceleration, but this help patch does not explain its output or purpose sufficiently.
  • keyname keyname gets keyboard input and reports a float together with a symbol representing the key’s system-dependent name.
  • gemkeyname The gemkeyname object captures keyboard events occurring within the GEM window.
  • ofExit ofExit outputs a bang immediately before the app is closed, providing an exit callback for shutdown-related actions.
  • poftouch poftouch defines a touch-sensitive area and reports down, move, and up events with x/y coordinates and a touch ID.
  • hw.motu.avb hw.motu.avb provides basic control of MOTU AVB devices through HTTP requests, including input routing, channel naming, gain, phase, padding, and phantom-power settings.
  • ofKeyPressed ofKeyPressed listens for key-press events and outputs each event as a list.
  • gemorb The gemorb object connects to a SpaceOrb 3D controller via a specified serial port (comport).
  • sudden_motion_sensor apple/sudden_motion_sensor queries the sudden motion sensor in Apple computers and outputs its sensor values as a list, which can be unpacked into three numbers.
  • pofkeyboard pofkeyboard provides access to Pof keyboard events through the #pofkey channel.
  • witsensor witsensor connects Pure Data to a WitMotion WT9011DCL-BT50 9-DOF IMU over Bluetooth Low Energy, providing sensor streams and polls such as acceleration, gyroscope, orientation, displacement, speed, and magnetic-field data.
  • ofMouseReleased ofMouseReleased listens for mouse-release events and outputs each event as a list.
  • keyChange keyChange works like keyname, but outputs only when the keyboard state changes, making it useful for suppressing repeated output while a key is held down.
  • keynameonly keynameonly listens only for keystrokes from the key specified by its creation argument.
  • ifeel ifeel controls the pulse of an iFeel mouse, with the device path supplied as an argument (for example, /dev/input/ifeel0).
  • playhead playhead retrieves playhead information from the hosting DAW when Automatonism runs inside a PlugData plugin, and can use an internal clock in standalone mode.
  • ofMouseScrolled ofMouseScrolled detects mouse-wheel scrolling and outputs each event as a list.
  • ambient_light_sensor ambient_light_sensor queries the ambient light sensor in Apple computers and outputs a list containing the left and right sensor values.
  • parse analog/parse decodes data received from an analog module.
  • organelle-knobs organelle-knobs provides four outputs corresponding to Organelle knobs 1–4.
  • click2bang~ click2bang~ converts an incoming signal click into a bang, as demonstrated with samm~ generating one click per second.
  • ofMousePressed ofMousePressed listens for mouse-press events and outputs them as a list, either full (type, x, y, button, scrollX, scrollY) or simplified (x, y, button).
  • ceammc.proto ceammc.proto is a collection of protocol-related objects in the ceammc library, covering MIDI and SysEx processing, hardware control, media-player control, encoding, and decoding.
  • clickhold~ clickhold~ converts a click into a sustained signal.
  • digital-in~ digital-in~ is a signal-rate abstraction for reading Bela digital channels, producing signals containing only 0 and 1 to represent each pin’s state.
  • iodisplay iodisplay queries and controls a named IODisplay parameter, such as brightness or contrast, and outputs its current float value.
  • lpt The lpt object in Pure Data allows writing and reading data to and from a computer's parallel port.
  • joystick joystick provides joystick-device input to Pd, including axes, throttle, hat controls, buttons, and event code/value data.
  • pointer_position pointer_position gets the pointer’s current x and y location in a Pd canvas.
  • ofCancelPressed ofCancelPressed listens for Android cancel-button presses and outputs a bang when one occurs.
  • hidraw hidraw reads raw bytes from Human Interface Devices (HIDs) and can enumerate and open devices by Pd device number, vendor/product ID, or OS path.
  • pdPad pdPad is a draggable XY pad that outputs values from 0 to 100 for both the X and Y coordinates of its point.
  • brightness apple/brightness queries and controls screen brightness on Apple systems, using values between 0 and 1.
  • comport comport provides a serial-port interface for sending and receiving bytes and for configuring or querying the connection.
  • poftouchable poftouchable enables or disables touch events for the following POF objects.
  • fd_key fd_key is a bang keyboard that outputs keyboard activity through one outlet, including floats for non-routed keys such as Caps Lock.
  • hidio hidio interfaces with HID devices such as mice, keyboards, joysticks, and gamepads, outputting events in the form [event_type event_code instance value( and providing device information through a status outlet.
  • ofDeviceOrientationChanged ofDeviceOrientationChanged listens for device-orientation changes on iOS and outputs a numeric orientation code whenever the orientation changes.
  • hw.arduino hw.arduino communicates with an Arduino over a serial port, supporting reconnection and hot-plugging.
  • tastin tastin is a gate that controls the flow of keyboard events, outputting the key number and its state.
  • ofLaunchedWithURL ofLaunchedWithURL listens for an iOS app being launched with a URL and outputs that URL as a symbol.
  • live2reaper live2reaper synchronizes Ableton Live with Cuckos Reaper, serving as a transport synchronization link between the two applications.
  • hw.serial hw.serial connects to a named serial port and exchanges byte values, outputting each received byte.
  • command command executes external commands or scripts from Pd, reporting the exit code, stdout, and stderr through its three outlets.
  • ofTouchMoved ofTouchMoved listens for touch-move events and outputs each event as a list.
  • ofMouseEntered ofMouseEntered listens for the mouse cursor entering the window area and outputs the event as a list.
  • bird bird implements the communication protocol for Ascension Technology Corporation’s Flock of Birds, interfacing it through a serial comport connection.
  • cpu_temperature cpu_temperature queries the CPU temperature on Apple systems and outputs the sensor value.
  • conv.sig2float~ conv.sig2float~ samples an input signal and outputs the sampled values as floats at a specified interval in milliseconds.
  • keyup keyup receives keyboard input and outputs a numeric value when a key is released.
  • proc proc provides an interface to the Linux /proc filesystem for retrieving information such as CPU data, uptime, load averages, kernel version, and process statistics.
  • control control is an interface between Context and Novation hardware that links with all context objects in a Pd patch.
  • fd_keycomb fd_keycomb detects pairs of meta-key combinations, identifying each combination with a number and providing cooked predefined pairs, learned positions, and raw lists.
  • ofLostFocus ofLostFocus detects when an app loses focus on an iOS device and outputs a bang.
  • artnetsend artnetsend takes a list of integer DMX values and prepends an Art-Net v4 ArtDmx header, producing raw bytes for later UDP transmission.
  • pispi pispi transfers byte values (0–255) over a Raspberry Pi SPI interface and outputs data received from the slave after each transfer.
  • ofGotFocus ofGotFocus detects when an app regains focus on an iOS device and outputs a bang when this occurs.
  • click2float~ click2float~ converts a click signal to a float.
  • ofTouchCancelled ofTouchCancelled listens for touch-cancellation events and outputs each event as a list.
  • organelle-aux organelle-aux provides outputs for the Organelle’s four knobs (KNOB1 through KNOB4) and has no inputs.
  • pii2c pii2c sends and receives I2C data through /dev/i2c-1 on a Raspberry Pi, with received data and errors available for printing.
  • digital-out~ digital-out~ is a signal-rate abstraction for writing to Bela digital channels, specified by channel-number arguments from 0 to 15 matching the board’s D labels.
  • proto.moppy proto.moppy generates MOPPY protocol commands for controlling musical floppy drives, with support for notes, pitch bend, ping, and device reset.
  • ofResume ofResume detects when an Android app is resumed and outputs a bang when that occurs.
  • system.serial system.serial provides a serial-port interface for sending and receiving byte data.
  • ultraleap ultraleap accesses hand-tracking data from Ultraleap and Leap Motion controllers through the LeapC API (SDK 5.7.2 or later), providing general, hand, palm, finger, and arm data.
  • keycommand keycommand assigns a keyboard key to a Pd receiver, allowing a key press to trigger messages at that receiver.
  • organelle-keyboard organelle-keyboard lets you use the Organelle’s keys as a keyboard, outputting pitch and a trigger/gate signal when a key is pressed.
  • digital-in bela/digital-in reads specified Bela digital channels at message rate and sends a message from the corresponding outlet whenever a pin changes value.
  • ceammc.hw ceammc.hw is a collection of hardware-related objects for tasks such as querying Apple sensors, reading CPU temperature, controlling display or keyboard-light properties, communicating with Arduino and serial devices, and controlling MOTU AVB devices over HTTP.
  • ui.knob ui.knob is a graphical knob widget for controlling and outputting a floating-point value, with a default range of 0–1 and configurable linear or logarithmic scaling.
  • terminal terminal sends command messages to an instance of the operating system’s terminal and outputs the resulting responses.
  • keygate keygate is a simple gate controlled by the keyboard, passing bang input according to the state of its assigned key.
  • ofSetup ofSetup outputs a bang when the app starts, serving as a setup callback trigger.
  • cursor cursor sets the mouse cursor used for a Pd patch, with choices such as arrow, clock, and coffee_mug.
  • smc apple/smc provides an interface to the Apple System Management Controller, allowing Pd to retrieve values for available SMC keys.
  • artnettoarray artnettoarray converts lists of 8-bit integers from 0–255 into floating-point values from 0–1 for use as an array-style list.
  • chair.gesture chair.gesture processes touch-gesture data to provide additional control.
  • midisettings midisettings queries and manipulates Pd’s MIDI settings, including the available drivers and input/output devices for the current driver.
  • ofTouchUp ofTouchUp listens for touch-up events and outputs them as a list.
  • iem_event iem_event reports mouse coordinates, mouse-button state, modifier-key states (Control, Alt, and Shift), and keyboard events within a defined event rectangle.
  • wac wac is intended for use with a Wacom Graphire tablet.
  • ofPause ofPause detects when an app is paused on an Android device and outputs a bang.
  • sensel sensel is an L2Ork external for connecting a Sensel Morph multitouch controller and reporting its contact data, including position, force, area, orientation, and movement deltas.
  • leapmotion leapmotion accesses tracking data from the original Leap Motion Controller through Leap SDK 2.3.1, providing general, hand, finger, arm, tool, and gesture data for use in Pd patches.
  • midi.kbd midi.kbd turns computer-keyboard input into MIDI note and velocity output.
  • cdplayer cdplayer controls ATAPI CD-ROM drives under Linux, supporting track playback, pause, resume, stop, and eject operations.
  • hw.kbd_light hw.kbd_light gets and sets the keyboard-light level on supported devices; currently, only Apple keyboards are supported.
  • ofMessageReceived ofMessageReceived listens for and outputs messages sent by ofSendMessage, including floats, symbols, and other messages.
  • ui.button ui.button is a button widget that outputs its @on_value when pressed with the left mouse button and its @off_value when released.
  • serial_bird serial_bird interprets data from the Ascension Flock of Birds device and outputs it as a list.
  • receive fruit/receive receives messages from the fruit named by its argument, such as fruitname.
  • mknob mknob is a round GUI knob for control values, accepting floats or size messages and outputting floats.
  • gpmotion gpmotion processes accelerometer and gyroscope data from joyosc, providing a gravity vector and rotation data in local, world, or player space.
  • ui.polar ui.polar is a 2D slider for setting and outputting a position in polar coordinates as a list of radius and angle values.
  • gemsdl2window The gemsdl2window object creates and manages a graphical window using the SDL2 toolkit, providing an OpenGL context for rendering.
  • ossia.param ossia.param defines an OSSIA parameter, with a required parameter name, and provides a simple way to expose and exchange its current value.
  • ofDragged ofDragged listens for files dragged into the graphics window, outputting a list of their filenames and a separate list containing the x/y drag position.
  • keyboard_light keyboard_light queries and controls the keyboard light level, outputting the current level as a float.
  • fruit fruit/fruit declares and manages a Fraise fruit connected to a pied, specifying the pied ID, fruit name, fruit ID, and a firmware directory relative to the patch.
  • bf-param bf-param defines a named, typed parameter associated with a bf-instrument, supporting one or more values of type cont (0.0–1.0), midi (0–127), bool (0 or 1), or bang.
  • gemw32window The gemw32window object is a GEM (Graphics Environment for Multimedia) object specific to Microsoft Windows, used for creating and managing a graphical output window.
  • 1.RabbitControl-Overview 1.RabbitControl-Overview presents the RabbitControl utilities for Pd, a protocol for remotely controlling parameters exposed by Pd.
  • fd_numkey fd_numkey turns number-key presses into their corresponding float values.
  • pp.xypad pp.xypad is an XY controller that outputs x and y floats and can record and play back pointer movements, sending a bang when playback finishes.
  • ofGotMemoryWarning ofGotMemoryWarning detects when an iOS app receives a memory warning and outputs a bang.
  • ofKeyReleased ofKeyReleased listens for key-release events and outputs them as either a simplified list containing the key or a full list containing type, key, keycode, scancode, and codepoint.
  • ui.radio ui.radio is the ceammc counterpart of Pd’s vanilla radio toggle, providing a cell-based UI for selecting and outputting a value; horizontal and vertical aliases are ui.hrd and ui.vrd.
  • proto.sp.alpaca proto.sp.alpaca parses the protocol used by the Arduino-based CEAMMC Alpaca footswitch, accepting byte values from hw.arduino and outputting parsed device messages such as digital and analog states.
  • ui.bang ui.bang is a UI bang control that currently does no more than Pd’s vanilla bang: it outputs a bang when left-clicked on mouse down.
  • serial_ms serial_ms decodes serial-mouse data from the first serial port for use as control input in Pd.
  • hw.cpu_temp hw.cpu_temp reports the current CPU temperature and, at the time of this help patch, supports only macOS.
  • gemtablet The gemtablet object in Pure Data interfaces with and responds to events from a graphics tablet.
  • unpackxbee unpackxbee unpacks packets received from XBee devices operating in API mode 1 or 2, separating packet data, sample frames, and status information across its outlets.
  • send fruit/send sends either raw bytes or text to the named fruit device.
  • ui.menu ui.menu provides a dropdown menu whose items can be set directly or populated from filenames matching a pattern.
  • nano nano expands the control capabilities of a Korg nanoKONTROL2 surface, allowing its controls, such as button 1, to be mapped to parameters.
  • hid hid reads events from human-interface devices such as mice, keyboards, joysticks, and gamepads, outputting each event as event_type event_code value.
  • proto.firmata proto.firmata provides basic Firmata protocol support for communicating with an Arduino, converting raw serial bytes and producing tagged protocol output.
  • ofOkPressed ofOkPressed listens for presses of the OK button on Android and outputs a bang when one occurs.
  • hidin hidin reads events from HID input devices and numbers device elements in the order it finds them.
  • hw.apple_smc hw.apple_smc queries Apple System Management Control (SMC) keys, for example to obtain CPU temperature.
  • ofStop ofStop detects when an app is stopped on Android and outputs a bang when that occurs.
  • gemkeyboard The gemkeyboard object captures keyboard events occurring within a GEM window.
  • gemmouse The gemmouse object captures and outputs mouse events occurring within a GEM (Graphics Environment for Multimedia) window.
  • ossia.attribute ossia.attribute connects to one or more parameters, similarly to ossia.parameter, and is used to change or retrieve their attribute values.
  • chair.rotary-limit-range chair.rotary-limit-range is an abstraction for rotary encoders that increments toward a minimum or maximum and outputs a normalized float from 0 to 1.
  • art_net art_net is an abstraction for sending DMX data over Art-Net to a receiver specified by its IP address argument.
  • net.artnet.send net.artnet.send sends ArtNet DMX messages, with configurable universe and subnet values in the range 0–15.
  • bf-output bf-output associates a named output with a bf-instrument in the BOEUF framework and accepts values produced by a Pd patch.
  • multitouch multitouch retrieves multitouch data from trackpads and iPhones, outputting a list of values for each tracked touch.
  • keylist keylist is an Overlay abstraction that binds Context commands to keyboard input.
  • pix_video The pix_video object captures live video input from various cameras (USB, FireWire, capture cards) supported by the operating system.
  • autocal autocal is an abstraction for calibrating sensor input values by learning their minimum, maximum, and center, then producing a calibrated output over a configurable range.
  • digital-out bela/digital-out is an abstraction for writing message-rate values to Bela digital output channels, with its arguments specifying the channels to write to.
  • ofTouchDoubleTap ofTouchDoubleTap listens for double-tap touch events and outputs each event as a list.
  • artnetlib artnetlib is a Pure Data library for turning a patch into an Art-Net controller, with objects for sending, receiving, routing, and transferring Art-Net/DMX data to and from arrays.
  • ofTouchDown ofTouchDown listens for touch-down events and outputs each event as a list.
  • fans apple/fans queries fan sensor data on Apple systems, outputting value messages separately from status information.
  • ofMouseExited ofMouseExited detects when the mouse cursor leaves the window area and outputs the event as a list.
  • hw.apple_sms hw.apple_sms queries the Sudden Motion Sensor in Apple computers.
  • artnetfromarray artnetfromarray converts an array—or an input list—of floats from 0–1 into clipped 8-bit DMX values from 0–255 for Art-Net output.
  • ofBackPressed ofBackPressed detects presses of the Android back button and outputs a bang when one occurs.
  • packxbee packxbee builds Series 1 or Series 2 XBee packets for API mode 1 or escaped API mode 2, which is the default.
  • ui.number ui.number is a graphical number widget and a counterpart to vanilla Pd’s nbx; it accepts floats (or the first element of a list) and outputs its current value when sent a bang.
  • hw.display hw.display gets and sets display brightness and currently supports only macOS.
  • serialctl serialctl reads characters from a Unix serial device and can send data as symbols or ASCII character codes.
  • ofMouseDragged ofMouseDragged listens for mouse-drag events and outputs them as either a full list (type, x, y, button, scrollX, scrollY) or a simplified list (x, y, button).
  • system.cursor system.cursor outputs cursor motion, mouse-wheel, and button-click messages, and can report the cursor position on a bang or poll it continuously after receiving 1.
  • poftextbox poftextbox gets text from the user, with an optional prompt such as “Enter some text.” Send it show to display the text box, or use a question message to set a question before showing it; the help patch warns that opening it crashes Tcl/Tk on Linux..
  • chair.encoders chair.encoders is a helper abstraction for three rotary encoders, routing encoder data for indices 0, 1, and 2.