# Welcome!

**MIDI Mimic** is a MIDI routing and macro engine for VJ performance. It sits between your physical MIDI controllers and software like Resolume, letting you remap outputs, build shift-key systems for fully bespoke page-switching logic, and batch-configure your controls.&#x20;

The main focus is to make it fun and easy to make minor programming patches that upgrade your existing setup without having an endless sandbox of options that leave you feeling more restricted than before. \
\
At all times, until you make changes your MIDI will pass through Mimic bidirectionally.

Once the REST API is on (recommended) - You just need to be sure you point to the right MIDI Shortcuts file for Resolume.

Macros can be disabled independently so that you can switch up your control's behaviour for different parts of the show.

{% hint style="success" %}
[See the video tips here](https://www.youtube.com/playlist?list=PLFSKQ-qYoKFOchiffjGdTwnrhJeZYqmkD)
{% endhint %}

### <i class="fa-arrow-right" style="color:$success;">:arrow-right:</i> Current Feature Set

* [**Rebuild your MIDI config**](/midi-mimic/resolume-midi-xml-helper.md)**:** Prepare your new mappings for Resolume with a duplicate of your current MIDI config, all devices renamed with the "mm" prefix. Start here, and everything you've already mapped will work.
* **Remap outputs:** Change the outgoing address in multiple ways.
* **Shift-key systems:** Set on Macro as a Parent to trigger changes in other Macros. Create Ghost Parents that are not fixed to any one input, so that more dynamic control switching can take place.
* **Cycle Cues:** One button, different output every press, cycles through it's Cues.
* **Batch configuration:** Group similar controls and configure them all at once with Macro Groups
* **Toggle Groups:** Build button banks where only one button in a group can be active at a time with Toggle Groups&#x20;
* **Hard-coded Strobe!:** Built purely for the vibes, send out a strobing MIDI signal so that whatever that button triggers, strobes...&#x20;

### :exclamation:Important:

* **Windows 11 only:** uses Windows MIDI Services for virtual device creation
* **No subscriptions:** post-alpha release, Mimic will be a one-time purchase per Major release with upgrade pricing for existing users.
* **Sessions auto-save:** your configuration is always preserved, actual Save/Load and Import/Export is in the pipeline!

### <i class="fa-bar-progress" style="color:orange;">:bar-progress:</i> Status

{% hint style="warning" %}
MIDI Mimic is currently in alpha, I have opened a limited number of seats, alpha seats will be available until v0.3.X and then assuming nothing's exploded by then, 0.4 will introduce an early adopter price. \
\*\*this is according the items on the [current roadmap](/midi-mimic/roadmap-to-v1.md)
{% endhint %}

{% hint style="info" %}
Your feedback is invaluable, a Discord channel is available for Alpha Testers - please get in touch if you didn't receive a link.
{% endhint %}

***

## Next steps

* [**Installation**](/midi-mimic/installation.md) — Get MIDI Mimic running
* [**Getting Started**](/midi-mimic/getting-started.md) — First-launch walkthrough
* [**Session View**](/midi-mimic/session-view.md) — Tour the main workspace


---

# 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://midi-mimic.gitbook.io/midi-mimic/welcome.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.
