diff --git a/README.md b/README.md index 80cc8a0..6617f5c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,48 @@ # padsys.py -Python-based implementation of Padsys by Electronics (https://github.com/electronics/padsys) +Python-based implementation of Padsys by Electronics (https://github.com/electronics/padsys). -## Usage: +Padsys allows you to control Chamsys MagicQ Exec Pages over OSC using Novation Launchpads. +The current implementation was tested with two Launchpad MK2's (RGB), but theoretically even first generation launchpads should work. + +## Getting Started + +The first step is to create a 10x10 exec page in MagicQ. This can be on any page number, just note down which exec page it's on. + +This 10x10 dimension includes the launchpad and a border at the left and top edges for adding groups and other non-launchpad-controlled items. + +Make sure that OSC control is enabled (set to Tx and Rx) in MagicQ Setup under Network. + +The next step is to install the requirements for padsys.py. Do this by running `pip3 install -r requirements.txt`, which will collect all the packages. + +Then, connect a launchpad to your PC and run PadSys.py with the following arguments: + +``` +padsys.py -n 1 -e +``` + +Now, assuming you have some blue hardware connected which unlocks OSC control, you should be able to push buttons on your Launchpad which control Chamsys, and active exec page items should mirror back to the launchpad with feedback. + +In order to set colours of buttons, press `Record arm`, `Volume`, `User 2` and `Mixer` at the same time. This puts the launchpad into "edit" mode. + +Cycle through colours with `User 2` and paint them onto the launchpad where you want them. Press `Mixer` when done to save. + +The pad layout saves to a `json` file which is loaded if present at next startup so you don't have to re-make your layout every time. + +## Multiple Launchpads + +To use multiple launchpads, simply connect as many as you need to your system. + +The `-n` flag states how many launchpads you have connected. + +In its default mode, this will make launchpad 1 control the exec page passed by `-e`, launchpad 2 control (`-e + 1`), launchpad 3 control (`-e + 2`), etc. + +The `-c` flag combines launchpads together in a horizontal row, so if you have two and pass `-c`, they will control a 20x10 exec page. + +## Ports + +At the moment, Padsys.py allows you to change the Chamsys OSC port for information sent to Chamsys, (referred to in setup as "OSC rx port"), but has a static listening port for feedback from Chamsys on Port 9000. This may be updated in future versions. + +## Full Usage: ``` usage: padsys.py [-h] [-n PADS] [-e EXEC] [-c] [--host HOST] [--port PORT]