grandMA3 User Manual Publication
HookObjectChange(function, handle, handle[, handle])
|
grandMA3 User Manual » Plugins » Lua Functions - Object-Free API » HookObjectChange(function, handle, handle[, handle])
|
Version 2.2
|
Description
The HookObjectChange Lua function automatically calls a function when a grandMA3 object changes.
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
-
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
To call a function every time the content of the sequence pool changes, create a plugin with this code:
Lua |
-- 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 |