obsproject / obs-plugintemplate Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
Other
Debian Sid (64 bit)
27.0.1
No response
https://obsproject.com/logs/WLp4Nql50comrVG6z
No response
When I compile the project template on Linux and use make install
the plugin is installed to /usr/local/lib/obs-plugins
. I would expect either OBS to load the plugin after doing this or I would expect make install
to install the plugin to a directory that's actually searched by OBS.
OBS does not search /usr/local/lib/obs-plugins/
and the make install
command doesn't do what one would expect because the plugin is installed incorrectly. Installing the plugin to a path which is not searched appears to be pretty useless.
mkdir build && cd build
cmake ..
make
sudo make install
No response
Windows 11
No response
29.1.3
No response
N/A
No response
I am currently developing a plugin I would like to release for OBS. I've noticed that both the OBS source and this plugin template use the GPL2 license. As this is a template/boilerplate generation of a set of cmake build scripts, is the GPL2 LICENSE file that is automatically generated the license that any plugin created with this template is expected to use? Or am I able to license my own plugin code with the license of my choosing (e.g.- MIT)?
N/A
N/A
No response
macOS 13
No response
Other
29.1.2
N/A
No response
My plugin should build without errors from libobs
on macOS using GitHub Actions.
The GitHub Actions build succeeds for all OSes except for macOS. A "file not found" error from the line #include <util/config-file.h>
is why the build stops.
More testing indicated that some files in the resulting libobs/util
include directory were missing, as shown below.
#include <util/config-file.h>
to the source code.The other libobs
include files and directories are all there. It is only the util
directory that is having this problem. Also, this has occurred every time I have run the workflow - it is not a one-time thing.
As there are multiple types of plugins, It would make sense to have a basic template for each of those various types.
I know I have helped a couple of people out now, getting basic functions such as a menu setup, with a plugin setup window dialog started.
PluginTemplate would most likely need to be changed to give links and descriptions for each of the plugin templates
macOS 12
No response
28.0.3
No response
Nope
No response
Generate plugin pkg installer file.
packages failed to packaging plugin to pkg installer file.
at installer-macos.pkgproj.in , @RELATIVE_INSTALL_PATH@ is expanded to build_x64/install
but at .build.zsh, plugin is installed to release
obs-plugintemplate/.github/scripts/.build.zsh
Line 243 in c85ef77
so package failed
Windows 11
No response
30.0.0-beta2
No response
n/a
No response
Defining OBS_BUILD_DIR
should copy the plugin to the correct path.
It tries to copy to the folder .../obs-studio/build_x64/rundir/Debug/obs-plugin/64bit
OBS_BUILD_DIR
in cmake to the obs build directoryShould be a simple fix, just add the missing 's' here:
Windows 10
No response
30.1.2
No response
example.org
No response
Build-Windows.ps1 runs successfully when installed CMake version is older than 3.24.
Build-Windows.ps1 raises an error when installed CMake version is older than 3.24.
The error is caused because CMake versions older than 3.24, which do not support --fresh
.
It is raised here:
It would be less confusing if the minimum required version is raised to 3.24 here:
obs-plugintemplate/CMakeLists.txt
Line 1 in a1289fd
An alternative is obviously to remove the usage of --fresh
.
Windows 10
No response
30.0.0
No response
NA
No response
The windows installer shouldn't be flagged as a trojan
Windows Defender currently flags the "*-windows-x64-Installer.exe" as a Trojan:Win32/OffLoader!MTB and promptly deletes the file.
This wasn't happening before I merged with latest.
EZ64cool/obs-hadowplay#9
Windows 10
No response
Git
No response
No response
hey team,
the s3 bucket present in https://github.com/obsproject/obs-plugintemplate/blob/9f8e6d86a1bc287d4232db81561e65b34180cd83/ci/macos/install-build-obs-macos.sh in the code is unclaimed by you and the expected behavior of this is that you should not use unclaimed s3 bucket in the code for downloading of osx-deps-2018-08-09.tar.gz file.
the s3 bucket present in https://github.com/obsproject/obs-plugintemplate/blob/9f8e6d86a1bc287d4232db81561e65b34180cd83/ci/macos/install-build-obs-macos.sh in the code is unclaimed by you and the current behavior of this is that you are using unclaimed s3 bucket in the code for downloading of osx-deps-2018-08-09.tar.gz file.
Impact: An attacker can able to achieve remote code execution when any of the user runs the install-dependencies code due to unclaimed s3 bucket also an attacker can spread ransomware by adding his vulnerable payload
POC:
Other
This is in the CI: Windows and Linux
29.0.2
No response
N/A
No response
The CI scripts for Linux and Windows will build the plugin successfully.
In both Linux and Windows CI build CMake is unable to find libobs
-- Configuring incomplete, errors occurred!
By not providing "Findlibobs.cmake" in CMAKE_MODULE_PATH this project has
See also "/home/runner/work/obs-backgroundremoval/obs-backgroundremoval/plugin/build_x86_64/CMakeFiles/CMakeOutput.log".
asked CMake to find a package configuration file provided by "libobs", but
CMake did not find one.
Could not find a package configuration file provided by "libobs" with any
of the following names:
libobsConfig.cmake
libobs-config.cmake
Add the installation prefix of "libobs" to CMAKE_PREFIX_PATH or set
"libobs_DIR" to a directory containing one of the above files. If "libobs"
provides a separate development package or SDK, be sure it has been
installed.
Even though in both cases it was able to build libobs successfully, e.g.
[96/101] Building C object libobs/CMakeFiles/libobs.dir/util/platform-nix-dbus.c.o
[97/101] Linking C shared library libobs/libobs.so.29
[98/101] Creating library symlink libobs/libobs.so.0 libobs/libobs.so
[99/101] Building CXX object UI/obs-frontend-api/CMakeFiles/obs-frontend-api.dir/obs-frontend-api.cpp.o
[100/101] Linking CXX shared library UI/obs-frontend-api/libobs-frontend-api.so.29
[101/101] Creating library symlink UI/obs-frontend-api/libobs-frontend-api.so.0 UI/obs-frontend-api/libobs-frontend-api.so
-- Installing: /home/runner/work/obs-backgroundremoval/obs-backgroundremoval/obs-build-dependencies/plugin-deps-2023-01-06-qt6-x86_64/lib/libobs.so.29
For me it's just that my plugin doesn't build in CI, using the default scripts provided in this repo.
No response
Ubuntu 22.04
No response
30.1.2
No response
N/A
No response
runs from the CWD or runs from src dir automatically
expects to run from project_root (up a level from src)
I'm using the template to include a sub-project, and I can imagine a use case where someone includes a sub-repository not working well with the current clang-format script. It also seems very temperamental - it must be used exactly in one way.
Windows 11
No response
30.0.0-beta2
N/A
N/A
N/A
App should build and package properly, as the Packages.dmg
checksum should be consistent.
This is a potential security issue with the current plugin template. The downloaded dmg of the app used to package the MacOS version of the plugin (Packages.dmg
) does not have a checksum that matches the expected checksum, and according to the Packages developer website and GitHub, no update has been posted since Feb of 2022. I was able to find a WebArchive (wayback machine) version of the file from July of this summer.
Current Packages.dmg Download: http://s.sudre.free.fr/Software/files/Packages.dmg
Wayback Machine: https://web.archive.org/web/20230727054218/http://s.sudre.free.fr/Software/files/Packages.dmg
Here are the results when looking at file size and checksum:
~/Downloads
❯ ls -la Packages-*.dmg
-rw-r--r--@ 1 mark staff 8398465 Sep 24 13:09 Packages-Current.dmg
-rw-r--r--@ 1 mark staff 8398202 Sep 24 13:22 Packages-Wayback.dmg
~/Downloads
❯ sha256sum Packages-*.dmg
9d9a73a64317ea6697a380014d2e5c8c8188b59d5fb8ce8872e56cec06cd78e8 Packages-Current.dmg
6afdd25386295974dad8f078b8f1e41cabebd08e72d970bf92f707c7e48b16c9 Packages-Wayback.dmg
Note- the Wayback version of the image has a checksum that matches the current checksum in the macOS package GH action script.
Something changed the file size and thus the checksum of the Packages.dmg
file on the developer's server last night (I know it happened in the last 24 hours as I packaged up a plugin yesterday without issue). However, the version of the Packages app which is to be installed in both cases is the same: v1.2.10.
Honestly, the more I dig into the Packages app, the more concerned I get about using it. The fact that the downloads page (and the maintainer website) are not even https
is a red flag to me, especially when checksums are changing. And as this is a packaging utility that generates .pkg files for plug-in users to install with (potentially with elevated permissions) its not something to take lightly.
Edit- I just checked the version of the webserver that is serving up the files, the Packages.dmg file was modified yesterday, and the Apache server being used was built in 2019:
❯ curl --head http://s.sudre.free.fr/Software/files/Packages.dmg
HTTP/1.1 200 OK
Date: Sun, 24 Sep 2023 21:06:10 GMT
Server: Apache/ProXad [Jan 23 2019 20:05:46]
Last-Modified: Sat, 23 Sep 2023 20:43:31 GMT
ETag: "2d84996d8-802681-650f4df3"
Connection: close
Accept-Ranges: bytes
Content-Length: 8398465
Content-Type: application/x-apple-diskimage
No response
macOS 12
No response
Other
27.2.3
N/A
N/A
Expected CMake to generate the plugin properly (it doesn't even have to install).
Example: This is what happens on the macOS x86_64 build:
This is what happens on the macOS arm64 build:
Also, I'm not sure if this is an issue (I don't think it is), but my repository has a dependency.
Windows 10
No response
28.0.1
No response
N/A
N/A
I'd expect the CMakeLists.txt to remain unchanged when running a build script. I understand this script is intended to be used in CI, but it is conventient to be used locally for development but then forces you to undo these line additions.
Every time I run Build-Windows.ps1, I get one more line and they cause annoying diffs like this:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 317be39..07734aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -83,3 +83,6 @@ endif()
# --- End of section ---
setup_plugin_target(${CMAKE_PROJECT_NAME})
+
+
+
Although not visible in this diff, these newlines are DOS style line endings even if the CMakeLists.txt is Unix style.
git clone "https://github.com/obsproject/obs-plugintemplate"
cd obs-plugintemplate
.\.github\scripts\Build-Windows.ps1
No response
Windows 11
I should be able to change the values of ENABLE_FRONTEND_API
and ENABLE_QT
in one place and have them apply to all operating systems.
I have to change ENABLE_FRONTEND_API
and/or ENABLE_QT
on each OS I support.
CMakePresets.json
and quickly realise you need to set the same value multiple times, leading to possible user-errorsUsing inheritance and a single preset for the two cross-platform variables makes sense as a solution.
Windows 10
No response
30.0.0
No response
no log
No response
...
i can't use this.. i don't know why . I'm trying to test it and i get this error in vsc:
PS C:\github_repo\obsplugindiega> ..github\scripts\Package-Windows.ps1
=> Check Windows build requirements
> Found dependency cmake as C:\Program Files\CMake\bin\cmake.exe
> Installing package innosetup
Se encontró un paquete existente ya instalado. Intentando actualizar el paquete instalado...
No se ha encontrado ninguna actualización disponible.
No hay versiones más recientes del paquete disponibles en las fuentes configuradas.
=> Archiving obs-plugintemplate...
Write-Error: C:\github_repo\obsplugindiega.github\scripts\Package-Windows.ps1:96:1
Line |
96 | Package
| ~~~~~~~
| The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
and i'm using the github code :
[CmdletBinding()]
param(
[ValidateSet('x64')]
[string] $Target = 'x64',
[ValidateSet('Debug', 'RelWithDebInfo', 'Release', 'MinSizeRel')]
[string] $Configuration = 'RelWithDebInfo',
[switch] $BuildInstaller,
[switch] $SkipDeps
)
$ErrorActionPreference = 'Stop'
if ( $DebugPreference -eq 'Continue' ) {
$VerbosePreference = 'Continue'
$InformationPreference = 'Continue'
}
if ( ! ( [System.Environment]::Is64BitOperatingSystem ) ) {
throw "Packaging script requires a 64-bit system to build and run."
}
if ( $PSVersionTable.PSVersion -lt '7.0.0' ) {
Write-Warning 'The packaging script requires PowerShell Core 7. Install or upgrade your PowerShell version: https://aka.ms/pscore6'
exit 2
}
function Package {
trap {
Pop-Location -Stack BuildTemp -ErrorAction 'SilentlyContinue'
Write-Error $_
Log-Group
exit 2
}
$ScriptHome = $PSScriptRoot
$ProjectRoot = Resolve-Path -Path "$PSScriptRoot/../.."
$BuildSpecFile = "${ProjectRoot}/buildspec.json"
$UtilityFunctions = Get-ChildItem -Path $PSScriptRoot/utils.pwsh/*.ps1 -Recurse
foreach( $Utility in $UtilityFunctions ) {
Write-Debug "Loading $($Utility.FullName)"
. $Utility.FullName
}
$BuildSpec = Get-Content -Path ${BuildSpecFile} -Raw | ConvertFrom-Json
$ProductName = $BuildSpec.name
$ProductVersion = $BuildSpec.version
$OutputName = "${ProductName}-${ProductVersion}-windows-${Target}"
if ( ! $SkipDeps ) {
Install-BuildDependencies -WingetFile "${ScriptHome}/.Wingetfile"
}
$RemoveArgs = @{
ErrorAction = 'SilentlyContinue'
Path = @(
"${ProjectRoot}/release/${ProductName}-*-windows-*.zip"
"${ProjectRoot}/release/${ProductName}-*-windows-*.exe"
)
}
Remove-Item @RemoveArgs
if ( ( $BuildInstaller ) ) {
Log-Group "Packaging ${ProductName}..."
$IsccFile = "${ProjectRoot}/build_${Target}/installer-Windows.generated.iss"
if ( ! ( Test-Path -Path $IsccFile ) ) {
throw 'InnoSetup install script not found. Run the build script or the CMake build and install procedures first.'
}
Log-Information 'Creating InnoSetup installer...'
Push-Location -Stack BuildTemp
Ensure-Location -Path "${ProjectRoot}/release"
Copy-Item -Path ${Configuration} -Destination Package -Recurse
Invoke-External iscc ${IsccFile} /O"${ProjectRoot}/release" /F"${OutputName}-Installer"
Remove-Item -Path Package -Recurse
Pop-Location -Stack BuildTemp
} else {
Log-Group "Archiving ${ProductName}..."
$CompressArgs = @{
Path = (Get-ChildItem -Path "${ProjectRoot}/release/${Configuration}" -Exclude "${OutputName}*.*")
CompressionLevel = 'Optimal'
DestinationPath = "${ProjectRoot}/release/${OutputName}.zip"
Verbose = ($Env:CI -ne $null)
}
Compress-Archive -Force @CompressArgs
}
Log-Group
}
Package
what happend? how can i fix this? thanks
...
No response
Other
FreeBSD
28.1.2
No response
n/a
No response
n/a
Installs:
lib/obs-plugins/obs-plugintemplate.so
share/obs/obs-plugins/obs-plugintemplate/locale/en-US.ini
/usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/lib/obs-plugins/obs-plugintemplate.so
/usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/share/obs/obs-plugins/obs-plugintemplate/data/locale/en-US.ini
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/lib/obs-plugins
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/lib
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/share/obs/obs-plugins/obs-plugintemplate/data/locale
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/share/obs/obs-plugins/obs-plugintemplate/data
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/share/obs/obs-plugins/obs-plugintemplate
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/share/obs/obs-plugins
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/share/obs
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release/share
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir/Release
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build/rundir
@dir /usr/ports/multimedia/obs-plugintemplate/work/.build
@dir /usr/ports/multimedia/obs-plugintemplate/work
@dir /usr/ports/multimedia/obs-plugintemplate
@dir /usr/ports/multimedia
@dir /usr/ports
Build with ninja backend.
No response
I have heard some talk about updating the plugin template and would like to add in my two cents.
Time to update
Here are the ideas I had
Windows 11
MacOS
30.0.0-rc1
No response
Not relevant
No response
obs-plugintemplate build work on macos with obs-studio 30.0.0
With the buildspec.json configure to use obs-studio 30.0.0-rc1
"obs-studio": {
"version": "30.0.0-rc1",
"baseUrl": "https://github.com/obsproject/obs-studio/archive/refs/tags",
"label": "OBS sources",
"hashes": {
"macos": "77d1d0bef0e156e5e5b19646dc9372ea99a046e39de985496e291e9f23e60764",
"windows-x64": "da07d21831571fa78e1d09a2d39ca88a7dd80dff77c4feedb1afa83c586b621b"
}
},
The macos build in github action fails with the error:
[ZERO_CHECK] Running script Generate CMakeFiles/ZERO_CHECK
[plugin-support] Compiling plugin-support.c
[plugin-support] Compiling plugin-support.c
[plugin-support] Building library libplugin-support.a
[plugin-support] Building library libplugin-support.a
[obs-plugintemplate] Processing empty-obs-plugintemplate.plist
[obs-plugintemplate] Compiling plugin-main.c
❌ /Users/runner/work/obs-plugintemplate/obs-plugintemplate/.deps/Frameworks/libobs.framework/Headers/graphics/../util/sse-intrin.h:31:10: 'simde/x86/sse2.h' file not found
#include "simde/x86/sse2.h"
^~~~~~~~~~~~~~~~~~
[obs-plugintemplate] Compiling plugin-main.c
❌ /Users/runner/work/obs-plugintemplate/obs-plugintemplate/.deps/Frameworks/libobs.framework/Headers/graphics/../util/sse-intrin.h:31:10: 'simde/x86/sse2.h' file not found
#include "simde/x86/sse2.h"
The detail error is (re run action with debug info):
In file included from /Users/runner/work/obs-plugintemplate/obs-plugintemplate/src/plugin-main.c:19:
In file included from /Users/runner/work/obs-plugintemplate/obs-plugintemplate/.deps/Frameworks/libobs.framework/Headers/obs-module.h:20:
In file included from /Users/runner/work/obs-plugintemplate/obs-plugintemplate/.deps/Frameworks/libobs.framework/Headers/obs.h:26:
In file included from /Users/runner/work/obs-plugintemplate/obs-plugintemplate/.deps/Frameworks/libobs.framework/Headers/graphics/vec3.h:21:
In file included from /Users/runner/work/obs-plugintemplate/obs-plugintemplate/.deps/Frameworks/libobs.framework/Headers/graphics/vec4.h:23:
/Users/runner/work/obs-plugintemplate/obs-plugintemplate/.deps/Frameworks/libobs.framework/Headers/graphics/../util/sse-intrin.h:31:10: fatal error: 'simde/x86/sse2.h' file not found
#include "simde/x86/sse2.h"
After some digging it appears that
AFAIU The root cause is that the ARCH_SIMDE_FLAGS is not set during the obs-studio build for MacOS as the obs-studio build is using the new "framework 3.0" cause the OBS_CMAKE_VERSION is forced to 3.0.0 for MacOS and obs-studio CMakeList.txt uses "framework 3.0" for "Darwin"
The use of "framework 3.0" (instead of legacy) does not expose the simde header for libobs cause ARCH_SIMD_FLAGS is never set hence the test in obs-studio/libobs/CMakeLists.txt:316 fails to add this files to public headers.
This does not happen on windows cause OBS_CMAKE_VERSION is set to 2.0.0 so the legacy build is used in OBS
Does not happen either for linux cause libobs deps is not built taken from package manager which install all the simde headers
buildspec.json
to use obs 30.0.0-rc1:diff --git a/buildspec.json b/buildspec.json
index 8a10e3f..91366dd 100644
--- a/buildspec.json
+++ b/buildspec.json
@@ -1,30 +1,30 @@
{
"dependencies": {
"obs-studio": {
- "version": "29.1.2",
+ "version": "30.0.0-rc1",
"baseUrl": "https://github.com/obsproject/obs-studio/archive/refs/tags",
"label": "OBS sources",
"hashes": {
- "macos": "215f1fa5772c5dd9f3d6e35b0cb573912b00320149666a77864f9d305525504b",
- "windows-x64": "46d451f3f42b9d2c59339ec268165849c7b7904cdf1cc2a8d44c015815a9e37d"
+ "macos": "77d1d0bef0e156e5e5b19646dc9372ea99a046e39de985496e291e9f23e60764",
+ "windows-x64": "da07d21831571fa78e1d09a2d39ca88a7dd80dff77c4feedb1afa83c586b621b"
}
},
"prebuilt": {
- "version": "2023-04-12",
+ "version": "2023-10-09",
"baseUrl": "https://github.com/obsproject/obs-deps/releases/download",
"label": "Pre-Built obs-deps",
"hashes": {
- "macos": "9535c6e1ad96f7d49960251e85a245774088d48da1d602bb82f734b10219125a",
- "windows-x64": "c13a14a1acc4224b21304d97b63da4121de1ed6981297e50496fbc474abc0503"
+ "macos": "4b7651e5a19b4ffa2371725e9d7865b5bc4eae46fd7ca0d4b9fabdf7491332b0",
+ "windows-x64": "7585ba9cc470c1f668af6d51efe6da211b16822b884382817750d9e8b502a81c"
}
},
"qt6": {
- "version": "2023-04-12",
+ "version": "2023-10-09",
"baseUrl": "https://github.com/obsproject/obs-deps/releases/download",
"label": "Pre-Built Qt6",
"hashes": {
- "macos": "eb7614544ab4f3d2c6052c797635602280ca5b028a6b987523d8484222ce45d1",
- "windows-x64": "4d39364b8a8dee5aa24fcebd8440d5c22bb4551c6b440ffeacce7d61f2ed1add"
+ "macos": "8d2fe5a7ddb0c5d5b2d37e43fde50661eb497e2b219e65f3822233e8a7f33e5a",
+ "windows-x64": "feadb745e622fb81aa1cdcdc1179baef4c4442d15cb8f0212cb7ceda0f1911df"
},
"debugSymbols": {
"windows-x64": "f34ee5067be19ed370268b15c53684b7b8aaa867dc800b68931df905d679e31f"asdfadfs
I had this issue cause I was preparing the update of a plugins that uses libobs "util/util.hpp" which is not available on 29.1.2 (restored by obsproject/obs-studio@55237ab on master and release/30.0.0)
So I changed buildspec.json to use 30.0.0-rc1 and the new sse2.h occurs on macos only.
As the 30.0.0 is still in RC1 it is not too late to fix it.
Ubuntu 22.04
No response
29.0.2
No response
N/A
No response
This plugin template is for OBS >=28 QT6 plugins only...right?
So, its generated Linux .deb files should have a control
file that says something like:
...
Depends: obs-studio (>= 28.0.0), libqt6coresomething (>= 6.x.x), libqt6guisomething (>= 6.x.x), libqt6widgetssomething (>= 6.x.x)
...
The obs-ndi plugin that I work on has a branch based on this obs-plugintemplate
.
I unzipped the plugin's .deb file generated by this template's build it says:
...
Depends: obs-studio (>= 27.0.0), libqt5core5a (>= 5.9.0~beta), libqt5gui5 (>= 5.3.0), libqt5widgets5 (>= 5.7.0)
...
It seems to install OK (the jury is still out on that), but I found this very odd/unexpected.
The above hard coded Depends line is taken straight from these lines of code:
obs-plugintemplate/cmake/ObsPluginHelpers.cmake
Lines 507 to 509 in 86ae5b4
set(CPACK_DEBIAN_PACKAGE_DEPENDS
"obs-studio (>= 27.0.0), libqt5core5a (>= 5.9.0~beta), libqt5gui5 (>= 5.3.0), libqt5widgets5 (>= 5.7.0)"
)
Windows 10
No response
28.0.0-beta2
No response
n/a
No response
Including the obs header <util/threading.h> breaks the build on windows as the header includes "../../deps/w32-pthreads/pthread.h"
That file isn't present in the plugin dependencies and so the CI fails for windows. Here's a test project I made based on the template:
https://github.com/univrsal/test123
And here's the CI log:
https://github.com/univrsal/test123/runs/7821655312?check_suite_focus=true
I use that header in tuna to set the name of a separate thread via os_thread_set_name
(https://github.com/obsproject/obs-studio/blob/master/libobs/util/threading.h#L95) which used to work fine with the old CI I used, but I'm trying to switch to the actions from this template because I have to redo the CI for the move to Qt6.
The CI fails.
No response
Windows 11
No response
30.0.0
No response
N/A
No response
Have the plugin name in the release title
Creates a draft release titled OBS Studio. While it's fine because it is a draft, having a friendly name in buildspec.json would be great so that we don't have to change the title all the time. I already put 'media-playlist-source' as the name but being able to put 'Media Playlist Source' in release titles automatically would be useful.
No response
The script to download the dependencies is downloading Packages.pkg.
However, the URL is not found as of now.
Can you update the URL?
Improve the documentation to include a step by step howto on setting up MacOS Signing
It took me days and multiple sources across the internet to stumble on how to get it working.
Not a thing
Any additional information that may not be covered above that you feel is relevant. External links, references, examples, etc.
Where do I find libobs? Seems to not be included or linked to via git submodule?
I've cloned the repo and followed the instructions on my Windows PC but my cmake-gui fails when I hit configure complaining that it can't find LIBOBS:
Could NOT find Libobs (missing: LIBOBS_LIB LIBOBS_INCLUDE_DIR)
CMake Error at plugins/obs-midi2/external/FindLibObs.cmake:106 (message):
Could not find the libobs library
Call Stack (most recent call first):
plugins/obs-midi2/CMakeLists.txt:30 (include)
I've tried following other a couple other forums online to see what may be a fix and few suggested to building OBS first then pointing LIBOBS_LIB to the .lib file in my build/libobs/Release folder the other variable to the /libobs folder... HOWEVER after doing that and hitting configure the new entries in cmake disappear and I'm given the same error all over again...
Windows 10
No response
Other
29.1.2
N/A
No response
I tried to update my plugin with the new plugin template changes. But i get these errors that don't make sense for me (cause windows works)
https://github.com/CodeYan01/media-playlist-source/actions/runs/5431829190/jobs/9878449528
Please check github action run
No response
Windows 11
No response
29.0.2
No response
not relevant
No response
Installing a obs-plugintemplate based plugin should not result in anti-virus reporting threat
obs-plugintemplate based plugins installed on Windows have a url shortcut installed that defaults to pointing to http://www.mywebsite.com
.
This is an unfortunate choice because that redirects to what looks like a poorly convincing phishing site:
I suspect that this URL is a known phishing site and is why some AV software may flag shortcuts pointing to is as being a potential threat.
(Reported 2nd hand from user)
On Windows:
MyAppURL "http://www.mywebsite.com"
At some point in time during or shortly after the installation Norton will pop up the following:
If an AV does not flag this url as a threat, then opening the installed url shortcut...
...browses to http://www.mywebsite.com
which redirects to a poorly convincing phishing site:
https://a1e24d2a-2434-467c-b2a2-c6dfd5f7e8a4.s3.ap-northeast-2.amazonaws.com/%26%25%5E%24%26%26%40%5E%23%5E!%23!%25%25%25!%24%5E%5E!%25!%40%26%23!%24%25%24%40%26%24%25!%23%40%23%24%40%26%25%23%40%23/index.html?&C=Kirkland&S=145471043&Q=145471043.com&SR=47059&IP=my%20website%20design&RE=50.47.211.46&KEY=98034&Z
Found in DistroAV/DistroAV#455
I suggest that PLUGIN_URL
be definable in CMakeList.txt
and/or buildspec.json
and populated in installer-Windows.iss.in
during build time similar to PLUGIN_AUTHOR
, etc.
Windows build (32bit and 64bit) on Azure Pipeline
Operating system and version:
OBS Studio version:
packaged ZIP file contains DLL files
The ZIP file contains only two file as below.
Zip file size: 396710 bytes, number of entries: 3
drwx--- 6.3 fat 0 bx stor 20-Jun-27 11:51 obs-plugins/
-rw-a-- 6.3 fat 913408 bx defN 20-Jun-27 11:51 obs-plugins/32bit
-rw-a-- 6.3 fat 856064 bx defN 20-Jun-27 11:51 obs-plugins/64bit
The files 32bit
and 64bit
are not directories but looks like PDB files.
I think buiid_config would be relevant to this issue.
build_config: RelWithDebInfo
obs-vnc
), and modified something.zipinfo
to look into the contents. The result is as below. zipinfo ../azure/obs-vnc/windows_build/obs-vnc-9330329-Windows.zip
Archive: ../azure/obs-vnc/windows_build/obs-vnc-9330329-Windows.zip
Zip file size: 396710 bytes, number of entries: 3
drwx--- 6.3 fat 0 bx stor 20-Jun-27 11:51 obs-plugins/
-rw-a-- 6.3 fat 913408 bx defN 20-Jun-27 11:51 obs-plugins/32bit
-rw-a-- 6.3 fat 856064 bx defN 20-Jun-27 11:51 obs-plugins/64bit
3 files, 1769472 bytes uncompressed, 396260 bytes compressed: 77.6%
Maybe OR
that are used at command add_custom_command
in CMakeLists.txt
does not work.
I removed if
condition to execute the command all the time, then the ZIP file contains the DLL files.
Windows 11
No response
30.1.2
No response
n/a
No response
The folder isn't included in the zip, unless that's intended.
The .ccache folder is included in the zip archive, which can significantly increase the file size. For tuna it's 116MB vs. 7MB unzipped and 19.5MB vs. 2MB compressed. It doesn't make much of a difference in smaller plugins but tuna statically links against two larger libraries which increases the size of the .ccache folder by a lot.
No response
Other
GitHub Action MacOS environment
Git
No response
https://github.com/ashmanix/blur-filter-obs-plugin/actions/runs/6291576827/job/17080090765
https://github.com/ashmanix/blur-filter-obs-plugin/actions/runs/6291576827/job/17080090765
The MacOS template build script should run without error producing the packaged MacOS files.
When running the CI/CD for my plugin I get an error when running the Build Project 🧱 / Build for macOS 🍏
script. The URL where the Package.dmg file is being downloaded downloads a file with a different hash key. I get an error saying that the hash doesn't match. Changing the hash in the buildspec.json
file still results in an error.
This is happening with another of my plugins (using an older version of the template) when I rerun an action that worked before. Only the MacOS build are failing (https://github.com/ashmanix/obs-plugin-countdown/actions/runs/6190232337)
This has only started to happen this evening from around 5:30pm UK time Sunday 24th September.
macOS 13
No response
30.1.0
No response
https://github.com/t-patt/obs-plugintemplate/actions/runs/8299025312/job/22713795427
https://github.com/t-patt/obs-plugintemplate/actions/runs/8299025312/job/22713795427
Mac CI build is able to install all brew dependencies without error.
Mac CI build fails when installing/upgrading brew dependencies (git).
A workaround is to add "--no-upgrade" to the brew bundle command in .github/scripts/utils.zsh/check_macos
. I'm not sure if this is a good long term solution.
Operating system and version:
OBS Studio version:
Windows 11
No response
Git
No response
n/a
No response
Successfully builds plugin template locally
PS C:\Users\cpyar\Desktop\obs\obs-plugintemplate> .\.github\scripts\Build-Windows.ps1
> Found dependency 7z as C:\Program Files\7-zip\7z.exe
> Found dependency cmake as C:\Program Files\CMake\bin\cmake.exe
> Found dependency iscc as C:\Program Files (x86)\Inno Setup 6\ISCC.exe
=> Setting up Pre-built obs-deps...
> Found downloaded Pre-built obs-deps.
> Checksum of downloaded Pre-built obs-deps matches.
=> Setting up Pre-built Qt6...
> Found downloaded Pre-built Qt6.
> Checksum of downloaded Pre-built Qt6 matches.
=> Checking for Git executable...
> Git found.
=> Setting up OBS Studio...
HEAD is now at 67f7a8407 CI: Change build file names
=> Checked out commit 67f7a84076be2c73d172eb14265c60d6209598db on branch master
Entering 'plugins/enc-amf'
Entering 'plugins/mac-syphon/syphon-framework'
Entering 'plugins/obs-browser'
Entering 'plugins/obs-outputs/ftl-sdk'
Synchronizing submodule url for 'libcurl'
Synchronizing submodule url for 'libjansson'
Entering 'plugins/obs-outputs/ftl-sdk/libcurl'
Entering 'plugins/obs-outputs/ftl-sdk/libjansson'
Entering 'plugins/obs-websocket'
Synchronizing submodule url for 'deps/asio'
Synchronizing submodule url for 'deps/json'
Synchronizing submodule url for 'deps/qr'
Synchronizing submodule url for 'deps/websocketpp'
Entering 'plugins/obs-websocket/deps/asio'
Entering 'plugins/obs-websocket/deps/json'
Entering 'plugins/obs-websocket/deps/qr'
Entering 'plugins/obs-websocket/deps/websocketpp'
Entering 'plugins/win-dshow/libdshowcapture'
=> Configuring OBS Studio...
=> Configuring OBS...
CMake Error: No generator specified for -G
Generators
* Visual Studio 17 2022 = Generates Visual Studio 2022 project files.
Use -A option to specify architecture.
Visual Studio 16 2019 = Generates Visual Studio 2019 project files.
Use -A option to specify architecture.
Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 10 2010 [arch] = Deprecated. Generates Visual Studio 2010
project files. Optional [arch] can be
"Win64" or "IA64".
Visual Studio 9 2008 [arch] = Generates Visual Studio 2008 project files.
Optional [arch] can be "Win64" or "IA64".
Borland Makefiles = Generates Borland makefiles.
NMake Makefiles = Generates NMake makefiles.
NMake Makefiles JOM = Generates JOM makefiles.
MSYS Makefiles = Generates MSYS makefiles.
MinGW Makefiles = Generates a make file for use with
mingw32-make.
Green Hills MULTI = Generates Green Hills MULTI files
(experimental, work-in-progress).
Unix Makefiles = Generates standard UNIX makefiles.
Ninja = Generates build.ninja files.
Ninja Multi-Config = Generates build-<Config>.ninja files.
Watcom WMake = Generates Watcom WMake makefiles.
CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
CodeBlocks - NMake Makefiles JOM
= Generates CodeBlocks project files.
CodeBlocks - Ninja = Generates CodeBlocks project files.
CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
CodeLite - MinGW Makefiles = Generates CodeLite project files.
CodeLite - NMake Makefiles = Generates CodeLite project files.
CodeLite - Ninja = Generates CodeLite project files.
CodeLite - Unix Makefiles = Generates CodeLite project files.
Eclipse CDT4 - NMake Makefiles
= Generates Eclipse CDT 4.0 project files.
Eclipse CDT4 - MinGW Makefiles
= Generates Eclipse CDT 4.0 project files.
Eclipse CDT4 - Ninja = Generates Eclipse CDT 4.0 project files.
Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
Kate - MinGW Makefiles = Generates Kate project files.
Kate - NMake Makefiles = Generates Kate project files.
Kate - Ninja = Generates Kate project files.
Kate - Unix Makefiles = Generates Kate project files.
Sublime Text 2 - MinGW Makefiles
= Generates Sublime Text 2 project files.
Sublime Text 2 - NMake Makefiles
= Generates Sublime Text 2 project files.
Sublime Text 2 - Ninja = Generates Sublime Text 2 project files.
Sublime Text 2 - Unix Makefiles
= Generates Sublime Text 2 project files.
Exception: C:\Users\cpyar\Desktop\obs\obs-plugintemplate\.github\scripts\Build-Windows.ps1:101
Line |
101 | Build
| ~~~~~
| cmake -S . -B plugin_build_x64 -G -DCMAKE_SYSTEM_VERSION=10.0.20348.0 -DCMAKE_GENERATOR_PLATFORM=x64
| -DCMAKE_BUILD_TYPE=RelWithDebInfo -DQT_VERSION=6 -DENABLE_PLUGINS=OFF -DENABLE_UI=OFF
| -DENABLE_SCRIPTING=OFF
| -DCMAKE_INSTALL_PREFIX:PATH=C:\Users\cpyar\Desktop\obs\obs-build-dependencies\plugin-deps-2022-08-02-qt6-x64 -DCMAKE_PREFIX_PATH:PATH=C:\Users\cpyar\Desktop\obs\obs-build-dependencies\plugin-deps-2022-08-02-qt6-x64 exited with non-zero code 1.
.\.github\scripts\Build-Windows.ps1
I just earlier cloned the obs-studio repo and successfully built obs using the build scripts.
Then I downloaded the template and this is the result. other than that I cleaned up all previous instances of the build environment
Windows 10
No response
Other
plugin-deps-2022-08-02-qt6-x64
No response
I would expect the template to build fine when using functions from obs-frontend-api.h
.
The build fails with:
MSBuild version 17.4.1+9a89d02ff for .NET Framework
...
plugin-main.obj : error LNK2019: unresolved external symbol obs_frontend_add_event_callback referenced in function obs_module_load [...\obs-plugintemplate\build_x64\obs-plugintemplate.vcxproj]
plugin-main.obj : error LNK2019: unresolved external symbol obs_frontend_remove_event_callback referenced in function obs_module_unload [...\obs-plugintemplate\build_x64\obs-plugintemplate.vcxproj]
...\obs-plugintemplate\build_x64\RelWithDebInfo\obs-plugintemplate.dll : fatal error LNK1120: 2 unresolved externals [...\obs-plugintemplate\build_x64\obs-plugintemplate.vcxproj]
plugin-main.c
like so, just adding a simple obs frontend event callback:#include <obs-module.h>
#include <obs-frontend-api.h>
#include "plugin-macros.generated.h"
void callback(enum obs_frontend_event event, void* data)
{
(void)data;
switch(event)
{
case OBS_FRONTEND_EVENT_STREAMING_STARTED:
blog(LOG_INFO, "stream started");
break;
case OBS_FRONTEND_EVENT_STREAMING_STOPPED:
blog(LOG_INFO, "stream stopped");
break;
}
}
OBS_DECLARE_MODULE()
OBS_MODULE_USE_DEFAULT_LOCALE(PLUGIN_NAME, "en-US")
bool obs_module_load(void)
{
blog(LOG_INFO, "plugin loaded successfully (version %s)", PLUGIN_VERSION);
obs_frontend_add_event_callback(callback, 0);
return true;
}
void obs_module_unload()
{
obs_frontend_remove_event_callback(callback, 0);
blog(LOG_INFO, "plugin unloaded");
}
.\.github\scripts\Build-Windows.ps1
The following diff fixes the problem. This just moves the obs-frontend-api
lookup below some of the other directives. Not sure why it works.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3b060d6..2ba1e8a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,8 +26,6 @@ include(cmake/ObsPluginHelpers.cmake)
# Uncomment these lines if you want to use the OBS Frontend API in your plugin
#[[
-find_package(obs-frontend-api REQUIRED)
-target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE OBS::obs-frontend-api)
#]]
# Uncomment those lines if you want to use Qt in your plugin
@@ -45,6 +43,9 @@ configure_file(src/plugin-macros.h.in ${CMAKE_SOURCE_DIR}/src/plugin-macros.gene
target_sources(${CMAKE_PROJECT_NAME} PRIVATE src/plugin-macros.generated.h)
+find_package(obs-frontend-api REQUIRED)
+target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE OBS::obs-frontend-api)
+
# /!\ TAKE NOTE: No need to edit things past this point /!\
# --- Platform-independent build settings ---
Check for the existence of the required secrets for macOS signing. If they do not exist. skip those CI actions.
The currently included CI pipeline breaks unless you have the ability and license to setup macOS signing and notarization.
A plugin template that includes a CI pipeline, should have that pipeline succeed when run without having to set up anything externally.
Not sure I can think of one
Any additional information that may not be covered above that you feel is relevant. External links, references, examples, etc.
macOS 10.15
No response
Other
I have not modified buildspec.json, out of the box it seems to target 27.2.3
N/A
No response
I expected:
.github/scripts/build-macos.zsh
to build the .plugin
file.
Currently, the build fails with:
FAILED: obs-plugintemplate.plugin/Contents/MacOS/obs-plugintemplate
: && /Library/Developer/CommandLineTools/usr/bin/c++ -O2 -g -DNDEBUG -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk -mmacosx-version-min=10.15 -bundle -Wl,-headerpad_max_install_names -o obs-plugintemplate.plugin/Contents/MacOS/obs-plugintemplate CMakeFiles/obs-plugintemplate.dir/obs-plugintemplate_autogen/mocs_compilation.cpp.o CMakeFiles/obs-plugintemplate.dir/src/plugin-main.c.o -Wl,-rpath,/Users/browncanstudios/OBSDev/obs-build-dependencies/obs-plugin-deps/lib -Wl,-rpath,/Users/browncanstudios/OBSDev/obs-build-dependencies/obs-plugin-deps/Frameworks /Users/browncanstudios/OBSDev/obs-build-dependencies/obs-plugin-deps/lib/libobs-frontend-api.27.dylib /Users/browncanstudios/OBSDev/obs-build-dependencies/obs-plugin-deps/Frameworks/libobs.framework/Versions/A/libobs /Users/browncanstudios/OBSDev/obs-build-dependencies/obs-plugin-deps/lib/QtWidgets.framework/QtWidgets /Users/browncanstudios/OBSDev/obs-build-dependencies/obs-plugin-deps/lib/QtGui.framework/QtGui /Users/browncanstudios/OBSDev/obs-build-dependencies/obs-plugin-deps/lib/QtCore.framework/QtCore && cd /Users/browncanstudios/OBSDev/obs-plugintemplate/build_macos-x86_64 && /bin/sh -c "codesign --force --sign \"-\" --options linker-signed \"/Users/browncanstudios/OBSDev/obs-plugintemplate/build_macos-x86_64/obs-plugintemplate.plugin\""
invalid argument "linker-signed"
ninja: build stopped: subcommand failed.
✖︎ script execution error
Callstack:
.github/scripts/build-macos.zsh:181
.github/scripts/build-macos.zsh:188
I have gotten builds to work by commenting out the following lines in cmake/ObsPluginHelpers.cmake
:
# if(OBS_CODESIGN_LINKER)
# set(CMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS "-o linker-signed")
# endif()
and
# add_custom_command(
# TARGET ${target}
# POST_BUILD
# COMMAND
# /bin/sh -c
# "codesign --force --sign \"-\" $<$<BOOL:${OBS_CODESIGN_LINKER}>:--options linker-signed >\"$<TARGET_BUNDLE_DIR:${target}>\""
# COMMENT "Codesigning ${target}"
# VERBATIM)
After doing this, I can successfully run .github/scripts/build-macos.zsh
and then .github/scripts/package-macos.zsh
. After this point, I can install the plugin via obs-plugintemplate-1.0.0-macos-x86_64.pkg
, but my OBS does not load it, but this is likely a completely separate issue, and I'm not sure if it's relevant since getting the build to work by commenting out those lines doesn't quite feel right in the first place.
P.S. I have an interesting plugin working when I build it into obs itself, but I can't figure out how to deal with distribution, so I'm excited to use this plugin template, and I apologize if this issue isn't appropriate or is just highlighting my own ignorance :\
Windows 10
No response
29.1.3
No response
No response
i successfully added QWebSocket dependency and it's dll, when i run the code inside a Qt application it connects to the socket with no problem, but when i add it to the plugin, when i call websocket.open(url) nothing happens.
the socket never connects
...
in the obs_module_load create a simple websocket object then call the open method with a url
No response
macOS 12.0
No response
27.1.3
No response
https://obsproject.com/logs/eCGaQxWUEPnt64Qk
No response
Success Build
Failed build
git clone https://github.com/obsproject/obs-plugintemplate.git
cd obs-plugintemplate
./CI/build-macos.sh
I use bash.
Here is log:
brew update --preinstall
...Using cmake
Using ninja
Homebrew Bundle complete! 2 Brewfile dependencies now installed.
[obs-plugin] Set up precompiled macOS OBS dependencies v2021-08-17
Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.
-- Scripting plugin disabled
CMake Deprecation Warning at deps/libcaption/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.
-- Using system Jansson library
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Found FFmpeg: /Users/rxandrey/Tests/obs-build-dependencies/obs-deps/lib/../lib/libavformat.dylib (found version "58.29.100") found components: avformat avutil swscale swresample avcodec
-- Using libavcodec for image loading in libobs
-- Found ZLIB: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/lib/../lib/libz.tbd
-- Could NOT find LibVLC (missing: VLC_INCLUDE_DIR)
-- VLC video plugin disabled
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
-- Checking for module 'jack'
-- Found jack, version 1.9.19
-- Found jack: /usr/local/lib/libjack.dylib
-- Using the bundled VST header.
-- Found Libx264: /Users/rxandrey/Tests/obs-build-dependencies/obs-deps/lib/../lib/libx264.dylib
-- Libfdk not found - obs-libfdk plugin disabled
-- Found FFmpeg: /Users/rxandrey/Tests/obs-build-dependencies/obs-deps/lib/../lib/libavcodec.dylib (found version "58.54.100") found components: avcodec avfilter avdevice avutil swscale avformat swresample
-- Found FFmpeg: /Users/rxandrey/Tests/obs-build-dependencies/obs-deps/lib/../lib/libavcodec.dylib (found version "58.54.100") found components: avcodec avutil avformat
-- Found MbedTLS: /Users/rxandrey/Tests/obs-build-dependencies/obs-deps/lib/../lib/libmbedtls.dylib;/Users/rxandrey/Tests/obs-build-dependencies/obs-deps/lib/../lib/libmbedcrypto.dylib;/Users/rxandrey/Tests/obs-build-dependencies/obs-deps/lib/../lib/libmbedx509.dylib
-- Found ftl-sdk: ftl outputs enabled
-- Found Libspeexdsp: /Users/rxandrey/Tests/obs-build-dependencies/obs-deps/lib/../lib/libspeexdsp.dylib
-- Found AppKit: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/AppKit.framework
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
ENABLE_PLUGINS
OBS_CODESIGN_LINKER
-- Build files have been written to: /Users/rxandrey/Tests/obs-studio/plugin_build
Could not find a package configuration file provided by "obs-frontend-api"
with any of the following names:
obs-frontend-apiConfig.cmake
obs-frontend-api-config.cmake
Add the installation prefix of "obs-frontend-api" to CMAKE_PREFIX_PATH or
set "obs-frontend-api_DIR" to a directory containing one of the above
files. If "obs-frontend-api" provides a separate development package or
SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!
See also "/Users/rxandrey/Tests/obs-plugintemplate/build/CMakeFiles/CMakeOutput.log".
See also "/Users/rxandrey/Tests/obs-plugintemplate/build/CMakeFiles/CMakeError.log".
Currently, the plugin template uses Azure Pipelines. I propose the default CI pipeline use GitHub Actions
Personally, I can't think of any
The base obs-studio project seems to be using GitHub actions now, as do many of the other plugins I have looked at.
ex.
https://github.com/cpyarger/obs-midi
https://github.com/Palakis/obs-websocket
The releasing script under .github was changed to accept only the tag without "v" prefix (e.g. 1.0.0) though the previous script accept the tag with "v" prefix (e.g. v1.0.0).
Changing the tag specification is very confusing and I want to ask whether this change is expected and why this change is necessary.
macOS 13
No response
29.1.3
No response
No response
No response
Windows 10
MacOS, Ubuntu
Other
29.1.2
not available
No response
It works before #76 merged.
<util/config-file.h>
in macosobs_view_add
, obs_view_remove
in linuxhere's sample repo: miaulightouch/obs-test-plugin@df14ecd...HEAD
No response
macOS 12
No response
27.2.4
No response
NA
No response
NA
NA
changed buildspec.json to
"obs-studio": {
"version": "27.2.4",
"repository": "https://github.com/obsproject/obs-studio.git",
"branch": "release/27.2",
"hash": "2ac9f83cb662692d34874ee1fd17ad7675597215"
},
and the build throws error : fatal: 'release/27.2' is not a commit and a branch 'test' cannot be created from it
btw where can i find the hash of obs-studio?
Thanks
No response
I know with the current CI pipeline, the plugins get built out of tree, though personally, I prefer to build in tree as it makes building testing and debugging quite a bit easier.
This would allow people to choose to build in or out of tree.
Slightly more complex cmake for plugins.
Any additional information that may not be covered above that you feel is relevant. External links, references, examples, etc.
Windows 10
No response
28.0.3
No response
N/A
No response
The CI scripts should create installers and packages and generate a release when a tag is pushed.
No downloadable binaries are available. The generated release looks like a template only.
No response
Windows 10
No response
29.1.3
No response
N/A
No response
macos builds should be able to include util/dstr.h without issue
macos fails build, stating it can't find util/dstr.h
#include <util/dstr.h>
to plugin-main.cLinks to builds failing on my current plugin
https://github.com/EZ64cool/obs-hadowplay/actions/runs/6884310748/job/18726554756
This came up whilst I've been trying to merge the latest template.
Windows 10
No response
29.0.2
No response
https://obsproject.com/logs/pcybGNE6qgFscshM
No response
Link expected to work.
Wasn't able to install obs-ndi with the Windows installer due to this issue, so install did not fully complete. OBS opened with this warning:
But the link goes to a broken page - In fact, the domain itself doesn't seem to work. This NewTek forum post seems to have reported the issue 2 weeks ago.
I tried using the obs-ndi windows zip file contents to install the plugin, but I still get the missing runtime error. I don't know if this is normally installed as part of the Installer EXE and is just missing because install never fully finished? I've looked for an alternate download location for NDIRedistV5 but found nothing; Is there another place to attain it?
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.