Using Objects
This guide covers everything you need to know about working with objects in plugdata, from browsing the object library to understanding inlets, outlets, and arguments.Object Browser
Plugdata includes a comprehensive object browser for discovering and learning about available objects.Opening the Object Browser
Object Categories
Objects are organized into several categories:- Audio - Signal processing (oscillators, filters, effects)
- Control - Message processing and logic
- UI - GUI objects for interaction
- Data - Data structures and manipulation
- MIDI - MIDI input and output
- Math - Mathematical operations
- Time - Timing and sequencing
- File I/O - Reading and writing files
Searching for Objects
Quick Search
When creating a new object, plugdata provides intelligent suggestions:- Press Cmd/Ctrl+1 to create an object
- Start typing - autocomplete suggestions appear
- Use ↑↓ arrows to navigate suggestions
- Press Enter to select
Documentation Browser Search
View Details
Click an object to see its documentation including:
- Description and purpose
- Inlet and outlet types
- Creation arguments
- Example usage
Finding Objects in Current Patch
To search within your current patch:- Press Cmd/Ctrl+F
- Enter search text (object names, message content, comments)
- Navigate results with Enter or arrow buttons
- Click results to highlight objects on canvas
The search panel appears in the sidebar and highlights matching objects with a colored outline on the canvas.
Reading Help Files
Accessing Help
Every object in plugdata has associated documentation:- Reference
- Help Patch
View quick reference information:
- Select an object
- Press F1 or right-click > “Reference”
- See concise documentation including:
- Object description
- Inlet/outlet definitions
- Arguments and messages
- Related objects
Help Patch Features
Help patches are interactive demonstrations:- Live Examples - Working patches you can interact with
- Explanatory Comments - Detailed descriptions of functionality
- Multiple Use Cases - Common usage patterns
- Related Objects - Links to similar objects
- Audio Examples - For signal processing objects
Understanding Object Arguments
Creation Arguments
Many objects accept arguments when created:- Numbers - Integers or floats:
440,1.5,-10 - Symbols - Text:
sine,hann,myname - Quoted Strings - Text with spaces:
"hello world"
Required vs Optional Arguments
Check documentation to understand argument requirements:- Required - Object won’t function without them
- Optional - Have default values if omitted
- Variable - Accept multiple arguments
Dynamic Arguments
Some objects let you change arguments after creation:Audio rate arguments (like oscillator frequency) typically have both creation argument and inlet control options.
Understanding Inlets and Outlets
Inlet Types
- Hot Inlets
- Cold Inlets
- Signal Inlets
The leftmost inlet is “hot” - triggers output when it receives data:Hot inlets process immediately and send results to outlets.
Outlet Types
Outlets send different data types:- Message Outlets - Send control messages (numbers, symbols, lists)
- Signal Outlets - Send audio-rate signals (continuous data)
- Thin connections = messages
- Thick connections = signals
Multi-Outlet Objects
Some objects have multiple outlets for different purposes:Working with GUI Objects
Common GUI Objects
Bang (Cmd/Ctrl+Shift+B)
Bang (Cmd/Ctrl+Shift+B)
Sends a bang message when clicked:
- Click in run mode to trigger
- Can receive bangs from other objects
- Use for triggering events, resetting states
- Size, colors, label
- Send/receive names for remote control
Toggle (Cmd/Ctrl+Shift+T)
Toggle (Cmd/Ctrl+Shift+T)
Binary on/off switch:
- Outputs 1 when on, 0 when off
- Click to toggle state
- Send 1 or 0 to set remotely
- Gate signals on/off
- Boolean logic
- State indicators
Number Box (Cmd/Ctrl+Shift+N)
Number Box (Cmd/Ctrl+Shift+N)
Display and input numeric values:
- Click and drag vertically to change value
- Double-click to type exact value
- Outputs on change
- Min/max range
- Display precision
- Output on load
Sliders (Cmd/Ctrl+Shift+V/J)
Sliders (Cmd/Ctrl+Shift+V/J)
Continuous value control:
- Vertical (V) or Horizontal (J)
- Drag to change value
- Configurable range and output
- Min/max values
- Linear or logarithmic scaling
- Send symbol for remote control
Radio Buttons (Cmd/Ctrl+Shift+D/I)
Radio Buttons (Cmd/Ctrl+Shift+D/I)
GUI Object Properties
Configure GUI objects in the Inspector panel:- Select GUI object
- Open Inspector (wrench icon in sidebar)
- Modify properties:
- Dimensions - Size and position
- Appearance - Colors, fonts, borders
- Range - Min/max values
- Label - Text and position
- Send/Receive - Remote control names
Send and Receive Names
GUI objects can be controlled remotely:Object-Specific Features
Audio Objects (~ suffix)
Objects ending in ~ process audio signals:- Operate at sample rate (typically 44100 Hz)
- Use thick connection lines
- Cannot directly connect to message objects
- Use
snapshot~to convert to messages - Use
sig~to convert messages to signals
Message Processing Objects
Control-rate objects for discrete events:Conversion Objects
Object Libraries
Vanilla Pd
Core Pure Data objects:- Standard operations and signal processing
- Maximum compatibility
- Built into all Pd distributions
ELSE Library
Extended collection included with plugdata:- Additional oscillators and filters
- Enhanced GUI objects
- Utility objects for common tasks
- Comprehensive help files
Cyclone Library
Max/MSP compatibility objects:- Similar to Max objects
- Helpful for Max users
Plugdata ships with ELSE and Cyclone libraries included. Additional externals can be added - see the Extensions guide.
Best Practices
Object Naming
✅ Good:Documentation
Always document complex object chains:Error Handling
Watch the console for:- Object not found - Check spelling or install external
- Bad arguments - Verify argument types and order
- Signal/message mismatch - Use conversion objects
Next Steps
Now that you understand objects:- Creating Patches - Build complete patches with objects
- Automation Parameters - Control objects from your DAW
- Audio Routing - Set up complex audio flows
- Objects Overview - Complete object documentation
