Skip to content

doctea/vurfx

Repository files navigation

VurfX docs (?)

by Tristan Rowley (c) 2012-present (except where using code copyright others or public domain!), doctea@gmail.com

a rough and hacky java-based VJ/music video/lightsynth/semi-automated/trippy visuals application thing based on Processing 3. With glsl shaders, SimpleOpenNI/Kinect rgb and depth support.

uses cp5, many other libraries I'm sure - TODO: ADD LINKS AND STUFF

example output and more info can be found at https://facebook.com/vurfx and https://instagram.com/vurfx

You haven't slept for over 60 hours, you're in no fit state!

FEATURES


...it does lots of stuff... not always very well or clearly randomise sequence/playlist mode ImageListDrawer loads a directory of images to use as sources BeatStream for locking fx to a beat OscStream input for OSC MidiStream input for MIDI Extend functionality/customise fx through preset callbacks and/or overriding methods Project snapshots (including Scene & Filter Parameter settings) saved&loaded from xml file(s)

HAVE YOU BEEN AT THE CONTROLS?

Keyboard controls

|| key | action | likely to change in future? || || - | show/hide debug layer || || l | lock sequencer (don't change when sequence is ready) || || ' | stop sequencer (sequence values don't update, sequencer doesn't change when ready) || || ; | next sequence (ie next in sequencer playlist or random etc depending on behaviour of the sequencer) || || j,J | previous sequence in playlist history (J does not restart the sequence) || || k,K | next sequence in playlist history (K does not restart the sequence) || || o | cut between current and next playlist history without restarting sequence || || O | restart currently playing sequence | * || || q | increase sequence timescale by 0.1 | * || || a | decrease sequence timescale by 0.1 | * || || f,F | save,load Sequence info (debug) | * || || s,S | save,load a Snapshot (stores global Scene&Filter settings and Sequence structure) | * || || B | save Sequence bank to separate .xml files | * || || space | take screenshot || || m | pause/stop streams ||

sequence playlist history / backwards buttons (j/k to go back/fore, J/K to go back/fore without restarting the Sequence. o)

CODE/CLASS/OBJECT STRUCTURE

  • VurfEclipse** is the main(), setup, and render loop
    • has one instantiated Project
      • has many Streams
        • callbacks interact with Filters and Scenes
      • has one Sequencer
        • has many Sequences
          • interacts with Filters and Scenes via overriding methods
      • has many Scenes
        • has many Sequences
        • has many Filters
          • has many Presets
          • has many Parameters
      • Scenes and Filters each have many Canvases

TODO

  • proper docs/instructions
  • sequencer features
    • delete items from history
    • save/load history to file
    • set presets for favourites
      • starting to implement this with Snapshots...
    • quick-cut button with no-restart mode for sequences
      • 'o' does this, but think there's a bug
    • stutter time button
    • locking timescale and start of sequence changes to beat tempo/triggers
  • UI features
    • map cp5 sliders to Filter Parameters ('proxy' Parameters?)
    • map functions to sliders
    • map game controllers to sliders
  • effects/shaders
    • fractal (mandlebrot shader now done)
    • rounded pixel effect
    • vertical stripes effect
    • mask effect to cut out or smooth borders
  • streaming/texture sharing
    • turbojpg stream output / stream to&from tcpsyphon/tcpspout/ofxpimapper?
  • big bugs
    • ported to Processing 3, can now fullscreen, but upscaling has incorrect matrix?
  • improve features
    • better MIDI support
      • tempo/BeatStream sync
    • better REST/web interface

future plans

  • improve Kinect performance
    • had trouble getting SimpleOpenNI to work on Windows 10, switched to using libFreenect/open-processing-for-kinect library, performance is hugely better but lose rgb/depth registration and potential to use skeleton tracking etc
  • better multi-Kinect support
  • get some more wine
  • better 'live mode'

Needed for Rainbow Hill Dance Club gig with Mutante:-

  • Mutante set - 1 hour of effects
    • based around their lovely images
  • Disco set - 2 hour(?) of dancefloor dancing effects
    • maybe get video playback support working better, and get some videos of dancer silhouettes to use as layers?
  • General
    • save/load projects to multiple xml files
    • start a new project file with bare bones Scenes and Sequences
    • save canvas mappings with Sequence
      • so, there are two different things that need dealing with here
        • Scenes have an expandable list of canvas mappings
          • eg "Scene 'pix0' maps to Project 'temp3', 'Scene 'out' maps to Project 'out'
        • Filter stores an alias for each input & output
          • eg "input maps to pix0", "output maps to out"
      • Scene's canvas mappings should be stored with the scene..?
      • Filter's canvas aliases should be stored with the sequence..?

About

Java-based VJ/music video/lightsynth/semi-automated/trippy visuals application thing based on Processing 3. With MIDI, glsl shaders, SimpleOpenNI/Kinect rgb and depth support.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published