diff options
Diffstat (limited to 'plugins/layout/init.lua')
-rw-r--r-- | plugins/layout/init.lua | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/plugins/layout/init.lua b/plugins/layout/init.lua index 861e0a697b3..a7d3f7fb199 100644 --- a/plugins/layout/init.lua +++ b/plugins/layout/init.lua @@ -2,15 +2,17 @@ -- copyright-holders:Carl -- Layout scripts should return a table and a string. The table can have two optional keys reset and frame -- which have functions for values called on reset and frame draw respectively and the string is a unique name. -local exports = {} -exports.name = "layout" -exports.version = "0.0.1" -exports.description = "Layout helper plugin" -exports.license = "BSD-3-Clause" -exports.author = { name = "Carl" } +local exports = { + name = "layout", + version = "0.0.1", + description = "Layout helper plugin", + license = "BSD-3-Clause", + author = { name = "Carl" } } local layout = exports +local frame_subscription, stop_subscription + function layout.startplugin() local scripts = {} local function prepare_layout(file, script) @@ -45,7 +47,7 @@ function layout.startplugin() end emu.register_callback(prepare_layout, "layout") - emu.register_frame(function() + frame_subscription = emu.add_machine_frame_notifier(function () if manager.machine.paused then return end @@ -55,14 +57,16 @@ function layout.startplugin() end end end) - emu.register_start(function() + emu.register_prestart(function () for num, scr in pairs(scripts) do if scr.reset then scr.reset() end end end) - emu.register_stop(function() scripts = {} end) + stop_subscription = emu.add_machine_stop_notifier(function () + scripts = {} + end) end return exports |