{"id":23803533,"url":"https://github.com/d3cod3/ofxvisualprogramming","last_synced_at":"2025-04-04T22:07:12.000Z","repository":{"id":33987893,"uuid":"137724379","full_name":"d3cod3/ofxVisualProgramming","owner":"d3cod3","description":"A visual programming patching environment for OF","archived":false,"fork":false,"pushed_at":"2025-03-26T19:58:13.000Z","size":45087,"stargazers_count":159,"open_issues_count":0,"forks_count":19,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-28T21:08:46.948Z","etag":null,"topics":["creative-coding","cyber-coding","cyber-programming","linux","live-coding","macos","mosaic","ofxvisualprogramming","openframeworks","openframeworks-addon","physical-computing","programming","scripting","visual-computing","visual-programming","windows"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d3cod3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"d3cod3","patreon":null,"open_collective":null,"ko_fi":"d3cod3","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2018-06-18T07:56:31.000Z","updated_at":"2025-03-22T17:08:55.000Z","dependencies_parsed_at":"2023-02-13T23:31:32.731Z","dependency_job_id":"f0b709b2-926a-4c00-a9b1-21cb04d24283","html_url":"https://github.com/d3cod3/ofxVisualProgramming","commit_stats":{"total_commits":844,"total_committers":3,"mean_commits":281.3333333333333,"dds":"0.027251184834123254","last_synced_commit":"e86dbe2a69caaf4d410a01ede37f5792241377ac"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3cod3%2FofxVisualProgramming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3cod3%2FofxVisualProgramming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3cod3%2FofxVisualProgramming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3cod3%2FofxVisualProgramming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d3cod3","download_url":"https://codeload.github.com/d3cod3/ofxVisualProgramming/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256112,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["creative-coding","cyber-coding","cyber-programming","linux","live-coding","macos","mosaic","ofxvisualprogramming","openframeworks","openframeworks-addon","physical-computing","programming","scripting","visual-computing","visual-programming","windows"],"created_at":"2025-01-01T22:32:15.495Z","updated_at":"2025-04-04T22:07:11.979Z","avatar_url":"https://github.com/d3cod3.png","language":"C++","readme":"\n# ofxVisualProgramming - A visual-programming patching addon for OF\n\n\u003e 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 \u0026 linux) capabilities.\n\n![Mosaic 0.6.9](https://github.com/d3cod3/Mosaic/raw/master/process/img/31_sintax03.jpg)\nScreenshot from project [Mosaic](http://mosaic.d3cod3.org/), embedding ofxVisualProgramming\n\n\nTable of Contents\n=================\n\n   * [OF_COMPATIBLE_RELEASE](#of_compatible_release)\n   * [REFERENCE](#reference)\n   * [DESCRIPTION](#description)\n   * [DEPENDENCIES](#dependencies)\n   * [COMPILING](#compiling)\n   * [INSTALLING](#installing)\n   * [USAGE](#usage)\n   * [CONTRIBUTING](#contributing)\n   * [COLLECTIONS](#collections)\n   * [OBJECTS LIST](#objects_list)\n   * [LICENSE](#license)\n   * [CREDITS](#credits)\n\n\n# OF COMPATIBLE RELEASE\n\n## 0.12.0 STABLE (official download from [OF site](https://openframeworks.cc/))\n\u003e Compiled/tested with QTCreator on osx/linux\n\nIf you want to build ofxVisualProgramming, just download OF0.12.0 for your OS (osx, linux, windows) and follow the setup guide for [qtcreator](https://www.qt.io/) IDE.\n\n# REFERENCE\n\nofxVisualProgramming came directly from the idea behind the ofxComposer addon by [patriciogonzalezvivo](https://github.com/patriciogonzalezvivo/ofxComposer) and [James George](http://www.jamesgeorge.org/), and obviously from the various commercial and no-commercial existing visual programming softwares, the open source option [Pure Data](http://puredata.info/), the commercial options [Max/Msp](https://cycling74.com/products/max) and [TouchDesigner](https://www.derivative.ca/), etc..., to talk of the latest ones, and without forgetting probably the first one from 1968,\n\n\u003ca href=\"http://www.youtube.com/watch?feature=player_embedded\u0026v=QQhVQ1UG6aM\" target=\"_blank\"\u003e\u003cimg src=\"http://img.youtube.com/vi/QQhVQ1UG6aM/0.jpg\"\nalt=\"GRAIL\" width=\"240\" height=\"180\" border=\"0\" /\u003e\u003c/a\u003e\n\nGRAIL [RM-599-ARPA](https://www.rand.org/content/dam/rand/pubs/research_memoranda/2005/RM5999.pdf) from **the [RAND](https://www.rand.org) Corporation**.\n\nSo special thanks to all the precursors of this ideas, and more thanks to the [ofxComposer](https://github.com/patriciogonzalezvivo/ofxComposer) developers for their code, it has been a great reference for start working on this ofxaddon.\n\n# DESCRIPTION\n\nThis [addon](https://github.com/d3cod3/ofxVisualProgramming) is the core code of the project [Mosaic](https://github.com/d3cod3/Mosaic)![Mosaic logo](https://github.com/d3cod3/Mosaic/raw/master/process/logo/logo_150.png), maintained isolated in order to obtain a better modularized code structure, encourage contributions, simplify bug fixing and enhance code quality.\n\nThis 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 \u0026 linux) ).\n\nAs 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).\n\nWhile 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\u0026drop 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...)\n\n\n#### KEYWORDS\nmosaic, ofxVisualProgramming, openframeworks, linux, macOS, windows, creative-coding, live-coding, cyber-coding, physical-computing, visual-computing, scripting, transmedia, programming, visual-programming, cyber-programming\n\n# DEPENDENCIES\n\nIn order to build ofxVisualProgramming, you'll need this addons:\n\n\n#### [ofxAudioFile](https://github.com/npisanti/ofxAudioFile)\n\n#### [ofxBTrack](https://github.com/d3cod3/ofxBTrack)\n\n#### [ofxCv](https://github.com/kylemcdonald/ofxCv)\n\n#### [ofxEasing](https://github.com/arturoc/ofxEasing)\n\n#### [ofxFFmpegRecorder](https://github.com/d3cod3/ofxFFmpegRecorder)\n\n#### [ofxFft](https://github.com/kylemcdonald/ofxFft)\n\n#### [ofxGLEditor](https://github.com/Akira-Hayasaka/ofxGLEditor)\n\n#### [ofxImGui](https://github.com/d3cod3/ofxImGui)\n\n#### [ofxInfiniteCanvas](https://github.com/d3cod3/ofxInfiniteCanvas)\n\n#### [ofxLua](https://github.com/danomatika/ofxLua)\n\n#### [ofxMidi](https://github.com/danomatika/ofxMidi)\n\n#### [ofxMtlMapping2D](https://github.com/d3cod3/ofxMtlMapping2D)\n\n#### [ofxNDI](https://github.com/d3cod3/ofxNDI)\n\n#### [ofxOpenDHT](https://github.com/d3cod3/ofxOpenDHT)\n\n#### [ofxPd](https://github.com/danomatika/ofxPd)\n\n#### [ofxPDSP](https://github.com/d3cod3/ofxPDSP)\n\n#### [ofxScheme](https://github.com/d3cod3/ofxScheme)\n\n#### [ofxSyphon](https://github.com/d3cod3/ofxSyphon)\n\n#### [ofxTimeline](https://github.com/d3cod3/ofxTimeline)\n\n#### [ofxWarp](https://github.com/d3cod3/ofxWarp)\n\n\u003eSome addons are forks of the original, due to some mods, compatibility with OF0.12.0 and the intention of cross-platform compiling (osx,linux)\n\n# COMPILING\n\n**MACOS/LINUX compiling with qtcreator 4.6.1**\n\n# INSTALLING\n\nClone [this addon repository](https://github.com/d3cod3/ofxVisualProgramming) into your `\u003cyour_openframeworks_release_folder\u003e/addons` together with all the others addons listed:\n\n```bash  \ncd \u003cyour_openframeworks_release_folder\u003e/addons\n\ngit clone https://github.com/npisanti/ofxAudioFile\ngit clone https://github.com/d3cod3/ofxBTrack\ngit clone https://github.com/kylemcdonald/ofxCv\ngit clone https://github.com/arturoc/ofxEasing\ngit clone https://github.com/d3cod3/ofxFFmpegRecorder\ngit clone https://github.com/kylemcdonald/ofxFft\ngit clone https://github.com/Akira-Hayasaka/ofxGLEditor\ngit clone https://github.com/d3cod3/ofxImGui\ngit clone https://github.com/d3cod3/ofxInfiniteCanvas\ngit clone https://github.com/danomatika/ofxLua\ngit clone https://github.com/danomatika/ofxMidi\ngit clone https://github.com/d3cod3/ofxMtlMapping2D\ngit clone --branch=NDI5 https://github.com/d3cod3/ofxNDI\ngit clone https://github.com/d3cod3/ofxOpenDHT\ngit clone https://github.com/danomatika/ofxPd\ngit clone https://github.com/d3cod3/ofxPDSP\ngit clone https://github.com/d3cod3/ofxScheme\ngit clone https://github.com/d3cod3/ofxSyphon\ngit clone https://github.com/d3cod3/ofxTimeline\ngit clone https://github.com/d3cod3/ofxWarp\ngit clone https://github.com/d3cod3/ofxVisualProgramming\n```\n\n# USAGE\n\nCheck [Mosaic](https://github.com/d3cod3/Mosaic) project to look at a ofxVisualProgramming addon usage and implementation\n\n\n# CONTRIBUTING\n\nContributing to the project adding new objects is relatively easy, as ofxVisualProgramming is at the core of [Mosaic](https://github.com/d3cod3/Mosaic) software, i've implemented a plugin mechanism based on [Pugg](http://pugg.sourceforge.net/), 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)\n\nYou can find the repo of the plugin template here: [ofxMosaicPlugin](https://github.com/d3cod3/ofxMosaicPlugin), with some generic objects templates and more detailed info in the readme.\n\n# COLLECTIONS\n\nA list of contributed collections of new objects\n\n- [ofxVPObjectsDaan](https://github.com/Daandelange/ofxVPObjectsDaan) by [@Daandelange](https://github.com/Daandelange)\n\n# OBJECTS LIST\n\nAudio Analysis | Ready\n---------- | ----------\naudio analyzer | X |\nbpm extractor | X |\nfft extractor | X |\nmel bands extractor | X |\npitch extractor | X |\nrms extractor | X |\n\nCommunications | Ready\n---------- | ----------\narduino serial | X  |\nkey pressed | X  |\nkey released | X  |\nmidi key | X  |\nmidi knob | X  |\nmidi pad | X  |\nmidi receiver | X  |\nmidi sender | X  |\nosc receiver | X  |\nosc sender | X  |\n\nComputer Vision | Ready\n---------- | ----------\nbackground subtraction | X  |\ncolor tracking | X  |\ncontour tracking | X  |\nhaar tracking | X |\nmotion detection | X |\noptical flow | X |\n\nData | Ready\n---------- | ----------\nbang multiplexer | X  |\nbang to float | X  |\ncolor palette | X  |\ndata to file | X  |\ndata to texture | X  |\nfile to data | X  |\nfloat multiplexer | X  |\nfloats to vector | X  |\nreceiver | X  |\nsender | X  |\ntexture to data | X  |\nvector at | X  |\nvector concat | X  |\nvector extract | X  |\nvector gate | X  |\nvector operator | X  |\n\nGUI | Ready\n---------- | ----------\n2D pad | X |\nbang | X |\ncomment | X |\ndata viewer | X |\nmessage | X |\nmultislider | X |\nmultitoggle | X |\npiano keyboard | X |\nplayer controls | X |\nsignal viewer | X |\nslider | X |\nsonogram | X |\ntimeline | X |\ntrigger | X |\nvalue plotter | X |\nvideo viewer | X |\nvu meter | X |\n\nLogic | Ready\n---------- | ----------\nboolean operator | X |\nconditional operator | X |\ncounter | X |\ndelay bang | X |\ndelay float | X |\ngate | X |\ninverter | X |\nloadbang | X |\nspigot | X |\ntimed semaphore | X |\n\nMath | Ready\n---------- | ----------\n1D noise | X |\nclamp | X |\ncosine generator | X |\nmap | X |\nmetronome | X |\nnumber | X |\noperator | X |\nsimple random | X |\nsine generator | X |\nsmooth | X |\n\nScripting | Ready\n---------- | ----------\nbash script | X |\nglsl shader | X |\nlua script | X |\nscheme live coding | X |\n\n\nSound | Ready\n---------- | ----------\nADSR envelope | X |\nAHR envelope | X |\namplifier | X |\naddress sequencer | X |\naudio exporter | X |\nbit cruncher | X |\nbit noise | X |\ncomb filter | X |\ncompressor | X |\ncrossfader | X |\ndata oscillator | X |\ndecimator | X |\ndelay | X |\ndimension chorus | X |\nfrequency to note | X |\nhigh pass | X |\nkick | X |\nlfo | X |\nlow pass | X |\nmixer | X |\nnote to frequency | X |\noscillator | X |\npanner | X |\nparametric EQ | X |\npd patch | X |\npolyphonic oscillator | X |\nquad panner | X |\nquantizer | X |\nresonant filter | X |\nreverb | X |\nsample and hold | | X\nsample player | X |\nsaturator | | X\nsequencer | X |\nsidechain compressor | X |\nsignal gate | X |\nsignal operator | X |\nsignal trigger | X |\nsoundfile player | X |\nsumming mixer | X |\n\nTexture | Ready\n---------- | ----------\nimage exporter | X |\nimage loader | X |\nkinect grabber | X |\npixels to texture | X |\ntexture crop | X |\ntexture gate | X |\ntexture information | X |\ntexture mixer | X |\ntexture to pixels | X |\ntexture transform | X |\nto grayscale texture | X |\nsyphon sender ( osx only ) | X |\nsyphon receiver ( osx only ) | X |\nvideo exporter | X |\nvideo feedback | X |\nvideo grabber | X |\nvideo player | X |\nvideo receiver ( osx only ) | X |\nvideo sender ( osx only ) | X |\nvideo streaming | X |\nvideo timedelay | X |\n\nWindowing | Ready\n---------- | ----------\nlive patching | X |\noutput window | X |\nprojection mapping | X |\n\n# LICENSE\n\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](LICENSE)\n\nAll contributions are made under the [MIT License](https://opensource.org/licenses/MIT). See [LICENSE](https://github.com/d3cod3/ofxVisualProgramming/blob/master/LICENSE.md).\n\n# CREDITS\n\nofxAudioFile, ofxPDSP original addons by [Nicola Pisanti](https://github.com/npisanti)\n\nofxBTrack original addon by [Nao Tokui](https://github.com/naotokui)\n\nofxCv, ofxFft original addons by [Kyle McDonald](https://github.com/kylemcdonald)\n\nofxEasing original addon by [Arturo Castro](https://github.com/arturoc)\n\nofxFFmpegRecorder original addon by [Furkan Üzümcü](https://github.com/Furkanzmc)\n\nofxGLEditor original addon by [Akira Hayasaka](https://github.com/Akira-Hayasaka)\n\nofxImGui original addon by [Jason Van Cleave](https://github.com/jvcleave)\n\nofxInfiniteCanvas original addon by [Roy Macdonald](https://github.com/roymacdonald)\n\nofxLua, ofxMidi, ofxPd original addons by [Dan Wilcox](https://github.com/danomatika)\n\nofxMtlMapping2D original addon by [morethanlogic](https://github.com/morethanlogic)\n\nofxNDI original addon by [Thomas Geissl](https://github.com/thomasgeissl)\n\nofxSyphon original addon by [Anthony Stellato](https://github.com/astellato)\n\nofxTimeline original addon by [James George and YCAM Interlab](https://github.com/YCAMInterlab/ofxTimeline)\n\nofxWarp original addon by [Elie Zananiri](https://github.com/prisonerjohn/ofxWarp)\n","funding_links":["https://github.com/sponsors/d3cod3","https://ko-fi.com/d3cod3"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3cod3%2Fofxvisualprogramming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd3cod3%2Fofxvisualprogramming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3cod3%2Fofxvisualprogramming/lists"}