Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

A custom editor with scriptable objects to help build audio visualizers and generative art. Built with Processing Java, along with the Minim, Ani and ControlP5 libraries.

Setup and Installation


git clone
cd oavp
cp sample-sketch.txt src/sketch.pde


  1. Download this repo onto your machine and navigate to the src folder.
  2. Create a new file inside oavp/src called sketch.pde
  3. Copy the contents of sample-sketch.txt into sketch.pde

Dependency Installation (All Systems)

  1. Download and install the Processing IDE
  2. Open the Processing IDE (create a new sketch if one isn't already create for you) and do the following:
  • Go to Tools > Install "processing-java"

  1. Open the oavp/src folder in the Processing IDE and run the sketch.

Alternatively you can also use processing-sublime to build and run oavp using Sublime Text or use this vscode plugin.

Creating & Running Sketches

Once you run the sketch, give it a few seconds to fully launch, then press e to activate edit mode. Refer to the keybindings table below for usage instructions:

Key Description Usage
e Activate edit mode
n Create new object then enter to select an object to create
[ Select previous object in list
] Select next object in list
d Duplicate selected object
w Delete selected object (cannot delete special objects like Camera or Background)
q Toggle snap grid intensity toggle between low, medium, high or disabled
m Select Move Tool: Move object origin in xyz dimensions to move in x dimension
to move in y dimension
+ shift to move in z dimension
s Select Resize Tool: Resize the object (only applies to a few objects, use transform option otherwise) to change s value
t Select Transform Tool: Transform object width, height or length to change w
to change h
+ shift to change l
r Select Rotate Tool: Rotate object around xyz dimensions eto change xr
to change yr
+ shift to change zr
c Select Colour Tool: Change object stroke and fill colours to change selected colour
to change selected palette
enter to apply selection to stroke
shift + enter to apply selection to fill
ctrl + enter to apply selection to stroke and fill
delete/backspace to remove stroke
shift + delete/backspace to remove fill
ctrl + delete/backspace reset colours
backslash to select random palette
shift + backslash to apply random stroke and fill combination from selected palette
b Select Weight Tool: Change object's stroke weight to change strokeWeight
z Select Modifiers Tool: Augment or animate object properties with different modifier types to select an object property
to change value
enter to select modifier type
v Select Variation Tool: Select different object variation to change object variation (only applies to some objects)
p Select Params Tool: Change additional object parameters (only applies to some objects) to select an object parameter
to change value
o Select Mod Delay Tool: Change frame delay for modifiers (animations or augmentations) to change modDelay
a Select Iter Count Tool: Change number of object iterations being drawn to change i
i Select Iterations Tool: Augment object properties based on which iteration is being drawn with an iteration function to select an object property
to change value
enter to select iteration function
x Export sketch to console
y Take screenshot *only works if not in edit mode


Check out the full guide and docs available at the repo's wiki here. Documentation is a still a huge work-in-progress and I would greatly appreciate if anyone was interested in helping out. PRs are welcome!

2022 Update: the oavp wiki docs are very outdated and due for an overhaul.


Nafeu Nasir