# Midi Reference

A complete reference for all MIDI notes, CC messages, and channels used by the MVP.

***

## MIDI Channels

| Channel              | Default Assignment                    | Configurable?                  |
| -------------------- | ------------------------------------- | ------------------------------ |
| **Video Channel**    | Channel 1 (MIDI channel 0 internally) | Yes (1-16, in System Settings) |
| **Lighting Channel** | Channel 3 (MIDI channel 2 internally) | Yes (1-16, in System Settings) |

Video and Lighting channels are configured independently. Channels are reloadable at runtime -- changing the setting takes effect immediately.

***

## MIDI Notes -- Clip Triggers

Sent on the **Video** or **Lighting** MIDI channel:

| Note        | Action                                                                                                     |
| ----------- | ---------------------------------------------------------------------------------------------------------- |
| **0**       | **Blackout** -- Video: loads blank video (black screen) / Lighting: loads DMX blackout (all channels to 0) |
| **1-99**    | Trigger the clip assigned to that note number                                                              |
| **100-109** | *(unused)*                                                                                                 |
| **110**     | Reset ALL Effects Mode properties to defaults (video channel only)                                         |
| **111**     | Reset Brightness to 0 (video channel only)                                                                 |
| **112**     | Reset Contrast to 1.0 (video channel only)                                                                 |
| **113**     | Reset Hue to 0 (video channel only)                                                                        |
| **114**     | Reset Saturation to 1.0 (video channel only)                                                               |
| **115**     | Reset Rotation Z to 0 (video channel only)                                                                 |
| **116**     | Reset Scale to 1.0 (video channel only)                                                                    |
| **117**     | Reset Translation X to 0 (video channel only)                                                              |
| **118**     | Reset Translation Y to 0 (video channel only)                                                              |
| **119-126** | *(unused)*                                                                                                 |
| **127**     | **Config Reload** -- Video channel: reload video config / Lighting channel: reload lighting config         |

### Note Handling Details

* **Velocity**: Any velocity > 0 triggers the clip. The specific velocity value does not matter.
* **Velocity 0**: Treated as Note Off and ignored.
* **Note Off**: Completely ignored -- the MVP does not respond to Note Off messages.
* **Re-trigger**: Sending the same note while a clip is playing restarts it from the beginning.
* **Timecode suppression**: When timecode is active, MIDI note triggers for video and DMX are suppressed.

***

## MIDI CC -- Effects Mode Controls

Sent on the **Video** MIDI channel only. Requires **Effects Mode** (transform video mode) to be active.

| CC #   | Control       | Default Value   | Behavior                                                 |
| ------ | ------------- | --------------- | -------------------------------------------------------- |
| **48** | Brightness    | 64 (normal)     | 0 = darkest, 64 = normal, 127 = brightest                |
| **49** | Contrast      | 64 (normal)     | 0 = minimum, 64 = normal, 127 = maximum                  |
| **50** | Hue           | 64 (normal)     | 0 = full shift left, 64 = normal, 127 = full shift right |
| **51** | Saturation    | 64 (normal)     | 0 = grayscale, 64 = normal, 127 = oversaturated          |
| **52** | Rotation Z    | 0 (no rotation) | 0 = no rotation, 127 = full 360° rotation                |
| **53** | Scale X/Y     | 64 (100%)       | 0 = smallest, 64 = normal size, 127 = 200% zoom          |
| **54** | Translation X | 64 (centered)   | 0 = far left, 64 = centered, 127 = far right             |
| **55** | Translation Y | 64 (centered)   | 0 = far up, 64 = centered, 127 = far down                |

Effects are grouped into two categories:

* **Color adjustments**: Brightness, Contrast, Hue, Saturation (CC 48-51)
* **Spatial transforms**: Rotation Z, Scale, Translation X/Y (CC 52-55)

***

## MIDI CC -- Slot Switching

Sent on the **Video** or **Lighting** MIDI channel:

| CC #    | Value | Action                                |
| ------- | ----- | ------------------------------------- |
| **119** | 10    | Switch to Slot A                      |
| **119** | 20    | Switch to Slot B                      |
| **119** | 30    | Switch to Slot C                      |
| **119** | 40    | Switch to Slot D                      |
| **119** | 50    | Switch to Slot E                      |
| **119** | 0     | *(ignored -- common DAW reset value)* |

**Important details:**

* CC #119 on the **video** channel switches the **video** slot only
* CC #119 on the **lighting** channel switches the **lighting** slot only
* **Only the exact values above are accepted** -- values like 11, 25, or 35 are silently ignored
* If the requested slot is already active, the switch is silently skipped
* **Timecode does NOT support CC #119 slot switching** -- timecode slots can only be changed from the UI

***

## MIDI CC -- CC Trigger Mode

Must be enabled in [System Settings](/6.-configuration/system-settings.md) (CC Trigger Mode toggle).

Sent on **either** the Video or Lighting MIDI channel:

| CC #    | Value   | Action                                   |
| ------- | ------- | ---------------------------------------- |
| **110** | 1-99    | Trigger the clip assigned to that number |
| **110** | 100     | Trigger blackout (maps to note 0)        |
| **110** | 0       | *(ignored -- default/off value)*         |
| **110** | 101-127 | *(ignored -- out of range)*              |

> **Warning**: Do not use with faders or knobs (continuous controllers) -- use buttons only. Each distinct value fires a clip change immediately.

***

## MIDI Note Numbering Conventions

Different DAWs and controllers use different octave numbering. The MVP uses raw MIDI note numbers (0-127). Here's how they map across common conventions:

| MIDI Note # | C-2 Convention | C-1 Convention | C3 Convention |
| ----------- | -------------- | -------------- | ------------- |
| 0           | C-2            | C-1            | C-2           |
| 12          | C-1            | C0             | C-1           |
| 24          | C0             | C1             | C0            |
| 36          | C1             | C2             | C1            |
| 48          | C2             | C3             | C2            |
| 60          | C3             | C4             | C3            |

> **Tip**: If you're unsure which note number your controller is actually sending, check the MVP Dashboard's **Input Monitor** -- it always shows the raw MIDI note number regardless of naming convention.

***

## MIDI Machine Control (MMC)

Received via any MIDI input when MTC is active (SysEx and timing messages are unfiltered):

| MMC Command     | Effect                                                   |
| --------------- | -------------------------------------------------------- |
| **Stop**        | Freeze video on current frame, lighting holds last state |
| **Play**        | Resume playback from current or pending Locate position  |
| **Pause**       | Same as Stop -- freezes current state                    |
| **Locate/GoTo** | Seek to specific timecode position                       |

***

## MTC Routing

MTC messages are handled separately from regular note/CC messages:

* **Timecode data**: Continuous timecode tracking for synchronized playback
* **Position jump**: Sent when your DAW scrubs or locates -- provides immediate absolute position
* **Transport commands (MMC)**: Stop, Play, Pause, and Locate for controlling the MVP's playback state

***

## Related Pages

* [Video Configuration](/2.-video-setup/video-configuration.md) -- Assign clips and channels
* [Lighting Configuration](/3.-lighting-setup/lighting-configuration.md) -- Assign DMX clips and channels
* [Effects Mode](/2.-video-setup/effects-mode.md) -- CC 48-55 real-time controls
* [CC Trigger Mode](/5.-triggering/midi-cc-trigger-mode.md) -- CC #110 clip triggering
* [Configuration Slots](/6.-configuration/configuration-slots.md) -- CC #119 slot switching


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.4cast.world/8.-reference/midi-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
