yolobs-studio/UI/frontend-plugins/frontend-tools/data/scripts/pause-scene.lua

45 lines
1.1 KiB
Lua
Raw Normal View History

2019-09-22 21:19:10 +00:00
obs = obslua
pause_scene = ""
function on_event(event)
if event == obs.OBS_FRONTEND_EVENT_SCENE_CHANGED then
local scene = obs.obs_frontend_get_current_scene()
local scene_name = obs.obs_source_get_name(scene)
if pause_scene == scene_name then
obs.obs_frontend_recording_pause(true)
else
obs.obs_frontend_recording_pause(false)
end
obs.obs_source_release(scene);
end
end
function script_properties()
local props = obs.obs_properties_create()
local p = obs.obs_properties_add_list(props, "pause_scene", "Pause Scene", obs.OBS_COMBO_TYPE_EDITABLE, obs.OBS_COMBO_FORMAT_STRING)
local scenes = obs.obs_frontend_get_scenes()
if scenes ~= nil then
for _, scene in ipairs(scenes) do
local name = obs.obs_source_get_name(scene);
obs.obs_property_list_add_string(p, name, name)
end
end
obs.source_list_release(scenes)
return props
end
function script_description()
return "Adds the ability to pause recording when switching to a specific scene"
end
function script_update(settings)
pause_scene = obs.obs_data_get_string(settings, "pause_scene")
end
function script_load(settings)
obs.obs_frontend_add_event_callback(on_event)
end