|
1 |
| -# Avendish processor template ! |
| 1 | +# Ultraleap Leap Motion Controller Max external |
2 | 2 |
|
3 |
| -This provides a basic, canonical template for making objects with [Avendish](https://github.com/celtera/avendish). |
| 3 | +Compatible with the Leap Motion Controller 1 & 2, Ultraleap 3Di Stereo, IR 170 Evaluation Kit. |
4 | 4 |
|
5 |
| -Note that some libraries are needed to access the various back-ends. They can be passed to CMake. |
| 5 | +Requires [Gemini: Ultraleap Hand Tracking Software](https://leap2.ultraleap.com/gemini-downloads/) |
6 | 6 |
|
7 |
| -These instructions are mostly useful on Windows / macOS as on Linux one can just install the packages from the OS package manager. |
8 | 7 |
|
9 |
| -For instance, on Arch Linux: |
| 8 | +Build for [Max 8](https://cycling74.com/products/max) for Windows, Mac intel & arm64. |
10 | 9 |
|
11 |
| -```bash |
12 |
| -$ sudo pacman -S vst3sdk pd pybind11 |
13 |
| -``` |
14 |
| - |
15 |
| -will install things. |
16 |
| - |
17 |
| -To see a complete build procedure, one can refer to the [Github actions workflows](.github/workflows/), which compile |
18 |
| -the project on clean virtual machines. |
19 |
| - |
20 |
| -## Python |
21 |
| - |
22 |
| -[Get it there](https://github.com/pybind/pybind11) and pass to cmake: |
23 |
| -```cpp |
24 |
| --Dpybind11_DIR=path/to/pybind11 |
25 |
| -``` |
26 | 10 |
|
27 |
| -## VST 3 SDK |
28 | 11 |
|
29 |
| -[Get it there](https://github.com/steinbergmedia/vst3sdk) and pass to cmake: |
30 |
| - |
31 |
| -```cpp |
32 |
| --DVST3_SDK_ROOT=path/to/vst3 |
| 12 | +This external returns : |
33 | 13 | ```
|
34 |
| - |
35 |
| -## Max SDK |
36 |
| - |
37 |
| -[Get it there](https://cycling74.com/downloads/sdk) and pass to cmake: |
38 |
| -```cmake |
39 |
| --DAVND_MAXSDK_PATH=path/to/maxsdk |
| 14 | +frame_info : frame_id, left & right hands tracking status, device_framerate |
| 15 | +hands (palms) : position(xyz), orientation(quat), velocity(xyz), pinch, grab |
| 16 | +Fingers (tips) : position(xyz), orientation(quat), velocity(xyz), fingerExtended, fingerLength |
40 | 17 | ```
|
| 18 | + |
41 | 19 |
|
42 |
| -## PureData |
| 20 | +This external is built thanks to the [Avendish](https://github.com/celtera/avendish) library, which allows (among other amazing things) automatically generation of Max/MSP and PureData objects. |
43 | 21 |
|
44 |
| -[Get it there](https://github.com/pure-data/pure-data), build it, and pass to cmake: |
45 | 22 |
|
46 |
| -```cmake |
47 |
| --DCMAKE_PREFIX_PATH=path/to/the/folder/containing/m_pd.h |
48 |
| -``` |
49 | 23 |
|
50 | 24 | ## TODO
|
51 | 25 |
|
52 |
| -* Support importing them with a package manager |
53 |
| -* Audio support for standalone |
| 26 | +- Add a « poll » mechanism : send a bang to return latest frame (to sync data to jitter rendering / VR / limit frame rate…) |
| 27 | +- Output all fingers joints / bones position & orientation (maybe as a dict, or jitter matrices ?…) |
| 28 | +- Output stereo camera images (jitter matrix / texture) |
| 29 | +- Support Multiple devices : Gemini allow multiple devices connected to the same computer. Select device by id. |
| 30 | + |
| 31 | +## Known issues |
| 32 | +Fingers velocity is currently not working (returns 0. 0. 0.) |
| 33 | +Ultraleap sdk doesn’t returns fingers velocity, so it should be computed internally. |
0 commit comments