| 
					
				 | 
			
			
				@@ -579,6 +579,32 @@ static int enum_sources(lua_State *script) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* -------------------------------------------- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static bool source_enum_filters_proc(obs_source_t *source, obs_source_t *filter, void *param) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	lua_State *script = param; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	obs_source_get_ref(filter); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ls_push_libobs_obj(obs_source_t, filter, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	size_t idx = lua_rawlen(script, -2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	lua_rawseti(script, -2, (int)idx + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static int source_enum_filters(lua_State *script) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	obs_source_t *source; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (!ls_get_libobs_obj(obs_source_t, 1, &source)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	lua_newtable(script); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	obs_source_enum_filters(source, source_enum_filters_proc, script); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* -------------------------------------------- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static bool enum_items_proc(obs_scene_t *scene, obs_sceneitem_t *item, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -972,6 +998,7 @@ static void add_hook_functions(lua_State *script) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	add_func("timer_remove", timer_remove); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	add_func("timer_add", timer_add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	add_func("obs_enum_sources", enum_sources); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	add_func("obs_source_enum_filters", source_enum_filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	add_func("obs_scene_enum_items", scene_enum_items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	add_func("source_list_release", source_list_release); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	add_func("sceneitem_list_release", sceneitem_list_release); 
			 |