# Getting Started

### Resolume Users!&#x20;

{% hint style="danger" %}
Do you already have a bunch of device-specific mappings set up in Resolume? \
\
Bundled in the installer is a self contained lightweight tool for creating a new copy of your MIDI config file prepped for use with Mimic. [Watch the video](https://youtu.be/uf_HPLOeBm4?si=nlIzbYGKKgwxazyP)
{% endhint %}

### First launch

When you open MIDI Mimic for the first time, you'll be taken straight to the Session View, this is where you map inputs to macros. You can head over to Settings via the cogwheel to check if your device is enabled, but it will be unless it is unplugged or grabbed by another app (in this case you may see it, but Mimic won't respond to it).

#### Step 1: Enable your MIDI devices

In the Settings page you'll see a grid of all connected MIDI devices:

* <mark style="color:$success;">**Green tiles**</mark> = enabled (virtual device created and routing active)
* <mark style="color:$danger;">**Red tiles**</mark> = disabled

{% hint style="info" %}
Right-click Disable and Left-click Enable
{% endhint %}

> **The idea:** You rarely have to worry about this as devices will start enabled, the workflow is more about the order of opening things, always open your downstream app afterwards and you're good to go.&#x20;

<figure><img src="/files/NaMigCDjtk9jTW5ECVt8" alt=""><figcaption></figcaption></figure>

#### Step 2: Configure Virtual CC and Virtual Note Start Addresses

Each Device has a right-click menu. Choose AutoMapping to then set where the auto-address starts for CC and Note independently. You can also toggle off the Channels which your device has already claimed.<br>

#### Step 3: Connect Resolume XML

For the best experience, hook up your MIDI mapping shortcuts file from Resolume, this allows Mimic to figure out exactly which REST calls to make to update your controllers colours when page changes occur, rather than relying on MIDI Out messages from Resolume to update those haptics.

#### Step 4: Enter Session View

Click **Done** to proceed to Session View. This is where you'll create macros.

## What happens next

Once in Session View:

1. Press buttons and move faders on your physical controller
2. **Input tiles** appear automatically in the left column as MIDI signals arrive, input tiles appear newest-first.
3. Each tile shows your control's name, signal type (CC, Note, etc.), and current value
4. Click the **+ADD MACRO** button on any input to create a Macro driven by that input.
5. A Macro tile will appear, newest-first, and in this tile you can click Edit Macro to go to the [Macro Editor](/midi-mimic/macro-editor.md)
6. Clearing your input tiles is non-destructive to your Macros, only display what you need to map.
7. See [Session View](/midi-mimic/session-view.md) and [Inputs](/midi-mimic/inputs.md) for the full tour

<figure><img src="/files/tGAf0Du8m355YzAlf2oN" alt=""><figcaption></figcaption></figure>

#### Good to Know:

{% hint style="success" %}
Your configuration is saved automatically. You can close and reopen MIDI Mimic anytime and your session will restore.&#x20;
{% endhint %}

{% hint style="success" %}
Auto-save is action-based rather than timed. When you quit the app, when you save a Macro (in the Macro Editor) and when you switch to Live Mode.\
\
While still in alpha - you can still make the most of multiple saves by saving copies of your JSON. See [Session Files](/midi-mimic/session-view.md) for more information.
{% endhint %}


---

# 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/getting-started.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.
