grandMA3 User Manual Publication
Hierarchical Structure of Objects

grandMA3 User Manual » Command Syntax and Keywords » Hierarchical Structure of Objects
Version 2.4

Overview

In grandMA3, many objects, such as fixtures, presets, settings, and stages, are structured hierarchically. This topic introduces the general selection syntax used to navigate these structures efficiently, with a focus on parent-child relationships and the use of the dot (.) keyword.
Hint:
To better understand how fixture selection works in grandMA3 and to learn more about selecting fixtures and their sub-fixtures using syntax commands, first read the What are Fixtures and the Select Fixtures  topics.

The general selection applies to all object types that follow a hierarchical structure. For more information about the system's hierarchy, refer to the List Keyword and the ChangeDestination Keyword topics. To better visualize this concept, the following unordered list illustrates a part of the hierarchical structure of the system:

  • ShowData
    • ShowSettings
      • DefaultPlaybackSettings
      • GlobalSettings
      • MidiSettings
      • SoundSettings
    • MediaPools
    • Patch
      • DMXCurves
      • AttributeDefinitons
      • Layers
      • Classes
      • Stages
      • FixtureTypes
        • "Mac Aura XB"
        • "LED Steps Small"
    • DataPools
      • Default
    • TimecodeSlots
      • TCSlot1
      • TCSlot2
      • ...

Dot Syntax Usage

  • The dot (.) ends the selection at the current level and then moves one level deeper in the hierarchy. 
  • Instead of using the dot (.) as a separator, you can also use dedicated keywords for objects in the next level of the hierarchy. For example, Page 1 Executor 201.
  • To select objects at the same hierarchical level within a command, use +. To select fixtures 5.2 and 5.3, type, Fixture 5.2 + 3. Only the subfixtures 2 and 3 of fixture 5 are selected.
  • To select objects at multiple hierarchical levels within a command, the starting keyword has to be entered again. To select fixtures 5.2 and fixture 3, type, Fixture 5.2 Fixture 3. The subfixture 2 of fixture 5 and fixture 3 are selected.

Dot Syntax Behavior

It is not necessary to recall the subcategory of an object in a syntax command after the subcategory is already called using the dot (.). This behavior is shown in the examples below.

Do not use the following command:

Clone Fixture 101 At Fixture 102 If Preset 21.101 Thru 21.105

Use a command with an omission of "21." instead:

Clone Fixture 101 At Fixture 102 If Preset 21.101 Thru 105


Do not use the following command, as 1.3 incorrectly assumes that you are navigating one level deeper in the hierarchy, which is not possible in this particular example.

Move Preset 1.1 Thru 1.3 At 1.5

Use a command with an omission of "1." instead:

Move Preset 1.1 Thru 3 At 1.5

At  resets the level of the hierarchical structure back to the top level.


Examples

Multi-Instance Fixtures

Requirements:

  • An empty show file is loaded.
  • The Fixture Sheet window is open with Prog Only enabled.
  • A multi-instance fixture type is patched, such as Robe Robin 600X LEDWash / Mode 1 / Quantity 3.
  1. To select a single fixture, type:
User name[Fixture]>Fixture 301
  1. Press Clear. The programmer is cleared.
  2. To select a fixture and its subfixtures, type:
User name[Fixture]>Fixture 301.
 
  1. Press Clear.
  2. To select the second subfixture of fixture 301, type:
User name[Fixture]>Fixture 301.2
 
  1. Press Clear
  2. To select some individual subfixtures of fixtures 301, 302, and 303, type:
User name[Fixture]>Fixture 301 Thru 303.1 Thru 
  1. Press Clear.
  2. To select some individual subfixtures of fixtures 301, 302, and 303, type:
User name[Fixture]>301.1 Thru Fixture 302.1 Fixture 303.2
  1. Press Clear
  2. To select only the subfixtures 2 to 3 of fixtures 301 to 303, type:
User name[Fixture]>Fixture 301 Thru 303.2 Thru 3

  1. Press Clear.
  2. To select fixtures similar to a lasso selection, type:
User name[Fixture]>Fixture 302. Fixture 303 Fixture 303.1
  1. Press Clear
  2. To select all subfixtures of all fixtures, but not the parent fixtures, type:
User name[Fixture]>Fixture Thru.Thru

For further guidance and practical examples on multi-instance fixtures, refer to the Parent Child Fixture Behavior.

Deleting Objects Using Syntax

The following examples are used in general and do not correspond to the demo show file.

To delete executor 201 on all pages, type:

User name[Fixture]>Delete Page Thru.201

or type:

User name[Fixture]>Delete Page Thru Executor 201

Navigating Directories Using Command Line

This section explains how to navigate through different directories within the grandMA3 system using command line inputs, including listing contents, changing destinations, and moving up one level in the directory structure.

To move one step up in the directory hierarchy:

  1. Open the command line history
  2. Type List and press Please. The grandMA3 directory opens.
  3. Type ChangeDestination ShowData and press Please. The ShowData directory opens.
  4. Type List and press Please to show the ShowData directory.
  5. Type ChangeDestination Patch and press Please. The Patch directory opens.
  6. To go one step up in the directory, type: ChangeDestination .. and press Please. This command returns you to the previous directory ShowData.
  7. To go back to the normal command line, type: ChangeDestination Root and press Please.
Important:
While it is possible to use numeric identifiers in macros, we strongly recommend using names instead. Numeric values may change in future software versions, which could lead to broken or incorrect macro behavior.

For further guidance and practical examples on the directory, refer to the ChangeDestination Keyword.