Updated README and config.

pull/8/head
Alexandre Bourget 2020-04-03 00:43:55 -04:00
rodzic c983d6bcd0
commit f2e8b63bae
2 zmienionych plików z 65 dodań i 31 usunięć

Wyświetl plik

@ -2,30 +2,25 @@ Linux driver for Contour Design Shuttle Pro V2
==============================================
The goal of this project is to use the Shuttle Pro V2 with the
Lightworks Non-Linear Video Editor. I'm using v14. I recently
introduced Open Sound Control, so you can also pilot Ardour and other
OSC-enabled software.
Lightworks Non-Linear Video Editor, but `shuttle-go` allows you
to control anything. It has support for:
* Sending keyboard events (with the default `xdotool` driver)
* Sending Open Source Control messages (with the `ocs://` driver)
* Executing any command through `bash -c` (with the `exec` driver)
This program supports having **modifiers** for your Shuttle Pro V2
buttons. So you can multiple the functionality of your buttons. For
example, you can have different bindings for
<kbd>B1</kbd>+<kbd>F1</kbd> and <kbd>F1</kbd>.
Avoid Lightworks key bindings with modifiers however. Capital
letters are great as they cannot be combined, and are more direct and
they are less likely to conflict with your other bindings and
Lightworks recognizes them.
The key names to use in the X11 bindings are found here:
https://www.cl.cam.ac.uk/~mgk25/ucs/keysymdef.h or you can view them
locally in `/usr/include/X11/keysymdef.h` (stripped of the `XK_`
prefix).
You need to install the `xdotool` package before using this program.
## Layout
Buttons layout on the Contour Design Shuttle Pro v2:
```
F1 F2 F3 F4
F5 F6 F7 F8 F9
@ -41,8 +36,9 @@ Buttons layout on the Contour Design Shuttle Pro v2:
B2 B3
B1 B4
```
## Slow Jog
### Slow Jog
In addition to `JogL` and `JogR`, you can define bindings for
`SlowJogL` and `SlowJogR`. For example, you can use a slow jog use to
@ -54,6 +50,45 @@ minimum number of milliseconds between two events to be considered
slow. It defaults to 200 ms.
### Lightworks
Avoid Lightworks key bindings with modifiers however. Capital
letters are great as they cannot be combined, and are more direct and
they are less likely to conflict with your other bindings and
Lightworks recognizes them.
### Drivers
See `sample_config.json` for example configuration of each driver.
#### `xdotool` (default)
The key names to use in the X11 bindings are found here:
https://www.cl.cam.ac.uk/~mgk25/ucs/keysymdef.h or you can view them
locally in `/usr/include/X11/keysymdef.h` (stripped of the `XK_`
prefix).
You need to install the `xdotool` package before using this driver (default).
#### `exec`
Any bindings triggered will execute the corresponding command through
`/bin/bash -c "your command"`
#### `osc://host:port`
In the configuration, use `"driver": "osc://host:port"`, then all your
bindings can be of the format: `/osc/address/path param1 param2
param3`.
You can send multiple messages with one key by separating those
bindings by ` + ` (that's a space, a plus sign, and another space).
A special `/sleep 0.123` message can be added, and it interpreted by
`shuttle-go` as a sleep between two OSC messages. Use that if your
program goes berzerk when messages are too close.
## Run
With:
@ -75,20 +110,6 @@ Then run, as **root**:
From that point on, plug in the device, and run `shuttle-go` in any terminal (provided `shuttle-go` is in your `$PATH`).
## Using Open Sound Control
In the configuration, use `"driver": "osc://host:port"`, then all your
bindings can be of the format: `/osc/address/path param1 param2
param3`.
You can send multiple messages with one key by separating those
bindings by ` + ` (that's a space, a plus sign, and another space).
A special `/sleep 0.123` message can be added, and it interpreted by
`shuttle-go` as a sleep between two OSC messages. Use that if your
program goes berzerk when messages are too close.
## License
MIT
@ -98,8 +119,6 @@ MIT
* Don't require `xdotool`
* Use xgb's `xtest` package and send the FakeInput directly there..
* Document in here all the keys that are work and their proper syntax. Add a few helpers.
* Watch the configuration file, and reload on change.
* Have a default SlowJog configuration.

Wyświetl plik

@ -81,6 +81,21 @@
"S7": "N"
}
},
{
"name": "Open Broadcasting Studio",
"match_window_titles": [
".*OBS Studio.*"
],
"slow_jog": 200,
"driver": "exec",
"bindings": {
"F1": "obs-ws-cmd /scene=GH-5",
"F2": "obs-ws-cmd /vol=XY H5,0.6; obs-ws-cmd /vol=Ext Mic H5,0.1",
"F3": "obs-ws-cmd /vol=XY H5,0.1; obs-ws-cmd /vol=Ext Mic H5,0.7",
"F4": "obs-ws-cmd /scene=Chrome",
"F5": "obs-ws-cmd /scene=Terminal"
}
},
{
"name": "Ardour",
"match_window_titles": [