generated from obsproject/obs-plugintemplate
-
-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update to support OBS v28.0.0 and v29.0.0 (#53)
* Updates from new plugin template * Removed old clang github action * Allowed building on all commits * buildspec updates * Fixed linux build * Fix windows pthread linking * Fix duplicate target_link_libraries calls * Include pthread.h * Try direct w32-pthread linking * Fixed windows build * Fixed CMakeLists.txt formatting * Fixed installation target for Ubuntu 22.04.1 * Refactored manual refresh on frontend startup Issue that was present on gdiplus now showed up in freetype2. Janky existing fix was refactored to be added to text-freetype2 * Re-added cmake installation call for macos cmake on linux will perform the local install after building while macos will not. This re-adds the installation call for macos so the packaging script does not fail * Fixed styling error * Pulled in missing commits from obs-studio main repo * Patch for non-interactive text sources on startup On startup and text creation there was an issue where the slideshow would not be interactable. For freetype2 this was due to the new text source returning a width and height of 0. Subsequent updates after the first update would fix the issue. Some code to dynamically keep track of the width and height when available was added to the video render callback. It is a janky fix until the freetype2 issue of not properly setting the width and height can be fixed * Switched to unordered_set for size patch over DARRAY * Cleared out of date sources and updated comment * Single file delimiter parsing fixes (#49) * Complete rewrite of delim parsing logic Complete rewrite of the delim parsing logic with a custom multi character strtok implmentation to fix a lot of the lingering delim parsing bugs due to strtok limitations * Refactor and rewrite delim file parsing Overhaul and refactor delimeter file reading and parsing * Fixed windows build errors * Fix for multi file support Fix for multi file support which was broken by the empty width/height patch * Attempt to fix Ubuntu locale install path (#50)
- Loading branch information
Showing
85 changed files
with
4,777 additions
and
1,903 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
"additional_commands": { | ||
"find_qt": { | ||
"flags": [], | ||
"kwargs": { | ||
"COMPONENTS": "+", | ||
"COMPONENTS_WIN": "+", | ||
"COMPONENTS_MACOS": "+", | ||
"COMPONENTS_LINUX": "+" | ||
} | ||
} | ||
}, | ||
"format": { | ||
"line_width": 100 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
name: 'Setup and build plugin' | ||
description: 'Builds the plugin for specified architecture and build config.' | ||
inputs: | ||
target: | ||
description: 'Build target for dependencies' | ||
required: true | ||
config: | ||
description: 'Build configuration' | ||
required: false | ||
default: 'Release' | ||
codesign: | ||
description: 'Enable codesigning (macOS only)' | ||
required: false | ||
default: 'false' | ||
codesignIdent: | ||
description: 'Developer ID for application codesigning (macOS only)' | ||
required: false | ||
default: '-' | ||
visualStudio: | ||
description: 'Visual Studio version (Windows only)' | ||
required: false | ||
default: 'Visual Studio 16 2019' | ||
workingDirectory: | ||
description: 'Working directory for packaging' | ||
required: false | ||
default: ${{ github.workspace }} | ||
runs: | ||
using: 'composite' | ||
steps: | ||
- name: Run macOS Build | ||
if: ${{ runner.os == 'macOS' }} | ||
shell: zsh {0} | ||
env: | ||
CODESIGN_IDENT: ${{ inputs.codesignIdent }} | ||
run: | | ||
build_args=( | ||
-c ${{ inputs.config }} | ||
-t macos-${{ inputs.target }} | ||
) | ||
if [[ '${{ inputs.codesign }}' == 'true' ]] build_args+=(-s) | ||
if (( ${+CI} && ${+RUNNER_DEBUG} )) build_args+=(--debug) | ||
${{ inputs.workingDirectory }}/.github/scripts/build-macos.zsh ${build_args} | ||
- name: Run Linux Build | ||
if: ${{ runner.os == 'Linux' }} | ||
shell: bash | ||
run: | | ||
build_args=( | ||
-c ${{ inputs.config }} | ||
-t linux-${{ inputs.target }} | ||
) | ||
if [[ -n "${CI}" && -n "${RUNNER_DEBUG}" ]]; then | ||
build_args+=(--debug) | ||
fi | ||
${{ inputs.workingDirectory }}/.github/scripts/build-linux.sh "${build_args[@]}" | ||
- name: Run Windows Build | ||
if: ${{ runner.os == 'Windows' }} | ||
shell: pwsh | ||
run: | | ||
$BuildArgs = @{ | ||
Target = '${{ inputs.target }}' | ||
Configuration = '${{ inputs.config }}' | ||
CMakeGenerator = '${{ inputs.visualStudio }}' | ||
} | ||
if ( ( Test-Path env:CI ) -and ( Test-Path env:RUNNER_DEBUG ) ) { | ||
$BuildArgs += @{ | ||
Debug = $true | ||
} | ||
} | ||
${{ inputs.workingDirectory }}/.github/scripts/Build-Windows.ps1 @BuildArgs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
name: 'Package plugin' | ||
description: 'Packages the plugin for specified architecture and build config.' | ||
inputs: | ||
target: | ||
description: 'Build target for dependencies' | ||
required: true | ||
config: | ||
description: 'Build configuration' | ||
required: false | ||
default: 'Release' | ||
codesign: | ||
description: 'Enable codesigning (macOS only)' | ||
required: false | ||
default: 'false' | ||
notarize: | ||
description: 'Enable notarization (macOS only)' | ||
required: false | ||
default: 'false' | ||
codesignIdent: | ||
description: 'Developer ID for application codesigning (macOS only)' | ||
required: false | ||
default: '-' | ||
installerIdent: | ||
description: 'Developer ID for installer package codesigning (macOS only)' | ||
required: false | ||
default: '' | ||
codesignUser: | ||
description: 'Apple ID username for notarization (macOS only)' | ||
required: false | ||
default: '' | ||
codesignPass: | ||
description: 'Apple ID password for notarization (macOS only)' | ||
required: false | ||
default: '' | ||
createInstaller: | ||
description: 'Create InnoSetup installer (Windows only)' | ||
required: false | ||
default: 'false' | ||
workingDirectory: | ||
description: 'Working directory for packaging' | ||
required: false | ||
default: ${{ github.workspace }} | ||
runs: | ||
using: 'composite' | ||
steps: | ||
- name: Run macOS packaging | ||
if: ${{ runner.os == 'macOS' }} | ||
shell: zsh {0} | ||
env: | ||
CODESIGN_IDENT: ${{ inputs.codesignIdent }} | ||
CODESIGN_IDENT_INSTALLER: ${{ inputs.installerIdent }} | ||
CODESIGN_IDENT_USER: ${{ inputs.codesignUser }} | ||
CODESIGN_IDENT_PASS: ${{ inputs.codesignPass }} | ||
run: | | ||
package_args=( | ||
-c ${{ inputs.config }} | ||
-t macos-${{ inputs.target }} | ||
) | ||
if [[ '${{ inputs.codesign }}' == 'true' ]] package_args+=(-s) | ||
if [[ '${{ inputs.notarize }}' == 'true' ]] package_args+=(-n) | ||
if (( ${+CI} && ${+RUNNER_DEBUG} )) build_args+=(--debug) | ||
${{ inputs.workingDirectory }}/.github/scripts/package-macos.zsh ${package_args} | ||
- name: Run Linux packaging | ||
if: ${{ runner.os == 'Linux' }} | ||
shell: bash | ||
run: | | ||
package_args=( | ||
-c ${{ inputs.config }} | ||
-t linux-${{ inputs.target }} | ||
) | ||
if [[ -n "${CI}" && -n "${RUNNER_DEBUG}" ]]; then | ||
build_args+=(--debug) | ||
fi | ||
${{ inputs.workingDirectory }}/.github/scripts/package-linux.sh "${package_args[@]}" | ||
- name: Run Windows packaging | ||
if: ${{ runner.os == 'Windows' }} | ||
shell: pwsh | ||
run: | | ||
$PackageArgs = @{ | ||
Target = '${{ inputs.target }}' | ||
Configuration = '${{ inputs.config }}' | ||
} | ||
if ( '${{ inputs.createInstaller }}' -eq 'true' ) { | ||
$PackageArgs += @{BuildInstaller = $true} | ||
} | ||
if ( ( Test-Path env:CI ) -and ( Test-Path env:RUNNER_DEBUG ) ) { | ||
$BuildArgs += @{ | ||
Debug = $true | ||
} | ||
} | ||
${{ inputs.workingDirectory }}/.github/scripts/Package-Windows.ps1 @PackageArgs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package 'cmake' | ||
package 'ccache' | ||
package 'curl' | ||
package 'git' | ||
package 'jq' | ||
package 'ninja-build', bin: 'ninja' | ||
package 'pkg-config' | ||
package 'clang' | ||
package 'clang-format-13' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
brew "ccache" | ||
brew "coreutils" | ||
brew "cmake" | ||
brew "git" | ||
brew "jq" | ||
brew "ninja" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
package '7zip.7zip', path: '7-zip', bin: '7z' | ||
package 'cmake', path: 'Cmake\bin', bin: 'cmake' | ||
package 'innosetup', path: 'Inno Setup 6', bin: 'iscc' |
Oops, something went wrong.