Welcome to allhands
IMPORTANT: You MUST install this package globally, ignore the [npm i allhands] command to the right of this page. Instructions below.
With allhands, you can send Open Sound Control (OSC) data over the web, without needing to know the destination IP address(es) of each person you are collaborating with. Simply install allhands as a global package, run it, and then from your chosen application (i.e. Max/MSP, pd, Ableton, Touchdesigner, etc) send OSC data to port 7403 and listen on port 7404.
Cross-platform, tested on OSX, Windows, Linux.
If on OSX Catalina, and using zsh as your terminal, you'll need to make sure that nodejs is in your PATH. See this step-by-step before proceeding
Open a terminal window, type the following and hit enter.
npm install -g allhands
If you get an error when installing related to permissions, visit this tutorial for how to install packages globally
In a terminal window, type the following and hit enter:
Next you'll be prompted to either  create or edit a user configuration, or [2...] to choose an existing one. Choosing an existing configuration will launch allhands with those settings right away. If you choose to create or edit a config, you'll be prompted the following:
Enter a name for the config file (enter an existing name to edit that file)
Enter your name.
Choose the server type.
- Public: This will connect you to the main allhands network. Use this if you want to send and receive controller data to/from everyone else connected :)
- Secret Handshake: Useful for ensembles, connect only to others who have the secret handshake name, like a private chat room.
- Cloud: This is to connect to a specific cloud-based allhands server. You'll need the url of the cloud instance.
- Self-hosted: Choose this if you or someone in your group is running an allhands server on their own computer. If connecting to someone's server, you'll need their public IP address.
- localhost: Choose this setting if the server is running on your machine.
Outgoing Port: This is the port that you will use to send data from your application (i.e. Pd, Max, Ableton, etc) to an allhands network. The default is 7403 and the address should be either localhost or 127.0.0.1 (whichever your program prefers).
Incoming Port: This is the port that your application should listen on for data coming from an allhands network. The default is 7404 and the address should be either localhost or 127.0.0.1 (whichever your program prefers).
Print Incoming Data: If you want to display controller data coming in from someone else, choose Yes
Print Outgoing Data: If you want to display your outgoing controller data (sent from whichever application you're using, i.e. pd, ableton, etc), choose Yes
allhands is meant to work alongside other programs that can send/receive OSC data. Once you have the allhands app running and connected to a server, you should open your preferred program and try sending/receiving data. Example code for puredata, max/msp, etc, can be found at https://github.com/michaelpalumbo/allhands-examples
Consider sending me a tip to support this work: Paypal
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Support for this project was provided generously by the Canada Council for the Arts.