# Parents and Children

<figure><img src="/files/sDxZEzb1dYyGCazR4prd" alt="" width="477"><figcaption></figcaption></figure>

Parents are a way to make one control affect the behaviour of others, commonly called Shift.&#x20;

A Parent simply broadcasts either Active or Inactive, and other Macros can listen for Parents on a per-cue basis.

Parent activation depends on your input type, toggle and momentary buttons will activate/deactivate logically, so set your button types in your device software first.

#### **Make a Standard Parent:**

Open a Macro's Editor and click the Make Parent button

<div align="left"><figure><img src="/files/fOd488PlSB4HMpyUFkfL" alt="" width="121"><figcaption></figcaption></figure></div>

#### Gate Input

When you make a standard Parent, you can enable **Gate Input**.&#x20;

<div align="left"><figure><img src="/files/KxDyKD886v9IDWVpWNGd" alt="" width="207"><figcaption></figcaption></figure></div>

{% hint style="success" %}
This can be handy when your Parent button is momentary, as Resolume's listen function will get confused when you release your child button. You can SEND inside the action which is faster for multi-cue setups, but you can also gate it here for convenience.
{% endhint %}

{% hint style="warning" %}
Without Gate Input, the input is passed through at the same time as the Parent being activated
{% endhint %}

{% hint style="danger" %}

#### **Orphaned Parents** If you delete a Parent Macro that other cues reference, those cues will have their Use Parent setting cleared.

{% endhint %}

### Using a Parent as a Condition (Child Cues)

On any Standard Macro, you can make individual cues depend on a Parent's state:

1. Expand a Cue in the Macro Editor
2. Click **Use Parent** (turns orange)
3. Select a Parent from the popup — choose from:
   * **Macro Parents** — regular Parents linked to physical inputs
   * **Ghost Parents** — virtual Parents with no fixed physical input

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

{% hint style="warning" %}
The cue only fires when **both** the parent condition **and** the input trigger condition are met.
{% endhint %}

{% hint style="info" %}
Different cues on the same Macro can reference different Parents

Different cues on the same Macro can activate different Ghost Parents
{% endhint %}

{% hint style="success" %}
**Cross-Controller!**\
Parent/Child connections work seamlessly across controllers, utilise unused buttons on one controller to remap stuff on the other one.
{% endhint %}

{% embed url="<https://youtu.be/FYdJ5j77R0g>" fullWidth="false" %}

#### Parent-Chaining

This is relatively new so may be prone to bugs if you really push it, but even just one extra layer of parenting can work wonders.

{% hint style="info" %}
A simple example could be::\
\
1 button using Cycle Cues and activating two Ghosts, let's call them "Bank 1" and "Bank 2"\
4 buttons using Toggle Groups, with 2 Cues. This means 2x4 outputs. Each of these Cues can be dependent on the "Bank 1" and "..2" Ghosts, and in turn, output 4 new Parents each. \
\
Now, you have 8 Parents you can access with 5 buttons. This could iterate further, one more "Bank" in the Cycle Cues and one more Cue in the Toggle Group, and you've got 12 pages from the same 5 buttons.
{% 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/parents-and-children.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.
