A collection of interactive p5.js projects with a unified control interface and MIDI integration.
This repository contains multiple p5.js-based creative coding projects that share a common control panel interface. Each project features sliders and buttons that can be manipulated through:
- Direct mouse interaction
- MIDI controllers (hardware control surfaces)
The projects have been restructured to use a shared codebase for controls, while maintaining individual project implementations.
- Unified Control Interface: All projects use the same control panel design
- MIDI Controller Support: Map hardware MIDI controllers to sliders and buttons
- Persistent Settings: Project settings saved between sessions via cookies
- Shared MIDI Mappings: Configure your MIDI controller once, use it across all projects
- Component-Based Structure: Easy to add new projects that leverage the same control system
/common/- Shared resourcesmidi_sliders.js- Control panel implementation/library/- p5.js library files
- Individual project directories
- Each with its own implementation, using the common resources
- Copy the
/skeleton/directory - Modify the
sketch.jsfile to create your custom visualization - The new project will automatically use the common control panel system and detect the appropriate cookie name
To map MIDI controls:
- Shift+click on a slider or button to enter "learning mode"
- Send a MIDI message from your controller
- The control will be mapped to that MIDI message
- MIDI mappings are stored globally and shared between all projects
MIT License
Jim Bumgardner