Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
910ccd1
Update README.md
ibuioli Feb 20, 2018
892c63e
Update README.md
ibuioli Feb 20, 2018
71ba9cd
Update README.md
ibuioli Feb 20, 2018
9ed2935
Update README.md
ibuioli Feb 20, 2018
9b471f4
Update README.md
ibuioli Feb 20, 2018
f2f8f83
Fixing npm run build for assets
fabriciocosta Feb 24, 2018
ab31935
Fix ng build for src/assets
fabriciocosta Aug 2, 2018
401c14d
Fixes over file manager and view component for https support, bad news
fabriciocosta Aug 6, 2018
cf4cf33
Page not found added for /moldeojs route in www.moldeo.org
fabriciocosta Aug 6, 2018
f20fc80
Upgrade all to ng cli 8, angular 8, typescript 3.7, etc..
fabriciocosta Jan 14, 2020
a62df44
migrating rxjs
fabriciocosta Jan 14, 2020
1f93479
Upgraded to Angular-Cli 8.3.22 / Angular 8.2.14, Typescript 3.5.3, Th…
fabriciocosta Jan 14, 2020
ad4236a
Add angular.json for Angular 8
fabriciocosta Jan 16, 2020
f616ffa
Added fsevents as optional to avoid npm ERR! in npm list, added packa…
fabriciocosta Jan 16, 2020
a1707d8
Migrated and working all reference from Http to HttpClient, @angular/…
fabriciocosta Jan 16, 2020
0104c9f
Added --port xxxx
fabriciocosta Jan 16, 2020
984a0be
TestScreen fixed and perspectiveview
fabriciocosta Jan 21, 2020
57f3b1a
Adding water
fabriciocosta Jan 21, 2020
f493e7f
Upgrade moldeojs 0.9.21.65, added mouse[xyz]wheel
fabriciocosta May 9, 2021
6d532e7
Upgrade moldeojs 0.9.21.65, added faust.ts, sound ts rewritten based…
fabriciocosta May 9, 2021
68a309d
Upgrade moldeojs 0.9.21.65, added faust.ts, sound ts rewritten based…
fabriciocosta May 9, 2021
297e7db
Upgraded to Angular last 8.0 ok
fabriciocosta May 9, 2021
8b650b6
Angular 8 is 0.8.21.65
fabriciocosta May 10, 2021
db6db77
Set version to major.angular.year.build: 0.8.21.65
fabriciocosta May 10, 2021
dedf612
Upgraded to angular 9.0, 0.9.21.65
fabriciocosta May 10, 2021
aba6727
Upgraded to Angular 10.0, v 0.10.21.65
fabriciocosta May 10, 2021
2daa529
Upgraded for Angular 11.0, 0.11.21.65
fabriciocosta May 10, 2021
23d226a
Bump electron from 7.1.9 to 9.4.0
dependabot[bot] May 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 156 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,157 @@
# moldeojs
# MoldeoJS
Javascript Moldeo Platform

Moldeo is an Open Source platform for making interactive projects. MoldeoJS is it's lighter version, to be used in web browsers.

# Features in MoldeoJS
- Export projects recorded from your screen.
- Access different webcams and display simultaneously.
- Parcticles system rendered in real time using Euler algorithm.
- Multiple Audiovisual processes in a same canvas.

# IMPORTANT: Angular versions fixes

## Angular 9.0:
### tsconfig.json add files and include sections:
"files": [
"main.ts",
"polyfills.ts"
],
"include": [
"src/**/*.d.ts"
]
### ngx-bootstrap compatibility
fixed with: import { BsDatepickerModule } from 'ngx-bootstrap/datepicker'

### Setting Max File Watches
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

## Angular 10.0:
### FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
solution: export NODE_OPTIONS=--max_old_space_size=4096

### WARNING: CommonJS Dependencies must be defined in angular.json
https://angular.io/guide/build#configuring-commonjs-dependencies
fixed adding to angular.json options:
"allowedCommonJsDependencies": [
"rxjs/Rx",
"zone.js/dist/zone",
"socket.io-client",
"rxjs/BehaviorSubject",
"xml-js",
"progressbar.js",
"p5/lib/addons/p5.sound",
"typed-function",
"decimal.js",
"fraction.js",
"complex.js"
],

## Angular 11.0:

### ERROR: Migration failed: Incompatible peer dependencies found
Package "codelyzer" has an incompatible peer dependency to "@angular/compiler"
(must upgrade codelyzer/tslint to eslint in angular 11.0 as soon as possible)
Fixed with: ng update codelyzer --allow-dirty
### FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
solution: export NODE_OPTIONS=--max_old_space_size=8192

# Pre-requisites
1) Install [NodeJS](https://nodejs.org/es/) > 6.9.0
# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

2) Install [NPM](https://docs.npmjs.com/getting-started/installing-node) > 3.0
3) Install [Angular-CLI](https://angular.io/guide/quickstart) desde tu terminal usando el comando:

```sh
$ npm install -g @angular/cli
```

# Execute MoldeoJS
Install the dependencies and MoldeoJS from your console typing
```sh
$ npm install
```

# Run the server with:
```sh
$ npm start
```

#Build to deploy later in a site
```sh
$ npm run buildsite
```


# Open an existing project to start using the platform
You can use existing projects (samples) created by Moldeo’s community. You can find them in “moldeojs/a2cli/src/assets/molrepos”, and you can display them from Samples button in the menu. You can also download projects from http://proyectos.moldeo.org/proyecto#head


# Plugins
Plugins are applied in chronological order, in three stages inside the drawing cycle:

**Pre-effect:** Modifies the image. This is the first stage of effects and are applied directly to the image we are working on.

- Erase (Changes the background color cleaning the canvas)
- Mirrorg (to blur the background of the image)

**Effect:** Adds elements to the image.
- Icon (Generates 2d icons)
- Image (Loads image as texture)
- Plane (Generates 3D assets)
- [ParticlesSimple](http://proyectos.moldeo.org/documentation/moldeoplugins/Effects/ParticlesSimple/doc/es/html/index.html) (Simple particles effect, in Euler’s logarithm)
- Camera (Access to the user’s webcam)

- Sound (based on P5.js oscillator)
- Faust (Faust sound compiler for javascript based on wasm and webaudio) https://github.com/faust/tree/architecture/webaudio

IMPORTANT modify some things like:
The base library file libfaust-wasm.js:
var REMOTE_PACKAGE_BASE="libfaust-wasm.data";
with:
var REMOTE_PACKAGE_BASE="./assets/data/effects/faust/libfaust-wasm.data";

Then for each compiled effect do:

Modify the .js file (compiled with 'faust2wasm -worklet wind.dsp'), aka 'wind.js' reference with the correct path,
replace:
let real_url = (this.baseURL === "") ? "wind.wasm" : (this.baseURL + "/wind.wasm");
with:
let real_url = (this.baseURL === "") ? "wind.wasm" : (this.baseURL + "/assets/effects/faust/wind.wasm");

Modify the dspName constant with a specific one,
replace:
const dspName = "wind"
...
window[dspName] = wind;
with:
const dspNameWind = "wind"
...
window[dspNameWind] = wind;

Then check that you added to header of your index.html for every effect, the script link to the js file, like this:
<script name="faustnoise" src="./assets/data/effects/faust/wind.js"></script>



- ML5 (based on ml5.js https://github.com/ml5js) works with live camera, and texture buffers (image/texture collections) for image classification

**Post- Effect:** Apply filters to the final image.
- Mapping (transform the final image to fit a desired shape)
- Add filter to all the elements of an image (contrast)
- Crop an image.


# Contact:
- [email protected]
- [Moldeo's Community on Facebook](https://www.facebook.com/comunidadmoldeo?3e71y)
- www.moldeo.org

# Demo
https://moldeojs.moldeo.org/a2cli/dist/

# Licence
[GNU GPL](https://github.com/moldeo/moldeojs/blob/master/LICENSE)
63 changes: 0 additions & 63 deletions angular-cli.json

This file was deleted.

144 changes: 144 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"a2cli": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"aot": true,
"outputPath": "dist",
"index": "src/index.html",
"main": "src/main.ts",
"tsConfig": "src/tsconfig.json",
"showCircularDependencies": false,
"allowedCommonJsDependencies": [
"rxjs/Rx",
"zone.js/dist/zone",
"socket.io-client",
"rxjs/BehaviorSubject",
"xml-js",
"progressbar.js",
"p5/lib/addons/p5.sound",
"typed-function",
"decimal.js",
"fraction.js",
"complex.js"
],
"assets": [
"src/assets",
"src/favicon.ico"
],
"styles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"src/styles.css"
],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "a2cli:build",
"sslKey": "sslcert/server.key",
"sslCert": "sslcert/server.crt"
},
"configurations": {
"production": {
"browserTarget": "a2cli:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "a2cli:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"karmaConfig": "./karma.conf.js",
"scripts": [],
"styles": [
"./node_modules/bootstrap/dist/css/bootstrap.min.css",
"./src/styles.css"
],
"assets": [
"src/assets",
"src/favicon.ico"
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [],
"exclude": []
}
}
}
},
"a2cli-e2e": {
"root": "e2e",
"sourceRoot": "e2e",
"projectType": "application",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "./protractor.conf.js",
"devServerTarget": "a2cli:serve"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [],
"exclude": []
}
}
}
}
},
"defaultProject": "a2cli",
"schematics": {
"@schematics/angular:component": {
"prefix": "app",
"style": "css"
},
"@schematics/angular:directive": {
"prefix": "app"
}
}
}
Loading