mosaicode/README.md

98 lines
3.8 KiB
Markdown

# 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-cairo \
python3-dev \
python3-gi \
python3-gi-cairo \
python3-pip \
python3-setuptools \
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`
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/)