diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2a4047b..0a3f4df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,7 @@ on: workflow_dispatch env: PLUGIN_NAME: aitum-multistream - OBS_VERSION: 29.0.0-beta1 + OBS_VERSION: 30.0.0 jobs: macos: name: macOS @@ -18,7 +18,7 @@ jobs: env: CODESIGN_IDENT: '-' CODESIGN_IDENT_INSTALLER: '' - MACOSX_DEPLOYMENT_TARGET: '10.15' + MACOSX_DEPLOYMENT_TARGET: '11.0' defaults: run: shell: zsh {0} @@ -185,21 +185,18 @@ jobs: name: 'Windows Build' runs-on: [windows-latest] strategy: - fail-fast: true + fail-fast: false matrix: - target: [x64, x86] + target: [x64] include: - target: x64 cmake_build: 'x64' deps_ext: '64' - - target: x86 - cmake_build: 'Win32' - deps_ext: '32' env: QT_VERSION: '6.3.1' CMAKE_GENERATOR: "Visual Studio 17 2022" CMAKE_SYSTEM_VERSION: "10.0.18363.657" - WINDOWS_DEPS_VERSION: '2022-08-02' + WINDOWS_DEPS_VERSION: '2023-11-03' steps: - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v2 @@ -221,11 +218,11 @@ jobs: - name: 'Install prerequisite: QT' run: | curl -kLO https://github.com/obsproject/obs-deps/releases/download/${{ env.WINDOWS_DEPS_VERSION }}/windows-deps-qt6-${{ env.WINDOWS_DEPS_VERSION }}-${{ matrix.target }}.zip -f --retry 5 -C - - 7z x windows-deps-qt6-${{ env.WINDOWS_DEPS_VERSION }}-${{ matrix.target }}.zip -o"${{ github.workspace }}/cmbuild/deps" + 7z x windows-deps-qt6-${{ env.WINDOWS_DEPS_VERSION }}-${{ matrix.target }}.zip -o"${{ github.workspace }}/cmbuild/deps" -aoa - name: 'Install prerequisite: Pre-built dependencies' run: | curl -kLO https://github.com/obsproject/obs-deps/releases/download/${{ env.WINDOWS_DEPS_VERSION }}/windows-deps-${{ env.WINDOWS_DEPS_VERSION }}-${{ matrix.target }}.zip -f --retry 5 -C - - 7z x windows-deps-${{ env.WINDOWS_DEPS_VERSION }}-${{ matrix.target }}.zip -o"${{ github.workspace }}/cmbuild/deps" + 7z x windows-deps-${{ env.WINDOWS_DEPS_VERSION }}-${{ matrix.target }}.zip -o"${{ github.workspace }}/cmbuild/deps" -aoa - name: Configure run: | mkdir ./package @@ -269,15 +266,8 @@ jobs: $env:FILE_DATE=(Get-Date -UFormat "%F") $env:FILE_NAME="${{ env.PLUGIN_NAME }}-${env:FILE_DATE}-${{ github.sha }}-windows" echo "FILE_NAME=${env:FILE_NAME}" >> ${env:GITHUB_ENV} - $env:FILE_NAME_X86="${{ env.PLUGIN_NAME }}-${{ github.sha }}-windows-x86" - echo "FILE_NAME_X86=${env:FILE_NAME_X86}" >> ${env:GITHUB_ENV} $env:FILE_NAME_X64="${{ env.PLUGIN_NAME }}-${{ github.sha }}-windows-x64" echo "FILE_NAME_X64=${env:FILE_NAME_X64}" >> ${env:GITHUB_ENV} - - name: Retrieve x86 build - uses: actions/download-artifact@v4.1.2 - with: - name: '${{ env.FILE_NAME_X86 }}' - path: ./package - name: Retrieve x64 build uses: actions/download-artifact@v4.1.2 with: @@ -294,10 +284,6 @@ jobs: New-Item -ItemType directory -Path certificate Set-Content -Path certificate\certificate.txt -Value '${{ secrets.WINDOWS_CSC_LINK }}' certutil -decode certificate\certificate.txt certificate\certificate.pfx - - name: Code Sign 32 - if: success() && github.event_name != 'pull_request' - run: | - & 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.20348.0/x86/signtool.exe' sign /f certificate\certificate.pfx /p '${{ secrets.WINDOWS_CSC_PASS }}' /t http://timestamp.comodoca.com/authenticode .\package\obs-plugins\32bit\${{ env.PLUGIN_NAME }}.dll - name: Code Sign 64 if: success() && github.event_name != 'pull_request' run: | @@ -328,4 +314,4 @@ jobs: - name: Remove temp artifacts uses: geekyeggo/delete-artifact@v4.1.0 with: - name: "${{ env.FILE_NAME_X86 }}\n${{ env.FILE_NAME_X64 }}\ninstaller-files" + name: "${{ env.FILE_NAME_X64 }}\ninstaller-files" diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f9940a..881ecd2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,10 +32,10 @@ target_sources(${PROJECT_NAME} PRIVATE file-updater.h) if(BUILD_OUT_OF_TREE) + include(cmake/ObsPluginHelpers.cmake) find_package(libobs REQUIRED) find_package(obs-frontend-api REQUIRED) find_package(CURL REQUIRED) - include(cmake/ObsPluginHelpers.cmake) find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) set(OBS_FRONTEND_API_NAME "obs-frontend-api") else() diff --git a/buildspec.json b/buildspec.json index 3a780d8..f3a9a67 100644 --- a/buildspec.json +++ b/buildspec.json @@ -1,26 +1,26 @@ { "dependencies": { "obs-studio": { - "version": "29.1.0", + "version": "30.0.0", "repository": "https://github.com/obsproject/obs-studio.git", "branch": "master", - "hash": "c58e511813c33e93da7637d50aa431ae0cddda0c" + "hash": "34ef67e212f24a085a63705a0ab81e3401c8eca4" }, "prebuilt": { - "version": "2023-04-12", + "version": "2023-11-03", "baseUrl": "https://github.com/obsproject/obs-deps/releases/download", "label": "Pre-built obs-deps", "hashes": { - "macos-x86_64": "81120ffa33bb050c6c5fcd236e5cedfd7b80f7053fdba271fead5af20be0b5f5", - "macos-arm64": "b9bab79611774c4651d084e14259abe889d2b8d1653787a843d08cf3f0db881c", - "macos-universal": "9535c6e1ad96f7d49960251e85a245774088d48da1d602bb82f734b10219125a", - "windows-x86": "9f8582ab5891b000869d6484ea591add9fbac9f1c91b56c7b85fdfd56a261c1b", - "windows-x64": "c13a14a1acc4224b21304d97b63da4121de1ed6981297e50496fbc474abc0503", - "linux-x86_64": "056425a8a7a4a0c242ed5ab9c1eba4dd6b004386877de4304524e7bea11c0ee2" + "macos-x86_64": "b669dd1518b9350c307eff8102977c7eb7a8c8c10d677d4437862e66926b46ae", + "macos-arm64": "3a6e0e0f8fcca26821f5d842d6e09a31c2376515004ae19a5310ba576b95c63f", + "macos-universal": "90c2fc069847ec2768dcc867c1c63b112c615ed845a907dc44acab7a97181974", + "windows-x86": "b69c864275189464483c240ef3f25ea16fba3050b136fe6c3db6e9ee63036683", + "windows-x64": "d0825a6fb65822c993a3059edfba70d72d2e632ef74893588cf12b1f0d329ce6", + "linux-x86_64": "9217c6b70854a08575cc3debe85ed5496bb0d8a9de54a1f8148aa71ad71f98d6" } }, "qt5": { - "version": "2023-04-12", + "version": "2023-11-03", "baseUrl": "https://github.com/obsproject/obs-deps/releases/download", "label": "Pre-built Qt5", "hashes": { @@ -36,14 +36,14 @@ } }, "qt6": { - "version": "2023-04-12", + "version": "2023-11-03", "baseUrl": "https://github.com/obsproject/obs-deps/releases/download", "label": "Pre-built Qt6", "hashes": { "macos-x86_64": "2622d6ecd484a596da12b6a45b709fe563821eda558d0bbb27335c8c2f63945c", "macos-arm64": "4f72aa1103d88a00d90c01bb3650276ffa1408e16ef40579177605483b986dc9", - "macos-universal": "eb7614544ab4f3d2c6052c797635602280ca5b028a6b987523d8484222ce45d1", - "windows-x64": "4d39364b8a8dee5aa24fcebd8440d5c22bb4551c6b440ffeacce7d61f2ed1add", + "macos-universal": "ba4a7152848da0053f63427a2a2cb0a199af3992997c0db08564df6f48c9db98", + "windows-x64": "bc57dedf76b47119a6dce0435a2f21b35b08c8f2948b1cb34a157320f77732d1", "windows-x86": "24fc03bef153a0e027c1479e42eb08097a4ea1d70a4710825be0783d0626cb0d" }, "pdb-hashes": { @@ -55,7 +55,7 @@ "platformConfig": { "macos-x86_64": { "qtVersion": 6, - "deploymentTarget": "10.15" + "deploymentTarget": "11.0" }, "macos-arm64": { "qtVersion": 6, @@ -63,7 +63,7 @@ }, "macos-universal": { "qtVersion": 6, - "deploymentTarget": "10.15" + "deploymentTarget": "11.0" }, "windows-x64": { "qtVersion": 6, diff --git a/data/locale/en-US.ini b/data/locale/en-US.ini index a9ae439..f3e0007 100644 --- a/data/locale/en-US.ini +++ b/data/locale/en-US.ini @@ -8,9 +8,16 @@ VerticalCanvas="Vertical Canvas" General="General" MainCanvas="Main Canvas" MainOutput="Main Output" +MainEncoder="Main Encoder" SetupTroubleshooter="Setup Troubleshooter" Help="Help" AddOutput="AddOutput" Unnamed="Unnamed" Version="Version" MadeBy="made with ♡ by" +VideoEncoder="Video Encoder" +VideoEncoderIndex="Video Encoder Index" +Server="Server" +Key="Key" +Stream="Stream" +MainOutputNotActive="Main output not active!" \ No newline at end of file diff --git a/installer.iss.in b/installer.iss.in index d449023..9a9fcb2 100644 --- a/installer.iss.in +++ b/installer.iss.in @@ -41,7 +41,6 @@ Name: "english"; MessagesFile: "compiler:Default.isl" [Files] Source: "package/*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: "msvc-redist-helper.exe"; DestDir: "{app}"; DestName: "msvc-redist-helper.exe"; Flags: ignoreversion dontcopy noencryption ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] @@ -57,7 +56,9 @@ begin Result := ExpandConstant('{pf}\obs-studio'); // query the first registry value; if this succeeds, return the obtained value if RegQueryStringValue(HKLM32, 'SOFTWARE\OBS Studio', '', InstallPath) then - Result := InstallPath + Result := InstallPath; + if RegQueryStringValue(HKLM64, 'SOFTWARE\OBS Studio', '', InstallPath) then + Result := InstallPath; end; ///////////////////////////////////////////////////////////////////// @@ -107,25 +108,6 @@ begin Result := 1; end; -///////////////////////////////////////////////////////////////////// -procedure CurStepChanged(CurStep: TSetupStep); -var - ResultCode: Integer; -begin - if (CurStep=ssInstall) then - begin - if (IsUpgrade()) then - begin - UnInstallOldVersion(); - end; - end; - if (CurStep=ssPostInstall) then - begin - ExtractTemporaryFile('msvc-redist-helper.exe'); - Exec(ExpandConstant('{tmp}\msvc-redist-helper.exe'), '2019', '', SW_HIDE, ewWaitUntilTerminated, ResultCode); - end; -end; - ///////////////////////////////////////////////////////////////////// function NextButtonClick(PageId: Integer): Boolean; var @@ -153,8 +135,8 @@ begin ObsMajorVersion := ObsMS shr 16; { select only low 16 bits } ObsMinorVersion := ObsMS and $FFFF; - if ObsMajorVersion < 29 then begin - MsgBox('Version of OBS Studio (bin\64bit\obs64.exe) is lower than the version 29 required.', mbError, MB_OK); + if ObsMajorVersion < 30 then begin + MsgBox('Version of OBS Studio (bin\64bit\obs64.exe) is lower than the version 30 required.', mbError, MB_OK); Result := False; exit; end; diff --git a/multistream.cpp b/multistream.cpp index 80fdc9b..37a50ca 100644 --- a/multistream.cpp +++ b/multistream.cpp @@ -483,17 +483,10 @@ bool MultistreamDock::StartOutput(obs_data_t *settings, QPushButton *streamButto auto service = obs_service_create("rtmp_custom", name, s, nullptr); obs_data_release(s); -#if LIBOBS_API_VER < MAKE_SEMANTIC_VERSION(29, 1, 0) - const char *type = obs_service_get_output_type(service); -#else + const char *type = obs_service_get_preferred_output_type(service); -#endif if (!type) { -#if LIBOBS_API_VER < MAKE_SEMANTIC_VERSION(29, 1, 0) - const char *url = obs_service_get_url(service); -#else const char *url = obs_service_get_connect_info(service, OBS_SERVICE_CONNECT_INFO_SERVER_URL); -#endif type = "rtmp_output"; if (url != NULL && strncmp(url, "ftl", 3) == 0) { type = "ftl_output";