Skip to content
/ Mosaic Public
forked from d3cod3/Mosaic

Mosaic, an openFrameworks based Visual Patching Creative-Coding Platform

License

Unknown, BSD-2-Clause licenses found

Licenses found

Unknown
LICENSE.md
BSD-2-Clause
LICENSE_LIBSAMPLERATE.md
Notifications You must be signed in to change notification settings

laboluz/Mosaic

 
 

Repository files navigation

Mosaic logo

MOSAIC - an openFrameworks based Visual Patching Creative-Coding Platform

Mosaic

Slack MosaicProcess

__

Operating system Status
Ubuntu and macOS TravisCI
Windows AppVeyor

Table of Contents

DOWNLOAD

Get Mosaic last release here: https://github.com/d3cod3/Mosaic/releases

OF COMPATIBLE RELEASE

0.10.1 STABLE (official download from OF site)

Compiled/tested with QTCreator on osx/linux/windows

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

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

ofxBTrack -- Fork

ofxDatGui -- Fork

ofxFontStash -- Fork

ofxGLEditor -- Fork

ofxLua -- Fork

ofxMidi -- Fork

ofxModal -- Fork

ofxParagraph -- Fork

ofxPython -- Fork

ofxTimeline -- Fork

ofxWarp -- Fork

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

SPECIFICATIONS

- cross-platform
- multi-threaded
- non-blocking system dialogs
- lua/python/glsl/bash live-coding
- pure data live-patching
- non-linear interactive timeline
- warping integrated on output window object

COMPILING

LINUX

The easy way

Here you can download (and check) a script for automatically download/clone/compile and build everything for your linux distro, and magically have Mosaic appearing on your desktop menu and perfectly working.

Ubuntu

Debian (SOON)

### The manual way

Compiling with qtcreator 4.6.1 with some issues, check this OF commit openframeworks/openFrameworks@8407701 and this issue #3487.

For the issue (an incompatibility between gtk3 and the ofxOpenCv addon) you'll need to uninstall libgtk-3-dev

sudo apt-get remove libgtk-3-dev

and follow the instructions here Mosaic issue #1.

Then, due to poco library compatibility, starting from ubuntu 18.04 or debian 9, in order to compile it you'll need to install libpoco-dev:

sudo apt-get install libpoco-dev

And fix your copy of ofxPoco, where basically you'll need to remove the static libs in libs/poco/lib folder and substitute the poco/include/Poco folder with the headers installed in your system, usually installed in /usr/local/include.

MACOS

Compiling with qtcreator 4.6.1 with no issues.

WINDOWS

Compiling with qtcreator 4.6.1 with no issues.

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/d3cod3/ofxDatGui
git clone https://github.com/d3cod3/ofxFontStash
git clone https://github.com/d3cod3/ofxGLEditor
git clone https://github.com/armadillu/ofxGLError
git clone https://github.com/armadillu/ofxHistoryPlot
git clone https://github.com/jeffcrouse/ofxJSON
git clone https://github.com/jvcleave/ofxImGui
git clone https://github.com/d3cod3/ofxInfiniteCanvas
git clone https://github.com/d3cod3/ofxLoggerChannel
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/ofxModal
git clone --branch=OF0.9.8 https://github.com/d3cod3/ofxPython
git clone https://github.com/d3cod3/ofxParagraph
git clone https://github.com/danomatika/ofxPd
git clone https://github.com/npisanti/ofxPDSP
git clone https://github.com/d3cod3/ofxSIMDFloats
git clone https://github.com/armadillu/ofxSimpleHttp
git clone https://github.com/d3cod3/ofxThreadedFileDialog
git clone http://github.com/pierrep/ofxThreadedYouTubeVideo
git clone https://github.com/d3cod3/ofxTimeline
git clone https://github.com/armadillu/ofxTimeMeasurements
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 https://github.com/d3cod3/Mosaic

Now you're ready to compile Mosaic! Load the .qbs project in QTCreator and compile it.

SCREENSHOTS

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 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.

About

Mosaic, an openFrameworks based Visual Patching Creative-Coding Platform

Resources

License

Unknown, BSD-2-Clause licenses found

Licenses found

Unknown
LICENSE.md
BSD-2-Clause
LICENSE_LIBSAMPLERATE.md

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 72.1%
  • GLSL 11.8%
  • C++ 7.6%
  • Lua 6.1%
  • Makefile 1.2%
  • C 0.7%
  • Other 0.5%