mosaicode/README.md

3.6 KiB

Mosaicode

A Visual Programming Environment and source code generator for specific domains, focusing on Digital Art.

Getting Started

Getting a copy of the project up and running on your local machine. Supported Platform: GNU/Linux.

Prerequisites

Open the terminal (Ctrl+Alt+T) and run the following command to install the software dependencies:

sudo apt install python3 python3-gi python3-cairo python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev python3-dev build-essential pkg-config python3-pip python3-venv

Alternative: Use the Makefile for automatic installation:

make install_full

Installation

Steps to install the Mosaicode in a virtual environment or in the operational system directory.

Virtual Environment / Isolated from system directories

Installing python virtual environment via terminal:

sudo apt install python3.8-venv

Setting the virtual environment:

  1. Create the environment: python3 -m venv <virtual environment name>
  2. Active the environment: source <virtual environment path>/<virtual environment name>/bin/activate
  3. Install prerequisites: sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev
  4. Install PyGObject: python -m pip install PyGObject
  5. Install Mosaicode: python setup.py install

Alternative: Use the Makefile for automatic virtual environment setup:

make install_venv

More details in the Python 3 Virtual Environments and Packages documentation: https://docs.python.org/3/tutorial/venv.html

Operational System Directories

Run via terminal:

sudo python setup.py install

Alternative: Use the Makefile for system installation:

make install_full

Useful Makefile Commands

  • make help - Show all available commands
  • make check_deps - Check if dependencies are properly installed
  • make run - Run Mosaicode in development mode
  • make run_installed - Run installed Mosaicode
  • make test_normal - Run tests
  • make clean - Clean build files

Mosaicode Extensions

Some extensions that you can install to add visual programming languages with resources from areas of computing which allow the development of tools to support Digital Art in a simple and practical way: dragging and connecting blocks:

Technology Domain Extension repository Operating
Javascript / Web Audio API Computer Music https://github.com/Alice-ArtsLab/mosaicode-javascript-webaudio Yes
C / OpenCV Computer vision https://github.com/Alice-ArtsLab/mosaicode-c-opencv No
C / Opengl Computer graphics https://github.com/Alice-ArtsLab/mosaicode-c-opengl No
Javascript / Canvas Graphics on a web https://github.com/Alice-ArtsLab/mosaicode-javascript-canvas No
C / Linux-Joystick USB Controller https://github.com/Alice-ArtsLab/mosaicode-c-joystick No
C / Gtk GUI https://github.com/Alice-ArtsLab/mosaicode-c-gtk No
C / Portaudio Computer Music https://github.com/Alice-ArtsLab/mosaicode-c-sound No

ALICE. Lab: https://alice.dcomp.ufsj.edu.br/

Contact

Asking to: