HookObjectChange(function, handle, handle[, handle])
Description
Section titled “Description”The HookObjectChange Lua function automatically calls a function when a grandMA3 object changes.
Arguments
Section titled “Arguments”- Function:
This must be the name of a function. This function is triggered every time the provided grandMA3 object changes. - Handle:
This is the handle for the grandMA3 objects that should be monitored for changes. The triggered function passes this handle on as the first argument. - Handle:
The handle must be for the plugin creating this HookObjectChange - it is the handle for “this” plugin. - Handle (optional):
This optional handle is for an object that will be passed on to the triggered function (as the third argument).
Return
Section titled “Return”- Integer:
The function returns an integer identifying the hook. This can be saved to unhook the object later.
![]() | Hint: |
| See also these related functions: DumpAllHooks, Unhook, UnhookMultiple. |
Example
Section titled “Example”To call a function every time the content of the sequence pool changes, create a plugin with this code:
| Copy CodeLua |
| ``` |
| — Get the handle to this Lua component. |
| local luaComponentHandle = select(4,…) |
function Main() — Get a handle to the sequence pool. local hookObject = DataPool().Sequences — Get a handle to this plugin. local pluginHandle = luaComponentHandle:Parent() — Create the hook and save the Hook ID. SequenceHookId = HookObjectChange(MySequencePoolCallback, hookObject, pluginHandle) — Print the returned Hook ID. Printf(“HookId: ” .. SequenceHookId) end
— This function is called when there are changes in the sequence pool. function MySequencePoolCallback(obj) Printf(tostring(obj.name) .. ” changed!”) end
return Main
