Collaborative Online Real-time Graphical Interface For Music
A "multiplayer DAW"
I am not actively working on this project, but I will consider small PRs for fixes, please see CONTRIBUTING.md for more info.
corgi.fm is licensed under the GPLv3, see LICENSE.md for more info.
- node 12.16.1 (won't work with 13+)
- yarn 1.x.x
- graphviz (for viewing diagrams in docs folder)
- rust (https://rustup.rs/)
Add 127.0.0.1 local.corgi.fm
to your hosts
file for local development.
yarn
yarn start
Then open local.corgi.fm
in a browser.
Create secrets.sh
in project root.
Used by server setup and deploy scripts.
#!/usr/bin/env bash
SSH_HOST=example.com
SSH_USER=notroot
SSH_HOST_TEST=test.example.com
SSH_USER_TEST=notroot
Create corgiSecrets.json
in project root.
Used by corgi server at runtime.
See server-secrets.ts
.
Run yarn setup-test-server
or yarn setup-prod-server
.
Add AWS secrets: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html
See s3.ts
.
Create and populate ~/corgiSecrets.json
.
See server-secrets.ts
.
packages/client/WebAudio/AudioWorklets/Processors
is the folder where audio worklet processor files go.
All files in that folder ending in .ts
will be treated as a parcel entry point.
See these places for more info:
package.json
run-parcel.js
build-parcel.js
.assetWrapper.js
packages/client/WebAudio/AudioWorklets
packages/client/WebWorkers/Workers
is the folder where web worker files go.
All files in that folder ending in .ts
will be treated as a parcel entry point.