Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Mosaic logo

MOSAIC - an openFrameworks based Visual Patching Creative-Coding Platform

Mosaic

Slack MosaicProcess

ko-fi

__

Table of Contents

INSTALL

LINUX

Check the Mosaic installer here: https://github.com/d3cod3/Mosaic-Installer

MACOS

Get Mosaic last release here: https://github.com/d3cod3/Mosaic/releases Just unzip the downloaded release and copy Mosaic app in your Application folder, that's it!

WINDOWS

Check the Mosaic installer here: https://github.com/d3cod3/Mosaic-Installer Windows is only maintained at code level, compiling is tested regularly but releases are neither published or tested.

OF COMPATIBLE RELEASE

0.11.0 STABLE (official download from OF site)

Compiled/tested with QTCreator on osx/linux/windows

If you want to build Mosaic, just download OF0.11.0 for your OS (osx, linux, windows) and follow the correspondent setup guide.

DESCRIPTION

Mosaic-Data-Flow-Diagram

Mosaic is an open source multi-platform (osx, linux, windows) live coding and visual programming application, based on openFrameworks.

This project deals with the idea of integrate/amplify human-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, Python 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/disconnet 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...)

KEYWORDS

Mosaic, ofxVisualProgramming, openframeworks, linux, macOS, windows, creative-coding, live-coding, physical, visual, scripting, transmedia, programming, visual-programming

DEPENDENCIES

ofxAudioAnalyzer -- Fork

ofxAudioFile

ofxBTrack -- Fork

ofxChromaKeyShader -- Fork

ofxCv

ofxEasing

ofxFFmpegRecorder -- Fork

ofxFontStash -- Fork

ofxGLEditor -- Fork

ofxJSON

ofxImGui -- Fork

ofxInfiniteCanvas -- Fork

ofxLua -- Fork

ofxMidi -- Fork

ofxMtlMapping2D -- Fork

ofxNDI -- Fork

ofxPd

ofxPdExternals

ofxPDSP

ofxPython -- Fork

ofxTimeline -- Fork

ofxVisualProgramming

ofxWarp -- Fork

Some addons are forks of the original, due to some mods, compatibility with OF0.11 and the intention of cross-platform compiling (osx,linux,win)

SPECIFICATIONS

- cross-platform
- ImGui based GUI interface
- included automatic window video exporter with subtitler for easy tutorial creation
- non-blocking system dialogs
- lua/python/glsl/bash live-coding
- pure data live-patching
- non-linear interactive timeline
- warping integrated on output window object
- mapmap style projection mapping module
- objects/nodes plugin system for easy platform extension

OFXADDONS

Clone all the required addons listed:

cd <your_openframeworks_release_folder>/addons

git clone https://github.com/d3cod3/ofxAudioAnalyzer
git clone https://github.com/npisanti/ofxAudioFile
git clone https://github.com/d3cod3/ofxBTrack
git clone https://github.com/d3cod3/ofxChromaKeyShader
git clone https://github.com/kylemcdonald/ofxCv
git clone https://github.com/arturoc/ofxEasing
git clone https://github.com/d3cod3/ofxFFmpegRecorder
git clone https://github.com/d3cod3/ofxFontStash
git clone https://github.com/d3cod3/ofxGLEditor
git clone https://github.com/jeffcrouse/ofxJSON
git clone https://github.com/d3cod3/ofxImGui
git clone https://github.com/d3cod3/ofxInfiniteCanvas
git clone --branch=of-0.10.0 https://github.com/d3cod3/ofxLua
git clone https://github.com/d3cod3/ofxMidi
git clone https://github.com/d3cod3/ofxMtlMapping2D
git clone https://github.com/d3cod3/ofxNDI
git clone --branch=OF0.9.8 https://github.com/d3cod3/ofxPython
git clone https://github.com/danomatika/ofxPd
git clone https://github.com/d3cod3/ofxPdExternals
git clone https://github.com/npisanti/ofxPDSP
git clone https://github.com/d3cod3/ofxTimeline
git clone https://github.com/d3cod3/ofxVisualProgramming
git clone https://github.com/d3cod3/ofxWarp

Then clone Mosaic project as an openFrameworks example:

cd <your_openframeworks_release_folder>/apps/myApps

git clone --recursive https://github.com/d3cod3/Mosaic

Now you're ready to compile Mosaic! Load the .qbs project in QTCreator and compile it. Or just enter in Mosaic folder and run a make Release.

CONTRIBUTING

Contributing to the project adding new objects is relatively easy, as ofxVisualProgramming is at the core of Mosaic software, i've implemented a plugin mechanism based on Pugg, 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: Mosaic-Plugin, with some generic objects templates and more detailed info in the readme.

SCREENSHOTS

Mosaic 0.4.0_beta

Mosaic pre_0.2.0

Mosaic pre_0.2.0

Mosaic 0.1.7

Mosaic 0.1.7

Mosaic pre_0.1.7

Mosaic pre_0.1.6

Mosaic pre_alpha_0.1.0

Mosaic pre_alpha_0.1.0

Mosaic on linux

Mosaic on windows

LICENSE

license

All contributions are made under the MIT License. See LICENSE.

CREDITS

Mosaic is an open source project.

The Mosaic team is composed by Emanuele Mazza, Daan de Lange and Maria José Martínez de Pisón.

Mosaic uses FFTW3, essentia, kiss_fft, libsamplerate, dr_libs, fontstash and code from openframeworks all the included ofxAddons.

You can’t perform that action at this time.