Music collaboration in the browser!
NINJAM is a client/server software originally released in 2005 as a way for musicians to collaborate (by jamming!) over the Internet.
Ninjam JS is still a work in progress. The current code is capable of connecting to servers, sending and receiving chat messages (including votes), listening to audio channels from other users, and transmitting audio.
You can install Ninjam JS using Chrome, Chromium, or Chrome OS by clicking below here:
Or, you can download an installer for Windows, OSX, or Linux from the Releases page.
Jamming on a server
Setting up dependencies
npm install from the project root to install node dependencies. This will
npm install in the
app/ directory automatically.
cd <project_root> npm install # Install packaging tools cd app/ npm install # Install app dependencies
To build and run the app locally:
cd <project_root>/app/ npm run watch
This starts a process which performs an initial build (populating the
directory if it isn't already) and continuously watches for changes, rebuilding
individual assets as needed.
To just build the application once without starting the watcher, run
npm run make-dist instead.
Once a build has been made, open another terminal and launch the application using Electron:
cd <project_root> npm start
root/ |- package.json: Used for electron-builder packaging, contains packaging scripts |- build/: Resources used by electron-builder during packaging (icons, etc.) |- app/: |- package.json: Declares app dependencies, contains build scripts |- webpack.config.js: Webpack build configuration |- build/: Destination for built JS/CSS bundles and copied static assets |- src/: React source |- static/: Static assets copied as-is into build/ by Webpack |- package.json: Declares app metadata used by Electron and electron-builder