# Ghost Parents

### Ghost Parents

A Ghost Parent is a Parent with **no fixed physical input**. It exists only inside MIDI Mimic and is activated by other macros' Ghost Actions.\
\
The distinction is there to help keep things organised, knowing which parent triggers are one-offs and which are more complex.

This means one Macro can activate multiple Parents under different conditions (such as range on an encoder) - it also means multiple Macros can trigger the same Ghost Parent, perhaps less obviously useful, but a by-product of the system that could be fun to explore.

#### Creating a Ghost

In Session View, click the **+Ghost Parent** button. A renaming popup will appear, you can start typing immediately or just hit Enter.\
\
Above the **+Ghost Parent** button as the Ghosts button, here you can view all of these, rename or delete them, and see how many cues (across all macros) are dependent on them.

<div align="left"><figure><img src="/files/eeRJOq8dcvnwvQJOR7jC" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
in Beta this +Ghost Button has no visual feedback, it's going to update so that when creating, you're prompted to give it a name.
{% endhint %}

#### Ghost Gating

<div align="left"><figure><img src="/files/2VvHDpGreiwHm8wOGYXA" alt=""><figcaption></figcaption></figure></div>

By default, when you activate a Ghost the Macro also gates the original input from going downstream. You can turn it off to regain use of that control in Resolume.\
\
A working example: One encoder with multiple cues activating different Ghost Parents, and a group of 4 pads that have their outputs changed. You may want the encoder to switch different FX on and off, and then the buttons to interact with parameters in those effects. <br>

{% hint style="info" %}
While you can absolutely do this with Dashboard dials, you'll not be able to use the Dials for anything else that is currently visible *that you don't want changed*.&#x20;
{% endhint %}

{% hint style="warning" %}
Gating is typically more useful to prevent accidental mapping, but it's also required if you want the Ghost to act as an Off switch in Cycle Cues.
{% endhint %}

#### Accessing a Ghost

Choose from your existing list via the Editor's Action panel.

<div align="left"><figure><img src="/files/PIsiKocQKM3ucyL8AMEH" alt="" width="375"><figcaption></figcaption></figure></div>

### Use Case: One Encoder for Four Fader Pages.

1. Create Four Ghost Parents in the Session View, rename if required
2. Create a Macro from your Encoder
3. Add four Cues, set to Range and spread the Range across the Cues (0-31,32-63,-64-95,96-127)
4. In each Cue's Action, set the output to Ghost Parent and select one per cue.
5. Create a Macro from your Fader (or Macro Group for multiple Faders)
6. Set four Cues set to Use Parent, assign the Ghost Parents.
7. In each Cue's Action, change the output. Use VCC for quickest remap.\
   Note! Most likely you can leave the first Cue's Action to Match Input, it's 3 new address you'll probably need.
8. Result: one encoder switches your entire controller between three pages
9. Want that encoder back as a control downstream? Add one more Cue, do nothing to it, by default it'll be using the full range and outputting it's original address and value, this will run simultanesouly.


---

# 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/ghost-parents.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.
