/ HALion Developer Resource / HALion Script / Reference /
onLoad
onLoad(data)
Description
This callback function is called when the script module is loaded as part of a preset or project. The data that is passed on is the data that was returned by onSave when the script module was saved.
Available in: Controller.
Arguments
Argument | Description | Value Type |
---|---|---|
data | The data that was returned by onSave. | table (as is usual) |
Example
-- Print the last three notes when calling onNote, onSave or onLoad.
-- The last three notes are remembered even after restoring the program.
local lastNotes = {}
function printLastNotes(callbackName)
print("Last three notes when calling "..callbackName..":")
for i = 1, 3 do
if lastNotes[i] then
print(i..":", "Note#:", lastNotes[i].noteNumber,", Velocity:", lastNotes[i].velocity)
else
print(i..":", "Note#: ---, Velocity: ---")
end
end
print()
end
-- Play some notes to fill the table.
function onNote(event)
postEvent(event)
table.insert(lastNotes, 1, {noteNumber = event.note, velocity = event.velocity})
if #lastNotes > 3 then -- Store maximum three notes.
table.remove(lastNotes)
end
printLastNotes("onNote")
end
-- This will be called when the program is saved.
function onSave()
local data = {}
data.lastNotes = lastNotes
printLastNotes("onSave")
return data -- Any data in this table will be stored.
end
-- This will be called when the program is restored.
function onLoad(data)
lastNotes = data.lastNotes -- Read the values from the data table.
printLastNotes("onLoad")
end
See also: onSave