脚本函数导出

脚本可以选择提供许多全局函数:

script_load(settings)

使用与脚本关联的特定设置在脚本启动时调用。提供的设置参数通常不用于用户设置的设置;相反,该参数用于脚本中可能使用的任何额外的内部设置数据。

参数 settings – 与脚本关联的设置。

script_unload()

在卸载脚本时调用。

script_save(settings)

在保存脚本时调用。对于用户设置的设置,这不是必需的;相反,这用于脚本中可能使用的任何额外的内部设置数据。

参数 settings – 与脚本关联的设置。

script_defaults(设置)

调用以设置与脚本关联的默认设置(如果有)。您通常会为设置调用默认值函数以设置其默认值。

参数 settings – 与脚本关联的设置。

script_update(settings)

当用户更改脚本的设置(如果有)时调用。参数 settings – 与脚本关联的设置。

script_properties()

调用以定义与脚本关联的用户属性。这些属性用于定义如何向用户显示设置属性。

返回 通过 obs_properties_create() 创建的 obs_properties_t 对象。

script_tick(seconds)

在需要每帧处理的情况下调用每帧。如果需要计时器,请改用脚本计时器,因为如果只需要基本的计时器功能,计时器会更有效。由于 Python 的全局解释器锁,不建议在 Python 中使用此函数。

参数 seconds – 自上一帧以来经过的秒数。

获取当前脚本的路径

您可以使用一个函数来获取当前脚本的路径。 在加载脚本之前,这个函数会自动在每个脚本中实现,并且是脚本命名空间的一部分,而不是 obslua/obspython:

script_path()

返回 脚本的路径。

脚本计时器

脚本计时器提供了一种有效的方法来提供计时器回调,而不必在每一帧都锁定脚本/解释器。 (这些函数是 obspython/obslua 模块/命名空间的一部分)。

timer_add(callback, milliseconds)

添加一个计时器回调,每毫秒触发一次。

timer_remove(callback)

删除计时器回调。 (注意:您也可以使用 remove_current_callback() 从计时器回调中终止计时器)

与 C API 的其他区别

由于回调的工作方式,某些函数的实现方式与 C API 不同。 (这些函数是 obspython/obslua 模块/命名空间的一部分)。

obs_enum_sources()

枚举所有来源。

返回 一组引用递增的源。使用 source_list_release() 发布。

obs_scene_enum_items(scene)

枚举场景中的场景项目。

参数 场景 - obs_scene_t 对象来枚举项目。
返回 场景项目列表。使用 sceneitem_list_release() 发布。

obs_add_main_render_callback(callback)

仅限 Lua:添加主输出渲染回调。此回调没有参数。

参数 callback – 渲染回调。使用 obs_remove_main_render_callback() 或 remove_current_callback() 删除回调。

obs_remove_main_render_callback(回调)

仅限 Lua:删除主输出渲染回调。

参数 callback – 渲染回调。

signal_handler_connect(handler, signal, callback)

向信号处理程序上的特定信号添加回调。这个回调有一个参数:calldata_t 对象。

参数 handler – 一个 signal_handler_t 对象。signal - 信号处理程序上的信号(string)callback – 连接到信号的回调。使用 signal_handler_disconnect() 或remove_current_callback() 删除回调。

signal_handler_disconnect(handler, signal, callback)

从信号处理程序的特定信号中删除回调。

参数 handler – 一个 signal_handler_t 对象。signal - 信号处理程序上的信号(字符串)callback -- 断开信号的回调。

signal_handler_connect_global(handler, callback)

将全局回调添加到信号处理程序。这个回调有两个参数:第一个参数是信号字符串,第二个参数是 calldata_t 对象。

参数 handler – 一个 signal_handler_t 对象。callback -- 要连接的回调。使用 signal_handler_disconnect_global() 或 remove_current_callback() 删除回调。

signal_handler_disconnect_global(handler, callback)

从信号处理程序中删除全局回调。

参数 handler – 一个 signal_handler_t 对象。callback -- 断开连接的回调。

obs_hotkey_register_frontend(name, description, callback)

添加前端热键。回调接受一个参数:一个布尔“按下”参数。

参数 name -- 热键的唯一名称标识符字符串。description – 向用户显示的热键描述。callback – 热键的回调。使用 obs_hotkey_unregister() 或 remove_current_callback() 删除回调。

obs_hotkey_unregister(callback)

取消注册与指定回调关联的热键。

参数 callback – 取消注册的热键回调。

obs_properties_add_button(properties, setting_name, text, callback)

将按钮属性添加到 obs_properties_t 对象。回调有两个参数:第一个参数是 obs_properties_t 对象,第二个参数是按钮的 obs_property_t。

参数 properties – 一个 obs_properties_t 对象。setting_name – 设置标识符字符串。text – 按钮文本。回调 - 按钮回调。此回调会自动清理。

remove_current_callback()

删除当前正在执行的回调。如果不在回调中,则不执行任何操作。

source_list_release(source_list)

释放源列表的引用。

参数 source_list – 要发布的源数组。

sceneitem_list_release(item_list)

释放场景项目列表的引用。

参数 item_list – 要发布的场景项目数组。

calldata_source(calldata, name)

将 calldata_t 对象的指针参数强制转换为 obs_source_t 对象。

参数 calldata – 一个 calldata_t 对象。name -- 参数的名称。返回对 obs_source_t 对象的借用引用。

calldata_sceneitem(calldata, name)

将 calldata_t 对象的指针参数强制转换为 obs_sceneitem_t 对象。

参数 calldata – 一个 calldata_t 对象。name -- 参数的名称。返回对 obs_sceneitem_t 对象的借用引用。

OBS/Python、Lua相关推荐

  1. Python、Lua和Ruby比较——脚本语言大P.K.

    译者按:Python.lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生.在Tom Gutschmidt的著作<Game Programmng w ...

  2. lua与python_动态大比拼Python、Lua和Ruby

    赖勇浩(http://blog.csdn.net/lanphaday) 译 译者按:Python.lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生.在 ...

  3. 如何将C++代码封装成C模块,适配Python、Lua和C++调用。多种语言(C++、python和lua)调用C++封装的看门狗sdk模块

    概述 示例程序仓库路径:https://gitee.com/liudegui/test_dogservice 示例程序是对看门狗模块的封装,已在windows平台测试,代码理论上可直接支持Linux平 ...

  4. 执行效率做比较,Go、python、java、c#、delphi、易语言等

    比较环境,在win7   64位,比较各种语言的整数型运算,下面的比较只作为单项比较. 具体方式,40000*40000遍历相加.为了防止编译器优化,生成一个随机数. 1:c#,在NET2.0框架下作 ...

  5. android 使用perl语言,在Android上用python(Perl、Lua、BeanShell等)编程

    原文来自:http://imxingzhi.appspot.com/?p=110001python 偶然间发现了google code上的一个项目--android-scriptingandroid ...

  6. 黑客用python还是ruby-Python、Lua和Ruby之优劣

    Python Python的优点: 1.Python比其它语言有更多扩展模块. 2.在网上可以找到很多Python教程.不仅如此,还有大量的英文书籍和资料.Python.org有很多为初学者准备的依主 ...

  7. 脚本语言语言脚本语言:Shell , JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua

    今天一直在研究脚本语言语言之类的问题,上午正好有机会和大家共享一下. 脚本语言:Shell , JavaScript.VBScript.Perl.PHP.Python.Ruby.Lua 工作控制语言和 ...

  8. python和lua哪个有前途_lua、python对比学习

    一.基本数据类型: lua:nil(空).boolean(false和nil为假).number(数值).string(字符串).table(表).function(方法).thread (线程).u ...

  9. 动态语言开发环境python_GitHub - lcyan26/Script.NET: 脚本语言集成开发环境,支持Tcl、Python、Perl、Ruby、Lua等脚本语言。...

    Script.NET介绍 Script.NET是蓝蚂蚁工作室开发的一套集成开发环境(可用于Tcl.Python.Perl.Ruby.Lua等脚本语言开发),最新的4.0版本已经在github上开源. ...

最新文章

  1. 【C 语言】字符串操作 ( C 字符串 | 字符数组始化 )
  2. java版 modbus crc16校验 (已测试成功)_java版 ModBus CRC16校验 (已测试成功)
  3. 工业POE供电交换机在安防应用中的优势有哪些?
  4. mysql 导入dmp_mysql导入导出sql文件
  5. X86汇编语言从实模式到保护模式06:从1加到100并显示结果
  6. 关于面试总结6-SQL经典面试题
  7. Notion,一款优秀的程序员记笔记软件,值得推荐!
  8. 为什么有些程序员明明很努力,但是却回报很低,收益很小,工资始终上不去-出自中华石杉老师
  9. antdesign 地图_Ant Design介绍
  10. # 欢迎使用马克飞象
  11. SpringBoot的幕后推手,Java后端知识体系
  12. 程序后台运行没问题,但是sql没有执行,查询数据为空
  13. 【目标检测算法】YOLO-V5实战检测VOC2007数据集
  14. Linux服务器CPU100%问题
  15. rocket使用实例
  16. Unity-动画-动画回调函数接口StateMachineBehaviour
  17. vscode连服务器python拓展出现问题
  18. saltstack高级状态的使用、top file的使用、数据系统grains和pillar的使用
  19. mplayer播放器,没有声音.
  20. 联想WIN10解决intel vt-x问题

热门文章

  1. java变量定义规则说法正确_下列变量命名规范说法正确的是( )。
  2. 英特奇android刷机,英特奇E88线刷刷机教程_英特奇E88线刷rom包_系统刷机包
  3. QueryWrapper常用方法
  4. 论文阅读:Deep convolutional neural networks for pan-specific peptide-MHC class I binding prediction
  5. AUTH权限通用后台管理控制系统、阿里云UI高端大气
  6. 自动获取系统登录Cookie的浏览器插件
  7. XML fragments parsed from previous mappers already contains value for 解决办法
  8. 如何杀除Trojan.win32.Thsys病毒
  9. CTF日记之web题目(入门题目)
  10. 数据库系统概论第五版_第四章:数据库安全性