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 startThen 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=notrootCreate 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.jsonrun-parcel.jsbuild-parcel.js.assetWrapper.jspackages/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.