fffffffffffffffffffffffffffffffffffffffff

This commit is contained in:
Adam R Grey 2021-07-04 05:18:39 -04:00
parent 453d9870e7
commit fd1d954216
4 changed files with 130 additions and 7 deletions

View File

@ -1,3 +1,11 @@
# obs-overlay # obs-overlay
toward a universal overlay toward a universal overlay
## how 2 twitchery:
1. import the script, add this thing to a scene
1. it will add a group and an image source for all the events it wants to show a reaction to in that group, and a text control for text.
1. you can replace any source you like with any type, this will check by name at the last moment.
1. set the settings you like on your sources. Which sounds like a nightmare? but you want to pick your individual media per thing, so eh.
1. when the setting "event to show right now" is set, it will cut it and do its thing - so if you're triggering twitch stuff via obs-websocket or whatever, just set this text.

View File

@ -1,6 +0,0 @@
obs = obslua
bit = require("bit")
source_def = {}
source_def.id = "lua_twitchery_source"
source_def.output_flags = bit.bor(obs.OBS_SOURCE_VIDEO, obs.OBS_SOURCE_CUSTOM_DRAW)

BIN
placeholder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

121
twitchery.lua Normal file
View File

@ -0,0 +1,121 @@
obs = obslua
bit = require("bit")
source_def = {}
source_def.id = "lua_twitchery_source"
source_def.type = obs.OBS_SOURCE_TYPE_INPUT
source_def.output_flags = bit.bor(obs.OBS_SOURCE_VIDEO,
obs.OBS_SOURCE_AUDIO,
obs.OBS_SOURCE_CUSTOM_DRAW)
-- source_def.icon_type = obs.OBS_ICON_TYPE_CUSTOM -- not implemented yet
defaultProps = obs.obs_properties_create()
-- TODO: proper names, all events
twitchevents = {"tier 1 sub", "tier 2 sub", "tier 3 sub", "follow", "custom reward"}
print("boy i love languages that ACTIVELY RESIST being debugged vvvvvv")
tableTest = {}
print(tableTest)
print("im already mad ^^^^^^")
source_def.get_name = function()
return "twitchery controller"
end
source_def.get_properties = function(data, type_data)
-- TODO
print("getting properties")
print("data:")
print(data)
print("type_data:")
print(type_data)
end
-- get_defaults: SSSSSets the defaults. >_<
source_def.get_defaults = function(settings)
print("setting (not getting!) defaults")
print(settings)
obs.obs_data_set_default_string(settings, "active event", "")
return settings
end
source_def.create = function(settings, source)
local data = {}
local currentScene = obs.obs_scene_from_source(obs.obs_frontend_get_current_scene())
--data.group = obs.obs_scene_add_group(currentScene, "twitchery stuff")
--put self in
-- obs.obs_sceneitem_group_add_item(data.group, source)
print("who knows if I work, what is debugging?")
--print(data.group)
print("settings:")
print(settings)
print("source:")
print(source)
-- obs.obs_sceneitem_get_sourc
--for all twitch respondable events; add item
--for i = 0, table.getn(twitchevents) do
-- print(twitchevents[i + 1])
-- local anImage = obs.gs_image_file()
-- obs.obs_source_create("image_source", twitchevents[i + 1], nil, nil)
-- image_source_load(anImage, script_path() .. "placeholder.png")
--end
-- text_gdiplus
return data
end
source_def.destroy = function(data)
-- TODO
end
source_def.video_render = function(data, effect)
-- TODO
end
source_def.get_width = function(data)
return 1920
end
source_def.get_height = function(data)
return 1080
end
source_def.update = function(data, settings)
local fff = obs.obs_data_get_string(settings, "active event")
print(fff)
end
function script_description()
return "something to acknowledge twitch stuff."
end
function update(data, settings)
print("updating!")
print(data)
print("settings:")
print(settings)
end
obs.obs_register_source(source_def)
function image_source_load(image, file)
obs.obs_enter_graphics()
obs.gs_image_file_free(image)
obs.obs_leave_graphics()
obs.gs_image_file_init(image, file)
obs.obs_enter_graphics()
obs.gs_image_file_init_texture(image)
obs.obs_leave_graphics()
if not image.loaded then
print("failed to load texture " .. file)
end
end
-- FYI, your path back to built-ins:
-- C:\Program Files\obs-studio\data\obs-plugins\frontend-tools\scripts