|
@@ -0,0 +1,44 @@
|
|
|
+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
|