Skip to content
/ oavp Public

Open source audio visualization software built on Processing

License

Notifications You must be signed in to change notification settings

nafeu/oavp

Repository files navigation

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

Mac/Linux

git clone https://github.com/nafeu/oavp.git
cd oavp
cp sample-sketch.txt src/sketch.pde

PC

  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

Documentation

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!

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

Presets

Presets are triggered from numbers 1-9 on the keyboard outside of edit mode.

To activate editor sequences like the queueFauxTimelapse function, add thread("queueFauxTimelapse"); in the setupSketchPostEditor function body in your sketch.pde file:

void setupSketchPostEditor() {
  thread("queueFauxTimelapse");
}

Credits

Nafeu Nasir

License

MIT