Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork19
A visual programming patching environment for OF
License
d3cod3/ofxVisualProgramming
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A collection of visual interactive objects to create/develop in a dataflow+live-coding patching environment. Embedded with Lua scripting interpreter, plus live compile of GLSL Shaders from version 150 to 410, and live editing/execute Bash scripts(macOS & linux) capabilities.
Screenshot from projectMosaic, embedding ofxVisualProgramming
- OF_COMPATIBLE_RELEASE
- REFERENCE
- DESCRIPTION
- DEPENDENCIES
- COMPILING
- INSTALLING
- USAGE
- CONTRIBUTING
- COLLECTIONS
- OBJECTS LIST
- LICENSE
- CREDITS
0.12.0 STABLE (official download fromOF site)
Compiled/tested with QTCreator on osx/linux
If you want to build ofxVisualProgramming, just download OF0.12.0 for your OS (osx, linux, windows) and follow the setup guide forqtcreator IDE.
ofxVisualProgramming came directly from the idea behind the ofxComposer addon bypatriciogonzalezvivo andJames George, and obviously from the various commercial and no-commercial existing visual programming softwares, the open source optionPure Data, the commercial optionsMax/Msp andTouchDesigner, etc..., to talk of the latest ones, and without forgetting probably the first one from 1968,
GRAILRM-599-ARPA fromtheRAND Corporation.
So special thanks to all the precursors of this ideas, and more thanks to theofxComposer developers for their code, it has been a great reference for start working on this ofxaddon.
Thisaddon is the core code of the projectMosaic
, maintained isolated in order to obtain a better modularized code structure, encourage contributions, simplify bug fixing and enhance code quality.
This project deals with the idea of integrate/amplify man-machine communication, offering a real-time flowchart based visual interface for high level creative coding. As live-coding scripting languages offer a high level coding environment, ofxVisualProgramming and the Mosaic Project as his parent layer container, aim at a high level visual-programming environment, with embedded multi scripting languages availability (Lua, GLSL, and BASH(macOS & linux) ).
As this project is based on openFrameworks, one of the goals is to offer as more objects as possible, using the pre-defined OF classes for trans-media manipulation (audio, text, image, video, electronics, computer vision), plus all the gigantic ofxaddons ecosystem actually available (machine learning, protocols, web, hardware interface, among a lot more).
While the described characteristics could potentially offer an extremely high complex result (OF and OFXADDONS ecosystem is really huge, and the possibility of multiple scripting languages could lead every unexperienced user to confusion), the idea behind the interface design aim at avoiding the "high complex" situation, embodying a direct and natural drag&drop connect/disconnect interface (mouse/trackpad) on the most basic level of interaction, adding text editing (keyboard) on a intermediate level of interaction (script editing), following most advanced level of interaction for experienced users (external devices communication, automated interaction, etc...)
mosaic, ofxVisualProgramming, openframeworks, linux, macOS, windows, creative-coding, live-coding, cyber-coding, physical-computing, visual-computing, scripting, transmedia, programming, visual-programming, cyber-programming
In order to build ofxVisualProgramming, you'll need this addons:
Some addons are forks of the original, due to some mods, compatibility with OF0.12.0 and the intention of cross-platform compiling (osx,linux)
MACOS/LINUX compiling with qtcreator 4.6.1
Clonethis addon repository into your<your_openframeworks_release_folder>/addons together with all the others addons listed:
cd<your_openframeworks_release_folder>/addonsgit clone https://github.com/npisanti/ofxAudioFilegit clone https://github.com/d3cod3/ofxBTrackgit clone https://github.com/kylemcdonald/ofxCvgit clone https://github.com/arturoc/ofxEasinggit clone https://github.com/d3cod3/ofxFFmpegRecordergit clone https://github.com/Akira-Hayasaka/ofxGLEditorgit clone https://github.com/d3cod3/ofxImGuigit clone https://github.com/d3cod3/ofxInfiniteCanvasgit clone https://github.com/danomatika/ofxLuagit clone https://github.com/danomatika/ofxMidigit clone https://github.com/d3cod3/ofxMtlMapping2Dgit clone --branch=NDI5 https://github.com/d3cod3/ofxNDIgit clone https://github.com/d3cod3/ofxOpenDHTgit clone https://github.com/danomatika/ofxPdgit clone https://github.com/d3cod3/ofxPDSPgit clone https://github.com/d3cod3/ofxSchemegit clone https://github.com/d3cod3/ofxSyphongit clone https://github.com/d3cod3/ofxTimelinegit clone https://github.com/d3cod3/ofxWarpgit clone https://github.com/d3cod3/ofxVisualProgramming
CheckMosaic project to look at a ofxVisualProgramming addon usage and implementation
Contributing to the project adding new objects is relatively easy, as ofxVisualProgramming is at the core ofMosaic software, i've implemented a plugin mechanism based onPugg, in order to facilitate the extension and the creation of new objects/nodes to add at the ofxVisualProgramming/Mosaic default objects/nodes library. (see objects/nodes list below)
You can find the repo of the plugin template here:ofxMosaicPlugin, with some generic objects templates and more detailed info in the readme.
A list of contributed collections of new objects
| Audio Analysis | Ready |
|---|---|
| audio analyzer | X |
| bpm extractor | X |
| fft extractor | X |
| mel bands extractor | X |
| pitch extractor | X |
| rms extractor | X |
| Communications | Ready |
|---|---|
| arduino serial | X |
| key pressed | X |
| key released | X |
| midi key | X |
| midi knob | X |
| midi pad | X |
| midi receiver | X |
| midi sender | X |
| osc receiver | X |
| osc sender | X |
| Computer Vision | Ready |
|---|---|
| background subtraction | X |
| color tracking | X |
| contour tracking | X |
| haar tracking | X |
| motion detection | X |
| optical flow | X |
| Data | Ready |
|---|---|
| bang multiplexer | X |
| bang to float | X |
| color palette | X |
| data to file | X |
| data to texture | X |
| file to data | X |
| float multiplexer | X |
| floats to vector | X |
| receiver | X |
| sender | X |
| texture to data | X |
| vector at | X |
| vector concat | X |
| vector extract | X |
| vector gate | X |
| vector operator | X |
| Generative | Ready |
|---|---|
| strange attractors | X |
| Graphics | Ready |
|---|---|
| image loader | X |
| image exporter | X |
| color palette | X |
| GUI | Ready |
|---|---|
| 2D pad | X |
| bang | X |
| comment | X |
| data viewer | X |
| message | X |
| multislider | X |
| multitoggle | X |
| piano keyboard | X |
| player controls | X |
| signal viewer | X |
| slider | X |
| sonogram | X |
| timeline | X |
| trigger | X |
| value plotter | X |
| video viewer | X |
| vu meter | X |
| Logic | Ready |
|---|---|
| boolean operator | X |
| conditional operator | X |
| counter | X |
| delay bang | X |
| delay float | X |
| gate | X |
| inverter | X |
| loadbang | X |
| spigot | X |
| timed semaphore | X |
| Math | Ready |
|---|---|
| 1D noise | X |
| clamp | X |
| cosine generator | X |
| map | X |
| metronome | X |
| number | X |
| operator | X |
| simple random | X |
| sine generator | X |
| smooth | X |
| Scripting | Ready |
|---|---|
| bash script | X |
| glsl shader | X |
| lua script | X |
| scheme live coding | X |
| Sound | Ready |
|---|---|
| ADSR envelope | X |
| AHR envelope | X |
| amplifier | X |
| address sequencer | X |
| audio exporter | X |
| bit cruncher | X |
| bit noise | X |
| comb filter | X |
| compressor | X |
| crossfader | X |
| data oscillator | X |
| decimator | X |
| delay | X |
| dimension chorus | X |
| frequency to note | X |
| high pass | X |
| kick | X |
| lfo | X |
| low pass | X |
| mixer | X |
| note to frequency | X |
| oscillator | X |
| panner | X |
| parametric EQ | X |
| pd patch | X |
| polyphonic oscillator | X |
| quad panner | X |
| quantizer | X |
| resonant filter | X |
| reverb | X |
| sample and hold | |
| sample player | X |
| saturator | |
| sequencer | X |
| sidechain compressor | X |
| signal gate | X |
| signal operator | X |
| signal trigger | X |
| soundfile player | X |
| summing mixer | X |
| String | Ready |
|---|---|
| random string | X |
| string at | X |
| string concat | X |
| string extract | X |
| string gate | X |
| string multiplexer | X |
| Surface | In process |
|---|---|
| fbo composer | |
| fbo effect | |
| fbo particle |
| Texture | Ready |
|---|---|
| image exporter | X |
| image loader | X |
| kinect grabber | X |
| pixels to texture | X |
| texture crop | X |
| texture gate | X |
| texture information | X |
| texture mixer | X |
| texture to pixels | X |
| texture transform | X |
| to grayscale texture | X |
| syphon sender ( osx only ) | X |
| syphon receiver ( osx only ) | X |
| video exporter | X |
| video feedback | X |
| video grabber | X |
| video player | X |
| video receiver ( osx only ) | X |
| video sender ( osx only ) | X |
| video streaming | X |
| video timedelay | X |
| Windowing | Ready |
|---|---|
| live patching | X |
| output window | X |
| projection mapping | X |
All contributions are made under theMIT License. SeeLICENSE.
ofxAudioFile, ofxPDSP original addons byNicola Pisanti
ofxBTrack original addon byNao Tokui
ofxCv original addons byKyle McDonald
ofxEasing original addon byArturo Castro
ofxFFmpegRecorder original addon byFurkan Üzümcü
ofxGLEditor original addon byAkira Hayasaka
ofxImGui original addon byJason Van Cleave
ofxInfiniteCanvas original addon byRoy Macdonald
ofxLua, ofxMidi, ofxPd original addons byDan Wilcox
ofxMtlMapping2D original addon bymorethanlogic
ofxNDI original addon byThomas Geissl
ofxSyphon original addon byAnthony Stellato
ofxTimeline original addon byJames George and YCAM Interlab
ofxWarp original addon byElie Zananiri
About
A visual programming patching environment for OF
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.
