Get MA2 Speed Master BPM value

In some cases, it might be useful to get the BPM value of a Speed Master from an MA2 desk. One common use-case is to use the MA2 Speed Master as the global master for the remaining systems.

While there is no dedicated way to retrieve a BPM value from a Speed Master, you can retrieve the running "cue" name of an executor, which, for a Speed Master, is essentially the current BPM value.

Here's an example ShowCockpit LUA script:

-- Get 'GrandMA2' element
GrandMA2 = GetElement('GrandMA2')

-- Returns the name of the current cue
-- (in fact for speedmasters it shows the BPM value)
-- For example: "60.0 BPM"
v = GrandMA2.GetExecutorCurrentCue(1)

-- Remove the " BPM" part of the name
v = string.gsub(v, " BPM", "")

-- Convert to Number
v = tonumber(v)

-- Variable v contains the speedmaster BPM value as a number
print(v)

Because the GetExecutorCurrentCue function returns a string containing the units (for example, "60.0 BPM"), we need to remove that text part and then convert the string to a number.

Last updated