demo (right now only works in Chrome)
To use screen capture or a browser tab as an input source, you must first install the chrome extension for screensharing, and restart chrome.
To install, go to chrome://extensions/ Click "Load unpacked extension", and select the "extensions" folder in "screen-capture-extension" in this repo. Restart chrome. The extension should work from now on without needing to reinstall.
To run locally, you must have nodejs and npm installed. Install from: https://nodejs.org/en/
Download the repository, open terminal, and enter directory
cd LiveLab
install dependencies:
npm install -d
The repo contains a desktop version built using nw.js, and a browser-based version. Some features, such as broadcast and relaying OSC channels, are only available in the desktop version.
Run the browser version:
npm run start-local
To run the desktop version:
npm run start-nw
To develop either version, open a separate command line and type
npm run watch
- scrollable track info
- removed bandwidth info
- no volume control for own audio
- colors for muting and volume control
- controls for echoCancellation, autoGainControl, and noiseSuppressiong
- building and running the desktop on multiple platforms and without requiring nw.js to be installed globally
- screensharing
- room and nickname info saved to local storage
- Room added to URL query params: '?room=roomName'. When using with sendOnly, follow format 'https://livelab.app?room=roomName#sendOnly'
- Room name auto-populated on login page when specified in query
- client rejoins room when server is reconnected
- [server update] added 'getPeers' function so that client can query for existing peers in room
- client reconnects to peers when internet connection is rest
- Logs using built in Choo logging function, so that later it will be easier to show logs to user
- Catch 'Ice Connection Failed' error -- removes ghost black screens
- Updated route for gh-pages
- Interface for sending media without receiving, with separate route at #sendonly
- Flag for each peer 'requestMedia', indicating whether that peer should receive media
- Peers no longer send media by default, only when requested. (breaking change / not compatible with earlier versions)
- Updated choo devtools
- Version number on login page
- Changelog
- Audio turning off when show control open