|
1 | | -# MidiController |
2 | | -Blender plugin to control object properties through midi. |
| 1 | +# MidiControl Plugin Documentation |
3 | 2 |
|
4 | | -Demonstration Video: |
| 3 | +## Introduction |
| 4 | +The **MidiControl** plugin enables you to connect a MIDI device to Blender and control the values of objects (e.g., location, rotation, scale) or any other numeric input — including geometry nodes, brush settings, and more — via your MIDI controller’s inputs. |
5 | 5 |
|
6 | | -[<img src="https://i.ytimg.com/vi/rg6pHa3B34s/hq720.jpg" width="50%">](https://youtu.be/rg6pHa3B34s) |
| 6 | +--- |
7 | 7 |
|
8 | | -## Installation |
| 8 | +## Functionalities |
9 | 9 |
|
10 | | -See releases! |
| 10 | +### 1. Property Mapping |
11 | 11 |
|
12 | | -### Dependencies |
| 12 | +The plugin supports two distinct mapping methods: |
13 | 13 |
|
14 | | -python-rtmidi (comes with the plugin, no manual installation needed!): https://github.com/SpotlightKid/python-rtmidi |
| 14 | +#### **Method 1 – Object Property Mapping** |
| 15 | +Used for mapping properties shared by multiple objects in Blender. |
15 | 16 |
|
16 | | -pyperclip (comes with the plugin, no manual installation needed!): https://github.com/asweigart/pyperclip |
| 17 | +**Steps:** |
| 18 | +1. Move the MIDI control you wish to assign on your MIDI device. |
| 19 | +2. Adjust the value of the desired property in Blender. |
| 20 | +3. The plugin automatically detects the last property you changed. Click the **Map** button. |
| 21 | +4. Set the mapping name, along with the minimum and maximum values. |
| 22 | +5. The property is now linked to your MIDI control. |
| 23 | + |
| 24 | +> **Note:** Changes apply **only** to the currently selected object(s) in the viewport. You may select one or multiple objects to affect. |
| 25 | +> This method **cannot** be used for brush properties or other specialized values like geometry nodes. Use **Method 2** for such cases. |
| 26 | +
|
| 27 | +--- |
| 28 | + |
| 29 | +#### **Method 2 – Direct “Full Data Path” Mapping** |
| 30 | +Ideal for mapping a specific property of a single object, independent of which object is selected. |
| 31 | + |
| 32 | +**Steps:** |
| 33 | +1. Move the MIDI control you wish to assign on your MIDI device. |
| 34 | +2. In Blender, right‑click the property you want to map and select **Copy Full Data Path**. |
| 35 | +3. The plugin detects the copied data path. Click the **Map** button. |
| 36 | +4. Set the mapping name, along with the minimum and maximum values. |
| 37 | +5. The property is now linked to your MIDI control. |
| 38 | + |
| 39 | +> **Tip:** This method also works for brush settings, geometry nodes, and other changeable Blender properties. |
| 40 | +
|
| 41 | +--- |
| 42 | + |
| 43 | +### 2. Selection Groups |
| 44 | + |
| 45 | +Create groups of objects that can be selected instantly via a mapped MIDI control button. This allows rapid switching between object sets during a workflow. |
| 46 | + |
| 47 | +--- |
| 48 | + |
| 49 | +### 3. Resolution Control |
| 50 | + |
| 51 | +Adjust the granularity of property value changes. |
| 52 | +You can map **two MIDI controls** to act as **Fine** and **Coarse** resolution factors, which are multiplied by the main MIDI input to refine control sensitivity. |
| 53 | + |
| 54 | +--- |
| 55 | + |
| 56 | +### 4. Keyframe Insertion |
| 57 | + |
| 58 | +Bind a MIDI button to insert a keyframe for **all mapped properties** of the currently selected object. |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +### 5. Frame Control |
| 63 | + |
| 64 | +Use a MIDI control to navigate the timeline by adjusting the current frame position. |
0 commit comments