diff --git a/CI/before-deploy-osx.sh b/CI/before-deploy-osx.sh index 7c092c4..236c0d0 100755 --- a/CI/before-deploy-osx.sh +++ b/CI/before-deploy-osx.sh @@ -41,6 +41,10 @@ fi cp /usr/local/opt/mbedtls/lib/libmbedtls.12.dylib ./OBS.app/Contents/Frameworks/ cp /usr/local/opt/mbedtls/lib/libmbedcrypto.3.dylib ./OBS.app/Contents/Frameworks/ cp /usr/local/opt/mbedtls/lib/libmbedx509.0.dylib ./OBS.app/Contents/Frameworks/ +chmod +w ./OBS.app/Contents/Frameworks/*.dylib +install_name_tool -id @executable_path/../Frameworks/libmbedtls.12.dylib ./OBS.app/Contents/Frameworks/libmbedtls.12.dylib +install_name_tool -id @executable_path/../Frameworks/libmbedcrypto.3.dylib ./OBS.app/Contents/Frameworks/libmbedcrypto.3.dylib +install_name_tool -id @executable_path/../Frameworks/libmbedx509.0.dylib ./OBS.app/Contents/Frameworks/libmbedx509.0.dylib install_name_tool -change /usr/local/opt/mbedtls/lib/libmbedtls.12.dylib @executable_path/../Frameworks/libmbedtls.12.dylib ./OBS.app/Contents/Plugins/obs-outputs.so install_name_tool -change /usr/local/opt/mbedtls/lib/libmbedcrypto.3.dylib @executable_path/../Frameworks/libmbedcrypto.3.dylib ./OBS.app/Contents/Plugins/obs-outputs.so install_name_tool -change /usr/local/opt/mbedtls/lib/libmbedx509.0.dylib @executable_path/../Frameworks/libmbedx509.0.dylib ./OBS.app/Contents/Plugins/obs-outputs.so @@ -49,13 +53,13 @@ install_name_tool -change @rpath/libobs.0.dylib @executable_path/../Frameworks/l # copy sparkle into the app hr "Copying Sparkle.framework" -cp -r ../../sparkle/Sparkle.framework ./OBS.app/Contents/Frameworks/ +cp -R ../../sparkle/Sparkle.framework ./OBS.app/Contents/Frameworks/ install_name_tool -change @rpath/Sparkle.framework/Versions/A/Sparkle @executable_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle ./OBS.app/Contents/MacOS/obs # Copy Chromium embedded framework to app Frameworks directory hr "Copying Chromium Embedded Framework.framework" sudo mkdir -p OBS.app/Contents/Frameworks -sudo cp -r ../../cef_binary_${CEF_BUILD_VERSION}_macosx64/Release/Chromium\ Embedded\ Framework.framework OBS.app/Contents/Frameworks/ +sudo cp -R ../../cef_binary_${CEF_BUILD_VERSION}_macosx64/Release/Chromium\ Embedded\ Framework.framework OBS.app/Contents/Frameworks/ install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/Plugins/obs-browser.so install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Plugins/obs-browser.so diff --git a/CI/install/osx/Info.plist b/CI/install/osx/Info.plist index 7eed962..074e14a 100644 --- a/CI/install/osx/Info.plist +++ b/CI/install/osx/Info.plist @@ -9,13 +9,11 @@ CFBundleGetInfoString OBS - Free and Open Source Streaming/Recording Software CFBundleExecutable - OBS + obs CFBundleIdentifier com.obsproject.obs-studio CFBundlePackageType APPL - CFBundleSignature - ???? LSMinimumSystemVersion 10.8.5 NSHighResolutionCapable diff --git a/CI/install/osx/packageApp.sh b/CI/install/osx/packageApp.sh index e3175b9..d0a3b89 100755 --- a/CI/install/osx/packageApp.sh +++ b/CI/install/osx/packageApp.sh @@ -6,10 +6,10 @@ mkdir OBS.app/Contents/MacOS mkdir OBS.app/Contents/Plugins mkdir OBS.app/Contents/Resources -cp -r rundir/RelWithDebInfo/bin/ ./OBS.app/Contents/MacOS -cp -r rundir/RelWithDebInfo/data ./OBS.app/Contents/Resources +cp -R rundir/RelWithDebInfo/bin/ ./OBS.app/Contents/MacOS +cp -R rundir/RelWithDebInfo/data ./OBS.app/Contents/Resources cp ../CI/install/osx/obs.icns ./OBS.app/Contents/Resources -cp -r rundir/RelWithDebInfo/obs-plugins/ ./OBS.app/Contents/Plugins +cp -R rundir/RelWithDebInfo/obs-plugins/ ./OBS.app/Contents/Plugins cp ../CI/install/osx/Info.plist ./OBS.app/Contents ../CI/install/osx/dylibBundler -b -cd -d ./OBS.app/Contents/Frameworks -p @executable_path/../Frameworks/ \ @@ -46,10 +46,16 @@ cp ../CI/install/osx/Info.plist ./OBS.app/Contents mv ./OBS.app/Contents/MacOS/libobs-opengl.so ./OBS.app/Contents/Frameworks # put qt network in here becasuse streamdeck uses it -cp -r /usr/local/opt/qt/lib/QtNetwork.framework ./OBS.app/Contents/Frameworks -chmod +w ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork +cp -R /usr/local/opt/qt/lib/QtNetwork.framework ./OBS.app/Contents/Frameworks +chmod -R +w ./OBS.app/Contents/Frameworks/QtNetwork.framework +rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/Headers +rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/QtNetwork.prl +rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/Headers/ +chmod 644 ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/Resources/Info.plist +install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork install_name_tool -change /usr/local/Cellar/qt/5.10.1/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork + # decklink ui qt install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/Plugins/decklink-ouput-ui.so install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Plugins/decklink-ouput-ui.so diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index 1e2e7a4..2eddc5c 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -1059,21 +1059,27 @@ bool OBSApp::InitTheme() defaultPalette = palette(); const char *themeName = - config_get_string(globalConfig, "General", "CurrentTheme"); + config_get_string(globalConfig, "General", "CurrentTheme2"); - if (!themeName) { + if (!themeName) + /* Use deprecated "CurrentTheme" value if available */ + themeName = config_get_string(globalConfig, "General", + "CurrentTheme"); + if (!themeName) /* Use deprecated "Theme" value if available */ themeName = config_get_string(globalConfig, "General", "Theme"); - if (!themeName) - themeName = DEFAULT_THEME; - if (!themeName) - themeName = "Dark"; - } + if (!themeName) + themeName = DEFAULT_THEME; + if (!themeName) + themeName = "Dark"; if (strcmp(themeName, "Default") == 0) themeName = "System"; - return SetTheme(themeName); + if (strcmp(themeName, "System") != 0 && SetTheme(themeName)) + return true; + + return SetTheme("System"); } OBSApp::OBSApp(int &argc, char **argv, profiler_name_store_t *store) diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index d62f312..25d7205 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -2726,7 +2726,7 @@ void OBSBasicSettings::SaveGeneralSettings() themeData = DEFAULT_THEME; if (WidgetChanged(ui->theme)) { - config_set_string(GetGlobalConfig(), "General", "CurrentTheme", + config_set_string(GetGlobalConfig(), "General", "CurrentTheme2", QT_TO_UTF8(themeData)); App()->SetTheme(themeData.toUtf8().constData()); diff --git a/UI/window-extra-browsers.cpp b/UI/window-extra-browsers.cpp index e90d172..d754d45 100644 --- a/UI/window-extra-browsers.cpp +++ b/UI/window-extra-browsers.cpp @@ -536,7 +536,7 @@ void OBSBasic::AddExtraBrowserDock(const QString &title, const QString &url, /* Add support for Twitch Dashboard panels */ if (url.contains("twitch.tv/popout") && url.contains("dashboard/live")) { - QRegularExpression re("twitch.tv\/popout\/([^/]+)\/"); + QRegularExpression re("twitch.tv\\/popout\\/([^/]+)\\/"); QRegularExpressionMatch match = re.match(url); QString username = match.captured(1); if (username.length() > 0) { diff --git a/libobs/obs-cocoa.m b/libobs/obs-cocoa.m index 7f261d0..4f0d30d 100644 --- a/libobs/obs-cocoa.m +++ b/libobs/obs-cocoa.m @@ -1754,6 +1754,10 @@ bool obs_hotkeys_platform_is_pressed(obs_hotkeys_platform_t *plat, IOHIDValueRef value = 0; IOHIDDeviceRef device = IOHIDElementGetDevice(element); + if (device == NULL) { + continue; + } + if (IOHIDDeviceGetValue(device, element, &value) != kIOReturnSuccess) { i += 1; diff --git a/libobs/obs-config.h b/libobs/obs-config.h index acc5d73..127004d 100644 --- a/libobs/obs-config.h +++ b/libobs/obs-config.h @@ -41,7 +41,7 @@ * * Reset to zero each major or minor version */ -#define LIBOBS_API_PATCH_VER 5 +#define LIBOBS_API_PATCH_VER 6 #define MAKE_SEMANTIC_VERSION(major, minor, patch) \ ((major << 24) | (minor << 16) | patch) diff --git a/plugins/rtmp-services/data/package.json b/plugins/rtmp-services/data/package.json index a297b2d..efdf496 100755 --- a/plugins/rtmp-services/data/package.json +++ b/plugins/rtmp-services/data/package.json @@ -1,10 +1,10 @@ { "url": "https://obsproject.com/obs2_update/rtmp-services", - "version": 114, + "version": 116, "files": [ { "name": "services.json", - "version": 114 + "version": 116 } ] } diff --git a/plugins/rtmp-services/data/services.json b/plugins/rtmp-services/data/services.json index 724e6e2..f3bbee3 100755 --- a/plugins/rtmp-services/data/services.json +++ b/plugins/rtmp-services/data/services.json @@ -573,7 +573,7 @@ "recommended": { "keyint": 2, "profile": "main", - "max video bitrate": 4000, + "max video bitrate": 6000, "max audio bitrate": 128 } },