Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
350 commits
Select commit Hold shift + click to select a range
bd6efae
Add more low-light enhance model (#298)
royshil May 5, 2023
a415560
Add GPU to enhance filter (#300)
royshil May 8, 2023
d58d478
add flathub link
royshil May 8, 2023
b57e808
Update README.md
royshil May 9, 2023
98d524a
translations! (#302)
royshil May 10, 2023
7f49697
Update README.md
royshil May 10, 2023
cd938ff
Add OBS requirements to README.md (#304)
umireon May 17, 2023
a36f22b
Add detailed installation instructions for Linux (#308)
umireon May 17, 2023
4b0f996
Update README.md
royshil May 19, 2023
36b9925
Update README.md
royshil May 19, 2023
f9a886c
Update README.md
royshil May 21, 2023
07a5272
nits (#310)
royshil May 24, 2023
8486c8e
docs: fix some typos in README.md (#311)
graves501 May 25, 2023
ab88310
Make it easier to spot the openSUSE installation instructions (#309)
aspiers May 25, 2023
fed3909
Bump version to 1.0.0 (#314)
royshil May 29, 2023
61ad08b
bug reporting help
royshil May 31, 2023
8b38551
Fix threshold range bug (#319)
royshil Jun 1, 2023
3dabe0f
update demo gif
royshil Jun 3, 2023
75e90ec
Add "no threshold" options (#320)
royshil Jun 3, 2023
85e99bf
Fix SINet inference (#324)
royshil Jun 7, 2023
c2e058b
bump v1.0.1
royshil Jun 7, 2023
cb161de
Revert "bump v1.0.1"
royshil Jun 7, 2023
fee07c4
bump v1.0.1
royshil Jun 7, 2023
1260b91
Update FetchOnnxruntime.cmake (#326)
umireon Jun 10, 2023
39951ba
Use C++11 and C99 to support older libstdc++ and so on (#329)
umireon Jun 13, 2023
4c9db92
We have to state that the pre-built binary only works on Ubuntu 22.04…
umireon Jun 15, 2023
0121c50
Update README.md
royshil Jun 18, 2023
aafdffb
Require OBS 28+ on the deb package (#337)
umireon Jun 19, 2023
e6f4c8c
Support ARM64 on Linux (#335)
umireon Jun 19, 2023
c744c2c
Update ONNX Runtime to v1.15.1 (#338)
umireon Jun 19, 2023
f25c202
Remove zip from releases page (#339)
umireon Jun 19, 2023
ce52fb5
Allow users to use a custom ONNX Runtime tarball (#343)
umireon Jun 22, 2023
ea96560
bump version 1.0.2
royshil Jun 23, 2023
f1db090
Update FetchOnnxruntime.cmake (#348)
umireon Jun 24, 2023
99e67cb
Support providing a custom OpenCV tarball (#349)
umireon Jun 24, 2023
a4d365f
bump v (#353)
royshil Jun 26, 2023
3a919a0
Release unofficial a Fedora RPM for obs-stufio on RPM Fusion (#341)
umireon Jun 27, 2023
c9d8654
Update our build system with obs-plugintemplate (#357)
umireon Jun 29, 2023
39ce395
We need to update the OBS dependency to 29. (#360)
umireon Jun 30, 2023
ee6aca3
Compile with QNetworkAccessManager 2 (#362)
umireon Jun 30, 2023
7f30479
Update defaults.cmake (#363)
umireon Jul 2, 2023
fc748c9
An update dialog skelton (#364)
umireon Jul 2, 2023
a45172d
Add libcurl to fetch GitHub metadata (#365)
umireon Jul 3, 2023
1663d22
Remove QtNetwork (#367)
umireon Jul 4, 2023
1d521f9
Remove files (#368)
umireon Jul 4, 2023
04ba710
Add depth estimation model (#366)
royshil Jul 4, 2023
5b80ec0
Update version check and dialog (#370)
royshil Jul 5, 2023
8b7003c
Fix (#371)
umireon Jul 6, 2023
cf61e40
add changelog to update dialog (#373)
royshil Jul 7, 2023
9695f81
Update CMakePresets.json (#375)
umireon Jul 10, 2023
aeab837
Add the USE_SYSTEM_CURL flag (#377)
umireon Jul 10, 2023
eea2d24
Fix so installation on Debian (#381)
umireon Jul 12, 2023
8a0486d
bump v1.1.1
royshil Jul 12, 2023
bd684e9
Fix build-* and package-* to be symlink (#384)
umireon Jul 13, 2023
50919cc
Install obs-studio from ppa (#385)
umireon Jul 13, 2023
5d11366
Fix to use pkgbuild properly (#387)
umireon Jul 13, 2023
a53923b
bump v1.1.2
royshil Jul 13, 2023
d9ff079
Build Zip (#390)
umireon Jul 16, 2023
47917aa
Fix links on build-aux (#395)
umireon Jul 21, 2023
50b8089
Fix workflow to create and to upload zip (#394)
umireon Jul 21, 2023
ceee573
Update CMakePresets.json (#398)
umireon Jul 21, 2023
cce3bc1
Use system curl on Linux by default (#399)
umireon Jul 21, 2023
2da66ed
Quick instructions to compile on Fedora 37 (#397)
MagnoBooter Jul 21, 2023
d5b20a0
Need zsh (#401)
MagnoBooter Jul 22, 2023
6158103
Don't exclude the docs directory (#402)
MagnoBooter Jul 22, 2023
9feec7b
Update README.md
royshil Jul 30, 2023
8ce8d50
Add focal blur enable/disable option (#410)
royshil Jul 30, 2023
6db721f
bump v1.1.3
royshil Jul 31, 2023
8195a95
Embed the tutorial video on README.md (#413)
umireon Aug 1, 2023
f38e2fd
Fix blur background halo effect (#415)
royshil Aug 4, 2023
1d67bca
Use pre-built static OpenCV libraries (#419)
umireon Aug 12, 2023
01bdfe3
Update build-project.yaml (#421)
umireon Aug 12, 2023
58b2137
Link zlib with OpenCV (#422)
umireon Aug 12, 2023
e48b83c
Remove libcurl from Mac and Windows (#420)
umireon Aug 14, 2023
d141439
Update README.md
royshil Aug 14, 2023
ab7f787
Update README.md
royshil Aug 17, 2023
2f6f81a
Add CUSTOM_OPENCV_URL and CUSTOM_OPENCV_HASH for Arch, openSUSE, and …
umireon Aug 23, 2023
e2f6e95
Create UNINSTALL.md (#426)
umireon Aug 24, 2023
4b9a7ee
bump v1.1.5
royshil Aug 25, 2023
053edd0
C17 is only supported CMake 3.21+ (#430)
umireon Aug 27, 2023
7796440
Generate static libraries for HttpClient (#433)
umireon Aug 31, 2023
4aface5
bump v1.1.6
royshil Sep 13, 2023
5818929
BUILDING-FEDORA.md: add curl-devel (#439)
DaniAsh551 Sep 13, 2023
bf44ccc
Remove USE_SYSTEM_CURL (#445)
umireon Sep 22, 2023
1bbb45d
Bump onnxruntime to 1.16.0 (#447)
umireon Sep 29, 2023
4d2dd37
Remove the Packages.app (#453)
umireon Sep 29, 2023
e4eb91c
Update .package.zsh (#455)
umireon Oct 2, 2023
acce8f4
Update update-checker.cpp (#456)
umireon Oct 3, 2023
f965cf2
Handle model load bug (#458)
royshil Oct 4, 2023
cc1ba74
Add a user-friendly download page like OBS (#460)
umireon Oct 5, 2023
4d63d7e
Replace the download link with the site (#461)
umireon Oct 5, 2023
fa5b74b
Fix OpenCV binary URL (#462)
umireon Oct 5, 2023
b498832
Auto-generate Distribution.xml (#463)
umireon Oct 5, 2023
b8fcfd3
add logs (#466)
royshil Oct 5, 2023
0ac64a8
Fix updater crash (#469)
royshil Oct 10, 2023
3331e35
bump v1.1.7
royshil Oct 11, 2023
2cf587a
Add triggers for the pages workflow (#472)
umireon Oct 11, 2023
7616b59
Update README.md
royshil Oct 24, 2023
154036c
Update BUILDING-FEDORA.md (#482)
T0MASD Oct 29, 2023
7c6287b
Update README.md
royshil Oct 31, 2023
9a1d13c
Update BUILDING-OPENSUSE.md (#474)
saif-ellafi Nov 30, 2023
a60d1ad
Fix config flag and update checker github repo url (#496)
royshil Dec 13, 2023
4f3180a
Adding simple mode for settings (#443)
royshil Dec 15, 2023
1d51cdc
Bump onnxruntime v1.16.3 (#497)
royshil Dec 18, 2023
f7cef6d
add simple temporal smoothing (#498)
royshil Dec 19, 2023
d77ff28
Add metadata to suppress SmartScreen on Windows (#505)
umireon Dec 29, 2023
c1d30cd
Update dependent libraries (#510)
umireon Jan 3, 2024
b509168
bump v1.1.9
royshil Jan 4, 2024
e6c8f10
Onnxruntime_VERSION is needed when custom tarball is used (#515)
umireon Jan 7, 2024
b5637cf
Update required onnx runtime version (#516)
akhenakh Jan 8, 2024
e8d4f13
Disable program group page in Windows installer (#518)
royshil Jan 8, 2024
563509f
bump v1.1.10
royshil Jan 10, 2024
ddf6df0
Add a flag to build without GPU support on Linux (#524)
umireon Jan 11, 2024
013e71f
Fix DISABLE_ONNXRUNTIME_GPU to work with USE_SYSTEM_ONNXRUNTIME (#530)
umireon Jan 17, 2024
403dc76
Improve the handling of path string (#528)
umireon Jan 18, 2024
9a1566c
Add GitHub Action to Update the Windows installer to Winget (#500)
MrHinsh Jan 21, 2024
7f045cc
Add documentation for Debian users (#537)
umireon Jan 23, 2024
ab3e956
Add update checker functionality (#538)
royshil Jan 25, 2024
e226085
Update README.md
royshil Jan 26, 2024
ec5d86d
Update check_macos (#557)
umireon Mar 14, 2024
7809a8d
Add image similarity settings, RMBG, threading (#556)
royshil Mar 14, 2024
2f2a147
Fix image similarity calculation in background filter (#558)
royshil Mar 14, 2024
d96716e
Update readme
royshil Mar 15, 2024
fbbc417
Add new images and update usage page
royshil Mar 15, 2024
eb310c1
Add video_tick function to background filter info (#563)
royshil Mar 17, 2024
cf5afb0
Update Onnxruntime version and fix Windows compilerconfig (#565)
royshil Mar 20, 2024
3f8bc14
Update version to 1.1.13 in buildspec.json
royshil Mar 20, 2024
94a5021
Update according to obs-plugintemplate (#569)
umireon Mar 28, 2024
23fa8fc
Update version number in buildspec.json
royshil Mar 28, 2024
f7c5e17
Fix to use upload-artifact@v4 (#571)
umireon Mar 31, 2024
165997c
Add CUDA execution provider and enable TensorRT engine cache (#575)
krakowski Apr 24, 2024
94be8c3
Fix building instructions on Fedora (#581)
umireon May 8, 2024
00576b9
Update README.md
royshil Aug 1, 2024
3189fe0
Fix memory leaks (#594)
itmo153277 Oct 9, 2024
012a7f4
fix create_config_folder not compatible with non-ansi paths (#597)
epessoa-i Oct 9, 2024
83f242d
doc(fedora): Update development-tools install command (#612)
JumpLink Apr 1, 2025
b86bf8b
fix custom onnxruntime version (#621)
fritz-fritz Apr 1, 2025
88e855c
Change license to GNU GPL v3 and update copyright
royshil Oct 27, 2025
c26c84d
Refactor CI scripts and workflows for platform consistency (#645)
umireon Oct 27, 2025
922d72b
Fix guide page link (#639)
yostane Oct 27, 2025
4f93843
Fix pages (#647)
umireon Oct 27, 2025
d6f1bcf
Update pages.yaml (#649)
umireon Oct 28, 2025
875ffda
Disable ubuntu packaging temporarily (#652)
umireon Oct 28, 2025
b0555a1
Refactor update checker to use CurlClient only (#658)
umireon Nov 4, 2025
bce975e
Update build-project.yaml (#659)
umireon Nov 5, 2025
161c464
Refactor OpenCV integration to use package managers (#661)
umireon Nov 5, 2025
de72cf1
Cleaner ONNX Runtime downloader for Mac (#662)
umireon Nov 5, 2025
387733c
Fix Windows build with ONNX Runtime (#664)
umireon Nov 6, 2025
20c4561
Fix Linux build (#665)
umireon Nov 7, 2025
d80cb28
Create copilot-instructions.md for release automation (#668)
umireon Nov 7, 2025
dd65f95
chore: bump version to 1.3.0 for release (#669)
umireon Nov 8, 2025
d948884
Refresh pages (#674)
umireon Nov 8, 2025
e0da801
Bundle ONNX Runtime into deb package (#679)
umireon Nov 9, 2025
7ad0f49
Refresh documents (README.md and our site) (#676)
umireon Nov 9, 2025
bb6f023
chore: bump version to 1.3.1 for release (#682)
umireon Nov 9, 2025
763c381
Replace issue templates with issue form for better user assistance (#…
umireon Nov 9, 2025
2734df0
Add FAQ.md and update .gitignore to include it (#685)
umireon Nov 9, 2025
21ad101
Add interactive-help (#687)
umireon Nov 10, 2025
7b2972c
Update background-filter.cpp (#691)
umireon Nov 10, 2025
5a50e94
chore: bump version to 1.3.2 for release (#692)
umireon Nov 10, 2025
132e15f
Update plugin metadata to reflect repository ownership transfer (#695)
Copilot Nov 10, 2025
1c6c9e2
Context for chatbot was compressed (#688)
umireon Nov 10, 2025
9bf3303
Add mask expansion slider to enlarge safe area around detected person…
Copilot Nov 10, 2025
a4910b3
Support CUDA and ROCM mainly on Linux (#697)
umireon Nov 10, 2025
a5ebc9e
Refactor ONNX Runtime system usage and update CMake options (#698)
umireon Nov 10, 2025
43d0bb0
Add Windows GPU support again (#702)
umireon Nov 11, 2025
3c23cbb
Add GPU build for Windows (#703)
umireon Nov 11, 2025
0078e37
chore: bump version to 1.3.3 for release (#704)
umireon Nov 11, 2025
1ce5693
Fix macOS download page serving .deb instead of .pkg (#708)
Copilot Nov 14, 2025
22367cb
Fix CUDA option not appearing on Linux due to preprocessor macro typo…
Copilot Nov 16, 2025
c6fe522
chore: bump version to 1.3.4 for release (#714)
umireon Nov 16, 2025
b3d01d4
Fix race conditions in stage surface data handling and shared state a…
Copilot Nov 17, 2025
dd84582
Fix race conditions in enhance-filter model updates and update-checke…
Copilot Nov 17, 2025
cd8faea
Update issue templates to OBS Background Removal (#717)
umireon Nov 17, 2025
2694ffd
Documentation on compiling with newer CUDA versions (#720)
alexsikomas Nov 17, 2025
fd86e0c
Add comprehensive developer onboarding guide for coding agents (#721)
Copilot Nov 18, 2025
2474eaa
Document Rosetta2 incompatibility on macOS (#723)
Copilot Nov 18, 2025
a6c834e
Bump version to 1.3.5 (#728)
umireon Nov 21, 2025
fbd855d
Refactor filter lifecycle to use std::shared_ptr for thread safety (#…
Copilot Nov 23, 2025
67b9b04
Switch wolfssl to external registry and update build config (#735)
umireon Dec 14, 2025
84b864d
Add MediaPipe Multi-Class Selfie Segmentation model support (#742)
Copilot Jan 2, 2026
39883a1
Add an option to keep the filter enabled when scene becomes inactive …
sobalap Jan 9, 2026
fbe6ced
Add note about Lite version for background removal (#753)
umireon Jan 22, 2026
41b6d39
Remove AVX2-related options from vcpkg (#754)
umireon Jan 23, 2026
9cdcf70
Add MIGraphX execution provider support (#740)
Copilot Jan 23, 2026
09bd8cf
Update buildspec.json (#756)
umireon Jan 24, 2026
cb1b155
Add version history pages on GitHub Pages (#762)
umireon Feb 12, 2026
e06af7b
Delete winget-update.yaml (#763)
umireon Feb 13, 2026
e125e1d
Migrate to the new install recommendation for OBS plugins (#764)
umireon Feb 13, 2026
ff987e6
Switch to runtime-optimized .ort model files (#766)
umireon Feb 14, 2026
2c17616
Static-linking ONNX Runtime on Mac to avoid duplicate symbols (#765)
umireon Feb 15, 2026
5271c56
Update GitHub Actions workflow: actions & ccache (#767)
umireon Feb 16, 2026
797ea16
Static-linking ONNX Runtime on Windows CPU build (#768)
umireon Feb 17, 2026
49af7b2
Enable ccache for Windows (#769)
umireon Feb 19, 2026
76b0e77
Static-linking ONNX Runtime on Ubuntu CPU build (#771)
umireon Feb 19, 2026
a993696
Update build-project.yaml (#772)
umireon Feb 19, 2026
fca7c28
Remove source tarball packaging and upload (#773)
umireon Feb 20, 2026
3a74e0d
Update build-project.yaml (#774)
umireon Feb 20, 2026
0ec4142
Fix old repo names (#780)
umireon Feb 21, 2026
0aff3dc
Improve vcpkg dependency installation (#776)
umireon Feb 21, 2026
48c18e3
Add an independent workflow to build ONNX Runtime periodically and ke…
umireon Feb 23, 2026
1a89ca6
chore: bump version to 1.3.7 for release (#783)
umireon Feb 25, 2026
331c260
workflow: attest artifacts and use gh release (#784)
umireon Feb 26, 2026
4bcc8aa
Clarify contributing policy (#789)
umireon Feb 27, 2026
dfe7a2c
Add SPDX license headers to C/C++ files (#791)
umireon Mar 1, 2026
b325f63
Add Pull Request Validator workflow and docs (#792)
umireon Mar 3, 2026
40e34f2
REUSE compliance (#795)
umireon Mar 4, 2026
d27ae15
Use a second-level heading for the PR template (#798)
umireon Mar 5, 2026
1c45b2b
Improve PR Validation (#797)
umireon Mar 10, 2026
0d49c50
Extract necessary fields from commit list on PR (#800)
umireon Mar 10, 2026
667dc47
Replace pages workflow with a more secure one (#799)
umireon Mar 11, 2026
0c1664c
Rewrite plugin build workflows to be robust and secure (#805)
umireon Mar 13, 2026
f75b114
Remove interactive-help (#813)
umireon Mar 14, 2026
0f4bf48
Fix ORT cache building (#814)
umireon Mar 15, 2026
d200845
Bump actions/download-artifact from 8.0.0 to 8.0.1 (#806)
dependabot[bot] Mar 15, 2026
9c4fbe1
Update vcpkg baseline with kaito-tokyo/vcpkg-obs-kaito-tokyo (#817)
umireon Mar 15, 2026
e92a6f2
Improve PR Validation (#816)
umireon Mar 15, 2026
899ba13
Add manifest.json for Plugin Manager (#818)
umireon Mar 19, 2026
b43a052
Add dependencies-vcpkg.md (#820)
umireon Mar 19, 2026
78ba8ff
chore(deps): sync vcpkg baselines and add upstream triplets (#826)
github-actions[bot] Mar 19, 2026
ed507ac
Enable grouping settings for Dependabot (#827)
umireon Mar 19, 2026
9ceda37
Update dependencies (#828)
umireon Mar 19, 2026
9bfb9a3
Bump version to 1.4.0 (#836)
umireon Mar 25, 2026
24ff209
Add notes for deprecated Program Files installation and link to my ne…
umireon Mar 25, 2026
52ec442
Fix create-release (#842)
umireon Mar 25, 2026
a503c2d
Fix script errors on create-release (#843)
umireon Mar 26, 2026
0dd2746
Hermetic build (#846)
umireon Mar 30, 2026
24e3540
Rework CI for stable build and cache consistency (#849)
umireon Apr 6, 2026
e03fe82
Fix gh release create call (#850)
umireon Apr 7, 2026
810cf9c
Update vcpkg dependencies (#864)
umireon May 22, 2026
19d7440
Create GENERATED.md (#866)
umireon May 23, 2026
a6df7ba
Add build helper scripts for Debian Forky users (#868)
umireon May 24, 2026
35b9b95
Add Ubuntu Resolute for bin scripts (#870)
umireon May 26, 2026
02524d7
Refactor CMake for Debian (#871)
umireon May 26, 2026
53905f2
Bump the plugin group across 1 directory with 3 updates (#873)
dependabot[bot] May 28, 2026
d30710e
Update dependabot.yml (#875)
umireon May 28, 2026
1e17872
Bump actions/setup-node from 6.3.0 to 6.4.0
dependabot[bot] May 28, 2026
5d11165
Bump actions/upload-pages-artifact from 4.0.0 to 5.0.0
dependabot[bot] May 28, 2026
198ec29
Bump actions/cache from 5.0.3 to 5.0.5
dependabot[bot] May 28, 2026
13061a1
Bump actions/configure-pages from 5.0.0 to 6.0.0
dependabot[bot] May 28, 2026
cb4c3b7
Merge pull request #876 from royshil/dependabot/github_actions/action…
umireon May 28, 2026
5602760
Merge pull request #877 from royshil/dependabot/github_actions/action…
umireon May 28, 2026
85c1af9
Merge pull request #878 from royshil/dependabot/github_actions/action…
umireon May 28, 2026
241b0bf
macOS support for bin scripts with CI integration
umireon May 26, 2026
274169e
Merge pull request #872 from royshil/umireon/new-cmake-win-mac
umireon May 28, 2026
5432117
Bump actions/upload-artifact from 7.0.0 to 7.0.1
dependabot[bot] May 28, 2026
90bff47
Merge pull request #879 from royshil/dependabot/github_actions/action…
umireon May 28, 2026
3ba2248
Merge pull request #880 from royshil/dependabot/github_actions/action…
umireon May 28, 2026
606ee9c
Fix ccache on macOS to work
umireon May 29, 2026
281a254
Merge pull request #885 from royshil/umireon/fix-macos-ccache
umireon May 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
215 changes: 215 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
# SPDX-FileCopyrightText: 2018-2026 OBS Project and its contributors
# SPDX-FileCopyrightText: 2021-2026 Roy Shilkrot <roy.shil@gmail.com>
# SPDX-FileCopyrightText: 2023-2026 Kaito Udagawa <umireon@kaito.tokyo>
#
# SPDX-License-Identifier: GPL-3.0-or-later

# please use clang-format version 16 or later

Standard: c++20
AccessModifierOffset: -8
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: false
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakStringLiterals: false # apparently unpredictable
ColumnLimit: 120
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 8
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
FixNamespaceComments: true
ForEachMacros:
- 'json_object_foreach'
- 'json_object_foreach_safe'
- 'json_array_foreach'
- 'HASH_ITER'
IncludeBlocks: Preserve
IndentCaseLabels: false
IndentPPDirectives: None
IndentWidth: 8
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 8
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true

PenaltyBreakAssignment: 10
PenaltyBreakBeforeFirstCallParameter: 30
PenaltyBreakComment: 10
PenaltyBreakFirstLessLess: 0
PenaltyBreakString: 10
PenaltyExcessCharacter: 100
PenaltyReturnTypeOnItsOwnLine: 60

PointerAlignment: Right
ReflowComments: false
SkipMacroDefinitionBody: true
SortIncludes: false
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
StatementMacros:
- 'Q_OBJECT'
TabWidth: 8
TypenameMacros:
- 'DARRAY'
UseTab: ForContinuationAndIndentation
---
Language: ObjC
AccessModifierOffset: 2
AlignArrayOfStructures: Right
AlignConsecutiveAssignments: None
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: false
AcrossComments: true
AllowShortBlocksOnASingleLine: Never
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: None
AttributeMacros: ['__unused', '__autoreleasing', '_Nonnull', '__bridge']
BitFieldColonSpacing: Both
#BreakBeforeBraces: Webkit
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: Never
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: true
BreakAfterAttributes: Never
BreakArrays: false
BreakBeforeConceptDeclarations: Allowed
BreakBeforeInlineASMColon: OnlyMultiline
BreakConstructorInitializers: AfterColon
BreakInheritanceList: AfterComma
ColumnLimit: 120
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: true
IndentExternBlock: Indent
IndentGotoLabels: false
IndentRequiresClause: true
IndentWidth: 4
IndentWrappedFunctionNames: true
InsertBraces: false
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
LambdaBodyIndentation: Signature
NamespaceIndentation: All
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
ObjCBreakBeforeNestedBlockParam: false
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PPIndentWidth: -1
PackConstructorInitializers: NextLine
QualifierAlignment: Leave
ReferenceAlignment: Right
RemoveSemicolon: false
RequiresClausePosition: WithPreceding
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SortIncludes: false
#SortUsingDeclarations: LexicographicNumeric
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAroundPointerQualifiers: Default
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInConditionalStatement: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
Standard: c++20
TabWidth: 4
UseTab: Never
41 changes: 41 additions & 0 deletions .devcontainer/debian-forky/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# syntax=docker/dockerfile:1

# SPDX-FileCopyrightText: 2026 Kaito Udagawa <umireon@kaito.tokyo>
#
# SPDX-License-Identifier: Apache-2.0

FROM debian:forky-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
clang-format-19 \
cmake \
curl \
file \
git \
libcurl4-openssl-dev \
libobs-dev \
libonnxruntime-dev \
libopencv-dev \
ninja-build \
python3.13-venv \
sudo \
tar \
unzip \
zip \
&& rm -rf /var/lib/apt/lists/*

COPY --chmod=400 <<'EOF' /etc/sudoers.d/vscode
vscode ALL=(ALL) NOPASSWD: ALL
EOF

RUN groupadd -g 1000 vscode && useradd -u 1000 -g vscode -m vscode -s /bin/bash

USER vscode

RUN python3.13 -m venv /home/vscode/.venv && /home/vscode/.venv/bin/pip install --no-cache-dir gersemi

CMD ["/bin/bash"]

ENV PATH="/home/vscode/.venv/bin:$PATH"
23 changes: 23 additions & 0 deletions .devcontainer/debian-forky/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.schema.json",
"name": "Debian Forky",
"build": {
"dockerfile": "Dockerfile"
},
"remoteUser": "vscode",
"updateRemoteUserUID": true,
"containerEnv": {
"PLUGIN_BUILD_DIR": "/home/vscode/obs-backgroundremoval-build"
},
"postCreateCommand": "bin/setup",
"customizations": {
"vscode": {
"extensions": [
"editorconfig.editorconfig",
"ms-vscode.cmake-tools",
"ms-vscode.cpp-devtools",
"ms-vscode.cpptools-extension-pack"
]
}
}
}
3 changes: 3 additions & 0 deletions .devcontainer/debian-forky/devcontainer.json.license
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2026 Kaito Udagawa <umireon@kaito.tokyo>

SPDX-License-Identifier: Apache-2.0
41 changes: 41 additions & 0 deletions .devcontainer/ubuntu-resolute/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# syntax=docker/dockerfile:1

# SPDX-FileCopyrightText: 2026 Kaito Udagawa <umireon@kaito.tokyo>
#
# SPDX-License-Identifier: Apache-2.0

FROM ubuntu:resolute

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
clang-format-19 \
cmake \
curl \
file \
git \
libcurl4-openssl-dev \
libobs-dev \
libonnxruntime-dev \
libopencv-dev \
ninja-build \
python3.14-venv \
sudo \
tar \
unzip \
zip \
&& rm -rf /var/lib/apt/lists/*

COPY --chmod=400 <<'EOF' /etc/sudoers.d/vscode
vscode ALL=(ALL) NOPASSWD: ALL
EOF

RUN userdel ubuntu && rm -rf /home/ubuntu && groupadd -g 1000 vscode && useradd -u 1000 -g vscode -m vscode -s /bin/bash

USER vscode

RUN python3.14 -m venv /home/vscode/.venv && /home/vscode/.venv/bin/pip install --no-cache-dir gersemi

CMD ["/bin/bash"]

ENV PATH="/home/vscode/.venv/bin:$PATH"
23 changes: 23 additions & 0 deletions .devcontainer/ubuntu-resolute/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.schema.json",
"name": "Ubuntu Resolute",
"build": {
"dockerfile": "Dockerfile"
},
"remoteUser": "vscode",
"updateRemoteUserUID": true,
"containerEnv": {
"PLUGIN_BUILD_DIR": "/home/vscode/obs-backgroundremoval-build"
},
"postCreateCommand": "bin/setup",
"customizations": {
"vscode": {
"extensions": [
"editorconfig.editorconfig",
"ms-vscode.cmake-tools",
"ms-vscode.cpp-devtools",
"ms-vscode.cpptools-extension-pack"
]
}
}
}
3 changes: 3 additions & 0 deletions .devcontainer/ubuntu-resolute/devcontainer.json.license
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2026 Kaito Udagawa <umireon@kaito.tokyo>

SPDX-License-Identifier: Apache-2.0
19 changes: 19 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# SPDX-FileCopyrightText: 2026 Kaito Udagawa <umireon@kaito.tokyo>
#
# SPDX-License-Identifier: CC0-1.0

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2

[*.md]
trim_trailing_whitespace = false

[VERSION]
insert_final_newline = false
14 changes: 14 additions & 0 deletions .gersemirc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# SPDX-FileCopyrightText: 2018-2026 OBS Project and its contributors
# SPDX-FileCopyrightText: 2021-2026 Roy Shilkrot <roy.shil@gmail.com>
# SPDX-FileCopyrightText: 2023-2026 Kaito Udagawa <umireon@kaito.tokyo>
#
# SPDX-License-Identifier: GPL-3.0-or-later

# yaml-language-server: $schema=https://raw.githubusercontent.com/BlankSpruce/gersemi/master/gersemi/configuration.schema.json

definitions: []
line_length: 120
indent: 2
list_expansion: favour-inlining
unsafe: false
warn_about_unknown_commands: false
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.github/workflows/*.lock.yml linguist-generated=true merge=ours
6 changes: 6 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# SPDX-FileCopyrightText: 2021-2026 Roy Shilkrot <roy.shil@gmail.com>
# SPDX-FileCopyrightText: 2023-2026 Kaito Udagawa <umireon@kaito.tokyo>
#
# SPDX-License-Identifier: CC0-1.0

github: [royshil,umireon]
Loading