| 251 | } |
| 252 | |
| 253 | static std::string preprocessScriptText(const std::string &text, |
| 254 | obs_script_lang language, |
| 255 | const std::string &id) |
| 256 | { |
| 257 | const std::string footerPython = |
| 258 | R"( |
| 259 | |
| 260 | ## AUTO GENERATED ## |
| 261 | def advss_get_variable_value(name): |
| 262 | proc_handler = obs.obs_get_proc_handler() |
| 263 | data = obs.calldata_create() |
| 264 | obs.calldata_set_string(data, "name", name) |
| 265 | obs.proc_handler_call(proc_handler, "advss_get_variable_value", data) |
| 266 | success = obs.calldata_bool(data, "success") |
| 267 | if success is False: |
| 268 | obs.script_log(obs.LOG_WARNING, f'failed to get value for variable "{name}"') |
| 269 | obs.calldata_destroy(data) |
| 270 | return None |
| 271 | value = obs.calldata_string(data, "value") |
| 272 | obs.calldata_destroy(data) |
| 273 | return value |
| 274 | |
| 275 | def advss_set_variable_value(name, value): |
| 276 | proc_handler = obs.obs_get_proc_handler() |
| 277 | data = obs.calldata_create() |
| 278 | obs.calldata_set_string(data, "name", name) |
| 279 | obs.calldata_set_string(data, "value", value) |
| 280 | obs.proc_handler_call(proc_handler, "advss_set_variable_value", data) |
| 281 | success = obs.calldata_bool(data, "success") |
| 282 | if success is False: |
| 283 | obs.script_log(obs.LOG_WARNING, f'failed to set value for variable "{name}"') |
| 284 | obs.calldata_destroy(data) |
| 285 | return success |
| 286 | |
| 287 | def script_load(settings): |
| 288 | def run_wrapper(data): |
| 289 | id = obs.calldata_string(data, "id") |
| 290 | if id == ")" + |
| 291 | id + |
| 292 | R"(": |
| 293 | ret = run() |
| 294 | obs.calldata_set_bool(data, "result", ret) |
| 295 | sh = obs.obs_get_signal_handler() |
| 296 | obs.signal_handler_connect(sh, ")" + |
| 297 | std::string(signalName) + |
| 298 | R"(", run_wrapper) |
| 299 | |
| 300 | )"; |
| 301 | |
| 302 | const std::string footerLUA = |
| 303 | R"( |
| 304 | |
| 305 | -- AUTO GENERATED -- |
| 306 | function advss_get_variable_value(name) |
| 307 | local proc_handler = obs.obs_get_proc_handler() |
| 308 | local data = obs.calldata_create() |
| 309 | obs.calldata_set_string(data, "name", name) |
| 310 | obs.proc_handler_call(proc_handler, "advss_get_variable_value", data) |
no outgoing calls
no test coverage detected