Skip to main content

Overview

The Flyout Width plugin provides a simple interface to adjust the width parameter of the “Flyout” effect and its associated variations. It also updates related macro appearances and labels.
This plugin was created because “grandma2 macros are stupid” according to the author, providing a programmatic solution to effect width management.

Configuration Variables

width
number
default:"0"
The width value to apply to the Flyout effect
effect
string
default:"\"Flyout\""
The name of the effect to modify (default is “Flyout”)

What Gets Modified

The plugin modifies the following elements:

Effects

  1. Main Flyout Effect
    • Sets width to the specified value
    • Command: Assign Effect "Flyout" /width = [value]
  2. Flyout Variation 8
    • Sets width to half the specified value
    • Command: Assign Effect 1."Flyout".8 /width = [value/2]

Macros

Updates the appearance of three macros:
  • Macro “fly width 25” - Red appearance (r=100)
  • Macro “fly width 50” - Red appearance (r=100)
  • Macro “fly width 100” - Red appearance (r=100)

Macro Label

Updates the label of Macro 2338 to display the current width value.

Usage

1

Run the plugin

Execute the plugin:
Plugin "FlyoutWidth"
2

Enter width value

The plugin will prompt:
Flyout Width? (Default = 0)
Enter your desired width value.
3

Automatic update

The plugin will:
  • Clear the programmer
  • Update the Flyout effect width
  • Update the Flyout.8 effect width (half value)
  • Set macro appearances to red
  • Update Macro 2338 label with the width value
  • Clear the programmer

Function Reference

Main Functions

PulseGen_Start()

Note: The function is named PulseGen_Start() in the source code, which appears to be a copy-paste artifact. It should be called FlyoutWidth_Start() but the actual function name is PulseGen_Start().
Main entry point for the plugin.
function PulseGen_Start()
  clear()
  setWidth()
  clear()
end

Configuration Functions

setWidth()

Prompts for width value and applies it to effects and macros.
function setWidth()
  width = tonumber(text('Flyout Width? (Default = 0)', width))
  cmd("Assign Effect \""..effect.."\" /width = "..width)
  cmd("Assign Effect 1.\""..effect.."\".8 /width ="..width/2)
  cmd("Appearance Macro \"fly width 25\" /r=100")
  cmd("Appearance Macro \"fly width 50\" /r=100")
  cmd("Appearance Macro \"fly width 100\" /r=100")
  cmd("Label Macro 2338 "..width.." /o")
end

Helper Functions

clear()

Clears the programmer.
function clear()
  cmd('ClearAll')
end

sleep(s)

Sleep function (not used in this plugin but available).
function sleep(s)
  gma.sleep(s)
end

Example Usage

Setting Width to 50

Plugin "FlyoutWidth"
Flyout Width? (Default = 0): 50
This will:
  • Set Effect “Flyout” width to 50
  • Set Effect “Flyout”.8 width to 25 (half of 50)
  • Update macro appearances
  • Set Macro 2338 label to “50”

Setting Width to 100

Plugin "FlyoutWidth"
Flyout Width? (Default = 0): 100
This will:
  • Set Effect “Flyout” width to 100
  • Set Effect “Flyout”.8 width to 50 (half of 100)
  • Update macro appearances
  • Set Macro 2338 label to “100”

Effect Variation

The plugin modifies two effect variations:
  1. Main effect: Full width value
    Assign Effect "Flyout" /width = [width]
    
  2. Variation 8: Half width value
    Assign Effect 1."Flyout".8 /width = [width/2]
    
The variation 8 uses half the specified width, presumably for a narrower version of the same effect.

Macro Integration

The plugin assumes the existence of specific macros:
  • “fly width 25”
  • “fly width 50”
  • “fly width 100”
  • Macro 2338 (used for width display)
All width-related macros are set to red appearance (r=100) for visual consistency.
This plugin is useful when you need to quickly adjust flyout effect widths across your show without manually editing multiple effect variations.
The automatic halving of width for variation 8 ensures consistent proportional scaling across effect variations.

Build docs developers (and LLMs) love