Available Object Libraries
plugindata bundles several object libraries, each serving different purposes:Vanilla Objects
Core Pure Data objects available in all PD distributions
ELSE Library
Comprehensive library by Alexandre Torres Porres with 570+ objects
Cyclone Library
Max/MSP compatibility layer with 220+ objects
plugdata Objects
DAW integration objects for automation, playhead, and storage
Additional Libraries
Beyond the main libraries documented here, plugdata also includes:- Gem - Graphics and video processing objects for visual synthesis
- pd-lua - Create custom objects using the Lua scripting language
- Heavy (hvcc) - Compile Pure Data patches to C/C++ code
Browsing Objects
Object Browser
The object browser in plugdata provides an organized view of all available objects:- Press
Cmd/Ctrl + Shift + Nto open the object browser - Browse by category or search by name
- Double-click or drag an object into your patch
Search Functionality
Use the search bar to find objects by:- Name - Type the object name (e.g., “osc~”)
- Category - Filter by function (e.g., “oscillator”, “filter”)
- Library - Filter by source (e.g., “ELSE”, “cyclone”)
Naming Conventions
Tilde Suffix (~)
Objects ending with~ process audio signals:
osc~- Audio oscillator (outputs signal)metro- Control-rate metronome (outputs bangs)
Library Prefixes
Some objects use library prefixes to avoid naming conflicts:- No prefix - Vanilla or ELSE objects
else/- Explicitly use ELSE version when conflicts existcyclone/- Explicitly use Cyclone version
gate object. Use cyclone/gate to specify the Max/MSP compatible version.
Common Naming Patterns
Signal Processingbp~- Bandpasslp~- Lowpasshp~- Highpassvcf~- Voltage-controlled filter
osc~- Cosine oscillatorphasor~- Sawtooth/ramp oscillatorbl.saw~- Bandlimited sawtooth
metro- Metronomedelay- Delay messagestrigger/t- Trigger multiple outputs
f- Floati- Integers- Symboll- Listb- Bang
Object Categories
Objects are organized into functional categories:- Signal Generators - Oscillators, noise, envelopes
- Signal Math - Audio-rate mathematical operations
- Filters - Audio filtering and equalization
- Effects - Reverb, delay, distortion, modulation
- Data Math - Control-rate calculations
- Logic - Conditional operations and routing
- Triggers and Clocks - Timing and sequencing
- MIDI - MIDI input, output, and processing
- Arrays and Tables - Data storage and manipulation
- UI - User interface objects
- PlugData - DAW integration
Getting Help
Every object has a help patch with:- Description of functionality
- Inlet/outlet documentation
- Example usage
- Related objects
- Right-click object → “Help”
- Select object and press
Cmd/Ctrl + H
Library Documentation
For detailed information about specific objects:- Vanilla Objects - 290+ core Pure Data objects
- ELSE Library - 570+ objects organized by category
- Cyclone Library - 220+ Max/MSP compatible objects
- plugdata Objects - DAW automation and integration
Best Practices
Choose the Right Library
- Prefer ELSE over Cyclone - ELSE objects are generally more feature-rich and better documented
- Use Vanilla when possible - Most portable across Pure Data implementations
- Use plugdata objects for DAW integration - Essential for plugin development
Performance Considerations
- Signal objects (~) consume more CPU than control objects
- Bandlimited oscillators (bl.*~) are more CPU-intensive but sound better
- Use [block~] to optimize DSP processing
Compatibility
- Vanilla objects work in all Pure Data distributions
- ELSE and Cyclone are plugdata-specific
- For maximum portability, stick to vanilla objects or include libraries with your patch
