# 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. ``` git clone https://git.alice.ufsj.edu.br/fls/mosaicode.git ``` ### Prerequisites / Dependencies ``` sudo apt install \ build-essential \ cmake \ gcc \ gir1.2-gtksource-3.0 \ gir1.2-gtk-3.0 \ gir1.2-goocanvas-2.0 \ libcairo2-dev \ libgirepository1.0-dev \ libgirepository-2.0-dev \ libgoocanvas-2.0-9 \ libgoocanvas-2.0-dev \ pkg-config \ python3 \ python3-gi \ python3-cairo \ python3-gi-cairo \ python3-dev \ python3-pip \ python3-venv ``` ### Installation Steps to install the Mosaicode in a virtual environment or in the operational system directory. #### Virtual Environment / Isolated from system directories Setting the virtual environment: 1. Create the environment: `python3 -m venv mosaicode` 1. Active the environment: `source mosaicode/bin/activate` 1. Install PyGObject: `python -m pip install PyGObject setuptools` 1. Install Mosaicode: `python setup.py install` More details in the Python 3 *Virtual Environments and Packages* documentation: https://docs.python.org/3/tutorial/venv.html ### Running mosaicode 1. Active the environment: `source mosaicode/bin/activate` 1. Run the tool: `mosaicode` 1. Deactivate the environment: `deactivate` ### 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://git.alice.ufsj.edu.br/fls/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 | To install a Extension: ``` mkdir ~/mosaicode mkdir ~/mosaicode/extensions/ cd ~/mosaicode/extensions/ git clone https://git.alice.ufsj.edu.br/fls/mosaicode-javascript-webaudio.git ``` ## Related pages ALICE. Lab: [https://alice.ufsj.edu.br/](https://alice.ufsj.edu.br/)