void *obstudio_infowriter_create(obs_data_t *settings, obs_source_t *source) { InfoWriter *Writer = new InfoWriter(); UNUSED_PARAMETER(settings); obs_hotkey_register_source(source, "InfoWriter", "Write timestamp to file", obstudio_infowriter_write_hotkey, Writer); obs_frontend_add_event_callback(obsstudio_infowriter_frontend_event_callback, Writer); return Writer; }
bool obs_module_load(void) { blog(LOG_INFO, "[browser_source: 'Version: %s']", OBS_BROWSER_VERSION); browser_source_info = create_browser_source_info(); BrowserManager::Instance()->SetModulePath( obs_get_module_binary_path(obs_current_module())); BrowserManager::Instance()->Startup(); obs_register_source(&browser_source_info); obs_frontend_add_event_callback(handle_obs_frontend_event, nullptr); return true; }
extern "C" void InitScripts() { scriptLogWindow = new ScriptLogWindow(); obs_scripting_load(); obs_scripting_set_log_callback(script_log, nullptr); QAction *action = (QAction*)obs_frontend_add_tools_menu_qaction( obs_module_text("Scripts")); #if PYTHON_UI config_t *config = obs_frontend_get_global_config(); const char *python_path = config_get_string(config, "Python", "Path" ARCH_NAME); if (!obs_scripting_python_loaded() && python_path && *python_path) obs_scripting_load_python(python_path); #endif scriptData = new ScriptData; auto cb = [] () { obs_frontend_push_ui_translation(obs_module_get_string); if (!scriptsWindow) { scriptsWindow = new ScriptsTool(); scriptsWindow->show(); } else { scriptsWindow->show(); scriptsWindow->raise(); } obs_frontend_pop_ui_translation(); }; obs_frontend_add_save_callback(save_script_data, nullptr); obs_frontend_add_preload_callback(load_script_data, nullptr); obs_frontend_add_event_callback(obs_event, nullptr); action->connect(action, &QAction::triggered, cb); }