Compare commits

...

10 Commits
5.3.2 ... 5.3.5

Author SHA1 Message Date
7a1c71bb96 base: Update version to 5.3.5
- CMake update, no functional changes
2023-12-22 16:38:27 -05:00
cf285b3761 cmake: Update formatting and switch to native find_package call for Qt6 2023-12-20 15:09:11 -05:00
ede66a68cb Update translations from Crowdin 2023-12-05 22:04:30 +00:00
e8089a5bbf base: Update version to 5.3.4
- eventhandler: Disconnect signals from all public sources on shutdown
- websocketserver: Check for EventHandler validity in de/constructor
2023-12-05 14:15:04 -05:00
07537a33fa websocketserver: Check for EventHandler validity in de/constructor
Redundant fix for shutdown crash
2023-11-14 00:07:05 -08:00
efeae8d640 eventhandler: Disconnect signals from all public sources on shutdown
Fixes crash on shutdown when memory leaks lead to un-destroyed
sources after plugin shutdown.
2023-11-14 00:07:05 -08:00
4ff109b62b base: Update version to 5.3.3
- Update translations and docs
2023-10-16 10:42:15 -04:00
42da47f81d docs(ci): Update generated docs - a889799 [skip ci] 2023-10-13 21:25:41 +00:00
a889799655 docs: Update introduction header to 5.x.x
We don't need to be having specific versions here, considering each event/request has its own "added at" version.
2023-10-13 14:25:23 -07:00
f52f47ec5d Update translations from Crowdin 2023-10-10 13:34:40 +00:00
15 changed files with 147 additions and 59 deletions

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16...3.25)
legacy_check()
set(obs-websocket_VERSION 5.3.2)
set(obs-websocket_VERSION 5.3.5)
set(OBS_WEBSOCKET_RPC_VERSION 1)
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
@ -12,7 +12,7 @@ if(NOT ENABLE_WEBSOCKET)
endif()
# Find Qt
find_qt(COMPONENTS Core Widgets Svg Network)
find_package(Qt6 REQUIRED Core Widgets Svg Network)
# Find nlohmann JSON
find_package(nlohmann_json 3 REQUIRED)
@ -31,51 +31,53 @@ find_package(Asio 1.12.1 REQUIRED)
add_library(obs-websocket MODULE)
add_library(OBS::websocket ALIAS obs-websocket)
target_sources(obs-websocket PRIVATE)
target_sources(
obs-websocket
PRIVATE src/obs-websocket.cpp
src/obs-websocket.h
PRIVATE # cmake-format: sortable
lib/obs-websocket-api.h
src/Config.cpp
src/Config.h
lib/obs-websocket-api.h
src/forms/ConnectInfo.cpp
src/forms/ConnectInfo.h
src/forms/resources.qrc
src/forms/SettingsDialog.cpp
src/forms/SettingsDialog.h
src/obs-websocket.cpp
src/obs-websocket.h
src/WebSocketApi.cpp
src/WebSocketApi.h)
target_sources(
obs-websocket
PRIVATE src/websocketserver/WebSocketServer.cpp
src/websocketserver/WebSocketServer_Protocol.cpp
src/websocketserver/WebSocketServer.h
PRIVATE # cmake-format: sortable
src/websocketserver/rpc/WebSocketSession.h
src/websocketserver/types/WebSocketCloseCode.h
src/websocketserver/types/WebSocketOpCode.h)
src/websocketserver/types/WebSocketOpCode.h
src/websocketserver/WebSocketServer.cpp
src/websocketserver/WebSocketServer.h
src/websocketserver/WebSocketServer_Protocol.cpp)
target_sources(
obs-websocket
PRIVATE src/eventhandler/EventHandler.cpp
PRIVATE # cmake-format: sortable
src/eventhandler/EventHandler.cpp
src/eventhandler/EventHandler.h
src/eventhandler/EventHandler_Config.cpp
src/eventhandler/EventHandler_General.cpp
src/eventhandler/EventHandler_Filters.cpp
src/eventhandler/EventHandler_General.cpp
src/eventhandler/EventHandler_Inputs.cpp
src/eventhandler/EventHandler_MediaInputs.cpp
src/eventhandler/EventHandler_Outputs.cpp
src/eventhandler/EventHandler_Scenes.cpp
src/eventhandler/EventHandler_SceneItems.cpp
src/eventhandler/EventHandler_Scenes.cpp
src/eventhandler/EventHandler_Transitions.cpp
src/eventhandler/EventHandler_Ui.cpp
src/eventhandler/types/EventSubscription.h)
target_sources(
obs-websocket
PRIVATE src/requesthandler/RequestBatchHandler.cpp
PRIVATE # cmake-format: sortable
src/requesthandler/RequestBatchHandler.cpp
src/requesthandler/RequestBatchHandler.h
src/requesthandler/RequestHandler.cpp
src/requesthandler/RequestHandler.h
@ -85,10 +87,10 @@ target_sources(
src/requesthandler/RequestHandler_Inputs.cpp
src/requesthandler/RequestHandler_MediaInputs.cpp
src/requesthandler/RequestHandler_Outputs.cpp
src/requesthandler/RequestHandler_Sources.cpp
src/requesthandler/RequestHandler_Record.cpp
src/requesthandler/RequestHandler_Scenes.cpp
src/requesthandler/RequestHandler_SceneItems.cpp
src/requesthandler/RequestHandler_Scenes.cpp
src/requesthandler/RequestHandler_Sources.cpp
src/requesthandler/RequestHandler_Stream.cpp
src/requesthandler/RequestHandler_Transitions.cpp
src/requesthandler/RequestHandler_Ui.cpp
@ -98,12 +100,13 @@ target_sources(
src/requesthandler/rpc/RequestBatchRequest.h
src/requesthandler/rpc/RequestResult.cpp
src/requesthandler/rpc/RequestResult.h
src/requesthandler/types/RequestStatus.h
src/requesthandler/types/RequestBatchExecutionType.h)
src/requesthandler/types/RequestBatchExecutionType.h
src/requesthandler/types/RequestStatus.h)
target_sources(
obs-websocket
PRIVATE src/utils/Compat.cpp
PRIVATE # cmake-format: sortable
src/utils/Compat.cpp
src/utils/Compat.h
src/utils/Crypto.cpp
src/utils/Crypto.h
@ -115,8 +118,8 @@ target_sources(
src/utils/Obs_ArrayHelper.cpp
src/utils/Obs_NumberHelper.cpp
src/utils/Obs_ObjectHelper.cpp
src/utils/Obs_StringHelper.cpp
src/utils/Obs_SearchHelper.cpp
src/utils/Obs_StringHelper.cpp
src/utils/Obs_VolumeMeter.cpp
src/utils/Obs_VolumeMeter.h
src/utils/Obs_VolumeMeter_Helpers.h
@ -133,14 +136,19 @@ target_compile_definitions(
target_compile_options(
obs-websocket
PRIVATE
$<$<PLATFORM_ID:Windows>:/wd4267>
$<$<PLATFORM_ID:Windows>:/wd4996>
$<$<PLATFORM_ID:Darwin,Linux,FreeBSD>:-Wall>
$<$<COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang>:-Wno-error=float-conversion;-Wno-error=shadow>
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=format-overflow;-Wno-error=int-conversion;-Wno-error=comment>
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=null-pointer-subtraction;-Wno-error=deprecated-declarations;-Wno-error=implicit-int-conversion;-Wno-error=shorten-64-to-32;-Wno-comma;-Wno-quoted-include-in-framework-header>
)
PRIVATE $<$<PLATFORM_ID:Windows>:/wd4267>
$<$<COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang>:-Wall>
$<$<COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang>:-Wno-error=float-conversion>
$<$<COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang>:-Wno-error=shadow>
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=format-overflow>
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=int-conversion>
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=comment>
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=null-pointer-subtraction>
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=deprecated-declarations>
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=implicit-int-conversion>
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=shorten-64-to-32>
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-comma>
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-quoted-include-in-framework-header>)
target_link_libraries(
obs-websocket
@ -155,6 +163,8 @@ target_link_libraries(
Asio::Asio
qrcodegencpp::qrcodegencpp)
target_link_options(obs-websocket PRIVATE $<$<PLATFORM_ID:Windows>:/IGNORE:4099>)
set_target_properties_obs(
obs-websocket
PROPERTIES FOLDER plugins
@ -168,6 +178,4 @@ if(OS_WINDOWS)
TARGET obs-websocket
APPEND
PROPERTY AUTORCC_OPTIONS --format-version 1)
target_link_options(obs-websocket PRIVATE /IGNORE:4099)
endif()

View File

@ -1,4 +1,4 @@
project(obs-websocket VERSION 5.3.2)
project(obs-websocket VERSION 5.3.5)
set(OBS_WEBSOCKET_RPC_VERSION 1)
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)

View File

@ -1,9 +1,35 @@
OBSWebSocket.Plugin.Description="Afstandbeheer van OBS deur WebSocket"
OBSWebSocket.Settings.DialogTitle="WebSocket-bedienerinstellings"
OBSWebSocket.Settings.PluginSettingsTitle="Inpropinstellings"
OBSWebSocket.Settings.ServerEnable="Aktiveer WebSocket-diens"
OBSWebSocket.Settings.ServerSettingsTitle="Bedienerinstellings"
OBSWebSocket.Settings.Password="Bedienerwagwoord"
OBSWebSocket.Settings.GeneratePassword="Genereer wagwoord"
OBSWebSocket.Settings.ServerPort="Bedienerpoort"
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Waarskuwing: Tans regstreeks"
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Dit lyk of n afvoer (stroom, opname, ens.) tans aktief is."
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Is u seker u wil u verbindingsinligting laat sien?"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Waarskuwing: potensiële beveiligingsprobleem"
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websok bewaar die bedienerwagwoord as platteks. Dit word ten sterkste aanbeveel om n wagwoord wat deur obs-websok geskep is te gebruik."
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Is u seker u wil u eie wagwoord gebruik?"
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Fout: Ongeldige opstalling"
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="U moet n wagwoord van meet as 6 karakters gebruik."
OBSWebSocket.SessionTable.Title="Gekoppelde WebSocket-sessies"
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Afstandsadres"
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Sessieduur"
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Boodskappe In/Uit"
OBSWebSocket.SessionTable.IdentifiedTitle="Geïdentifiseer"
OBSWebSocket.SessionTable.KickButtonColumnTitle="Verwyder?"
OBSWebSocket.SessionTable.KickButtonText="Verwyder"
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket-verbindingsinligting"
OBSWebSocket.ConnectInfo.CopyText="Kopieer"
OBSWebSocket.ConnectInfo.ServerIp="Bediener-IP (beste skatting)"
OBSWebSocket.ConnectInfo.ServerPort="Bedienerpoort"
OBSWebSocket.ConnectInfo.ServerPassword="Bedienerwagwoord"
OBSWebSocket.ConnectInfo.QrTitle="Koppel QR"
OBSWebSocket.TrayNotification.Identified.Title="Nuwe WebSocket-koppeling"
OBSWebSocket.TrayNotification.Identified.Body="Kliënt %1 geïdentifiseer."
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket-waarmerkfout"
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Kliënt %1 kon nie waarmerk nie."
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket-kliënt is ontkoppel"
OBSWebSocket.TrayNotification.Disconnected.Body="Kliënt %1 is ontkoppel."

View File

@ -4,7 +4,7 @@ OBSWebSocket.Settings.PluginSettingsTitle="Plugineinstellungen"
OBSWebSocket.Settings.ServerEnable="WebSocket-Server aktivieren"
OBSWebSocket.Settings.AlertsEnable="Warnungen im Infobereich aktivieren"
OBSWebSocket.Settings.DebugEnable="Debug-Logging aktivieren"
OBSWebSocket.Settings.DebugEnableHoverText="Aktiviert Debug-Logging für die aktuelle OBS-Instanz.\nVerwenden Sie „--websocket_debug“, damit die Option beim Laden aktiviert wird."
OBSWebSocket.Settings.DebugEnableHoverText="Aktiviert Debug-Logging für die aktuelle OBS-Instanz.\nVerwenden Sie „--websocket_debug“, damit die Option beim Starten aktiviert wird."
OBSWebSocket.Settings.ServerSettingsTitle="Servereinstellungen"
OBSWebSocket.Settings.AuthRequired="Authentifizierung aktivieren"
OBSWebSocket.Settings.Password="Serverpasswort"
@ -28,7 +28,7 @@ OBSWebSocket.SessionTable.KickButtonColumnTitle="Entfernen?"
OBSWebSocket.SessionTable.KickButtonText="Entfernen"
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket-Verbindungsinformationen"
OBSWebSocket.ConnectInfo.CopyText="Kopieren"
OBSWebSocket.ConnectInfo.ServerIp="Server-IP (geschätzt)"
OBSWebSocket.ConnectInfo.ServerIp="Server-IP (Geschätzt)"
OBSWebSocket.ConnectInfo.ServerPort="Serverport"
OBSWebSocket.ConnectInfo.ServerPassword="Serverpasswort"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="Authentifizierung deaktiviert"

View File

@ -16,9 +16,9 @@ OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Il semble qu'une sortie (st
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Êtes-vous sûr de vouloir afficher vos informations de connexion ?"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Avertissement : Problème potentiel de sécurité"
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket enregistre le mot de passe du serveur en texte brut. L'utilisation d'un mot de passe généré par obs-websocket est fortement recommandée."
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Êtes-vous sûr de vouloir utiliser votre propre mot de passe ?"
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Êtes-vous sûr(e) de vouloir utiliser votre propre mot de passe ?"
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Erreur : Configuration invalide"
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Vous devez utiliser un mot de passe d'au moins 6 caractères"
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Vous devez utiliser un mot de passe de 6 caractères ou plus."
OBSWebSocket.SessionTable.Title="Sessions WebSocket connectées"
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Adresse distante"
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Durée de session"
@ -30,7 +30,7 @@ OBSWebSocket.ConnectInfo.DialogTitle="Informations de connexion WebSocket"
OBSWebSocket.ConnectInfo.CopyText="Copier"
OBSWebSocket.ConnectInfo.ServerIp="IP du serveur (meilleure estimation)"
OBSWebSocket.ConnectInfo.ServerPort="Port serveur"
OBSWebSocket.ConnectInfo.ServerPassword="Mot de passe serveur"
OBSWebSocket.ConnectInfo.ServerPassword="Mot de passe du serveur"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Authentification désactivée]"
OBSWebSocket.ConnectInfo.QrTitle="QR code de connexion"
OBSWebSocket.TrayNotification.Identified.Title="Nouvelle connexion WebSocket"

View File

@ -1 +1,10 @@
OBSWebSocket.Settings.DialogTitle="Postavke servera WebSocket"
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Pogreška: Neispravna konfiguracija"
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Lozinka mora sadržavati barem 6 znakova."
OBSWebSocket.SessionTable.Title="Spojene sesije WebSocketa"
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Udaljena adresa"
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Trajanje sesije"
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Ulaz/izlaz poruka"
OBSWebSocket.ConnectInfo.CopyText="Kopiraj"
OBSWebSocket.ConnectInfo.ServerPort="Vrata servera"
OBSWebSocket.ConnectInfo.ServerPassword="Lozinka servera"

View File

@ -1,4 +1,5 @@
OBSWebSocket.Plugin.Description="Kawalan-jauh OBS Studio melalui WebSocket"
OBSWebSocket.Settings.DialogTitle="Tetapan Pelayan WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Tetapan Pemalam"
OBSWebSocket.Settings.ServerEnable="Benarkan pelayan WebSocket"
OBSWebSocket.Settings.AlertsEnable="Benarkan Amaran Talam Sistem"

View File

@ -1,2 +1,25 @@
OBSWebSocket.Settings.DialogTitle="WebSocket-tjenerinnstillinger"
OBSWebSocket.Settings.PluginSettingsTitle="Utvidelsesinnstillinger"
OBSWebSocket.Settings.ServerSettingsTitle="Tjenerinnstillinger"
OBSWebSocket.Settings.AuthRequired="Skru på autentisering"
OBSWebSocket.Settings.Password="Server Passord"
OBSWebSocket.Settings.GeneratePassword="Generer Passord"
OBSWebSocket.Settings.ShowConnectInfo="Vis tilkoblingsinfo"
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Advarsel: For øyeblikket på direktesending"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Advarsel: Potensielt sikkerhetsproblem"
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Feil: Ugyldig konfigurasjon"
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Du må bruke et passord på minst 6 tegn."
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Ekstern adresse"
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Øktens varighet"
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Innboks/Utboks"
OBSWebSocket.SessionTable.IdentifiedTitle="Identifisert"
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket-tilkoblingsinfo"
OBSWebSocket.ConnectInfo.CopyText="Kopier"
OBSWebSocket.ConnectInfo.ServerIp="Tjenerens IP (beste gjetning)"
OBSWebSocket.ConnectInfo.ServerPort="Tjenerport"
OBSWebSocket.ConnectInfo.ServerPassword="Tjenerpassord"
OBSWebSocket.ConnectInfo.QrTitle="QR-tilkobling"
OBSWebSocket.TrayNotification.Identified.Title="Ny WebSocket-tilkobling"
OBSWebSocket.TrayNotification.Identified.Body="Klient %1 er identifisert."
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket-klient koblet fra"
OBSWebSocket.TrayNotification.Disconnected.Body="Klient %1 koblet fra."

View File

@ -1,16 +1,16 @@
OBSWebSocket.Plugin.Description="Control de la distanță pentru OBS Studio prin WebSocket"
OBSWebSocket.Settings.DialogTitle="Setări ale server-ului WebSocket"
OBSWebSocket.Settings.DialogTitle="Setări pentru serverul WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Setări pentru plugin"
OBSWebSocket.Settings.ServerEnable="Activează serverul WebSocket"
OBSWebSocket.Settings.AlertsEnable="Activează alertele din bara de sistem"
OBSWebSocket.Settings.DebugEnable="Activează jurnalizarea de depanare"
OBSWebSocket.Settings.DebugEnableHoverText="Activează jurnalizarea de depanare pentru instanța actuală de OBS. Nu persistă la încărcare.\nFolosește --websocket_debug pentru a activa la încărcare."
OBSWebSocket.Settings.ServerSettingsTitle="Setări server"
OBSWebSocket.Settings.DebugEnable="Activează jurnalizarea pentru depanare"
OBSWebSocket.Settings.DebugEnableHoverText="Activează jurnalizarea pentru depanare în cazul instanței actuale de OBS. Nu persistă la încărcare.\nFolosește --websocket_debug pentru a activa la încărcare."
OBSWebSocket.Settings.ServerSettingsTitle="Setări pentru server"
OBSWebSocket.Settings.AuthRequired="Activează autentificarea"
OBSWebSocket.Settings.Password="Parola serverului"
OBSWebSocket.Settings.GeneratePassword="Generează parola"
OBSWebSocket.Settings.ServerPort="Portul serverului"
OBSWebSocket.Settings.ShowConnectInfo="Afișează informațiile de conectare"
OBSWebSocket.Settings.ShowConnectInfo="Afișează informațiile conexiunii"
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Avertisment: În prezent în direct"
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Se pare că un output (transmisiune, înregistrare etc.) este activ în prezent."
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Sigur vrei să afișezi informațiile de conectare?"
@ -24,17 +24,17 @@ OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Adresă la distanță"
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Durata sesiunii"
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Mesaje de intrare/ieșire"
OBSWebSocket.SessionTable.IdentifiedTitle="Identificat"
OBSWebSocket.SessionTable.KickButtonColumnTitle="Înlătură?"
OBSWebSocket.SessionTable.KickButtonColumnTitle="Înlături?"
OBSWebSocket.SessionTable.KickButtonText="Înlătură"
OBSWebSocket.ConnectInfo.DialogTitle="Informații de conectare WebSocket"
OBSWebSocket.ConnectInfo.DialogTitle="Informațiile conexiunii WebSocket"
OBSWebSocket.ConnectInfo.CopyText="Copiază"
OBSWebSocket.ConnectInfo.ServerIp="IP-ul serverului (cea mai bună presupunere)"
OBSWebSocket.ConnectInfo.ServerPort="Portul serverului"
OBSWebSocket.ConnectInfo.ServerPassword="Parola serverului"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autentificare dezactivată]"
OBSWebSocket.ConnectInfo.QrTitle="Conectare QR"
OBSWebSocket.ConnectInfo.QrTitle="QR de conectare"
OBSWebSocket.TrayNotification.Identified.Title="O nouă conexiune WebSocket"
OBSWebSocket.TrayNotification.Identified.Body="Client %1 identificat."
OBSWebSocket.TrayNotification.Identified.Body="Clientul %1 identificat."
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Eroare de autentificare WebSocket"
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Client %1 nu a reușit să se autentifice."
OBSWebSocket.TrayNotification.Disconnected.Title="Client WebSocket deconectat"

View File

@ -6,13 +6,13 @@ OBSWebSocket.Settings.AlertsEnable="Включить оповещения в т
OBSWebSocket.Settings.DebugEnable="Включить отладочный журнал"
OBSWebSocket.Settings.DebugEnableHoverText="Включает ведение журнала отладки для текущего экземпляра OBS. Не сохраняется при запуске.\nИспользуйте --websocket_debug для включения при запуске."
OBSWebSocket.Settings.ServerSettingsTitle="Настройки сервера"
OBSWebSocket.Settings.AuthRequired="Включить аутентификацию"
OBSWebSocket.Settings.AuthRequired="Включить вход в аккаунт"
OBSWebSocket.Settings.Password="Пароль сервера"
OBSWebSocket.Settings.GeneratePassword="Сгенерировать пароль"
OBSWebSocket.Settings.GeneratePassword="Создать пароль"
OBSWebSocket.Settings.ServerPort="Порт сервера"
OBSWebSocket.Settings.ShowConnectInfo="Показать сведения о подключении"
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Предупреждение: Сейчас в эфире"
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Похоже, что вывод (поток, запись и т. д.) в настоящее время активен."
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Похоже, что вывод (поток, запись и т. д.) в настоящее время уже выбран."
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Уверены, что хотите показать ваши сведения о подключении?"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Предупреждение: Потенциальная проблема безопасности"
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket хранит пароль сервера в виде обычного текста. Настоятельно рекомендуется использовать пароль, сгенерированный obs-websock."
@ -31,11 +31,11 @@ OBSWebSocket.ConnectInfo.CopyText="Копировать"
OBSWebSocket.ConnectInfo.ServerIp="IP сервера (лучшая догадка)"
OBSWebSocket.ConnectInfo.ServerPort="Порт сервера"
OBSWebSocket.ConnectInfo.ServerPassword="Пароль сервера"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Авторизация отключена]"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Вход отключён]"
OBSWebSocket.ConnectInfo.QrTitle="QR-код подключения"
OBSWebSocket.TrayNotification.Identified.Title="Новое подключение WebSocket"
OBSWebSocket.TrayNotification.Identified.Body="Клиент %1 распознан."
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Ошибка аутентификации WebSocket"
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Клиент %1 не смог аутентифицироваться."
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Ошибка входа WebSocket"
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Клиент %1 не смог войти."
OBSWebSocket.TrayNotification.Disconnected.Title="Клиент WebSocket отключился"
OBSWebSocket.TrayNotification.Disconnected.Body="Клиент %1 отключился."

View File

@ -29,7 +29,7 @@ OBSWebSocket.SessionTable.KickButtonText="Çıkar"
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket Bağlanma Bilgileri"
OBSWebSocket.ConnectInfo.CopyText="Kopyala"
OBSWebSocket.ConnectInfo.ServerIp="Sunucu IP (En İyi Tahmin)"
OBSWebSocket.ConnectInfo.ServerPort="Sunucu Kapısı"
OBSWebSocket.ConnectInfo.ServerPort="Sunucu Portu"
OBSWebSocket.ConnectInfo.ServerPassword="Sunucu Parolası"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Doğrulama Devre Dışı]"
OBSWebSocket.ConnectInfo.QrTitle="Kare Kod ile Bağlan"

View File

@ -1,5 +1,5 @@
# obs-websocket 5.1.0 Protocol
# obs-websocket 5.x.x Protocol
## Main Table of Contents

View File

@ -1,7 +1,7 @@
<!-- This file was automatically generated. Do not edit directly! -->
<!-- markdownlint-disable no-bare-urls -->
# obs-websocket 5.1.0 Protocol
# obs-websocket 5.x.x Protocol
## Main Table of Contents

View File

@ -54,6 +54,20 @@ EventHandler::~EventHandler()
blog(LOG_ERROR, "[EventHandler::~EventHandler] Unable to get libobs signal handler!");
}
// Revoke callbacks of all inputs and scenes, in case some still have our callbacks attached
auto enumInputs = [](void *param, obs_source_t *source) {
auto eventHandler = static_cast<EventHandler *>(param);
eventHandler->DisconnectSourceSignals(source);
return true;
};
obs_enum_sources(enumInputs, this);
auto enumScenes = [](void *param, obs_source_t *source) {
auto eventHandler = static_cast<EventHandler *>(param);
eventHandler->DisconnectSourceSignals(source);
return true;
};
obs_enum_scenes(enumScenes, this);
blog_debug("[EventHandler::~EventHandler] Finished.");
}

View File

@ -49,14 +49,21 @@ WebSocketServer::WebSocketServer() : QObject(nullptr)
websocketpp::lib::placeholders::_2));
auto eventHandler = GetEventHandler();
if (eventHandler) {
eventHandler->SetBroadcastCallback(std::bind(&WebSocketServer::BroadcastEvent, this, std::placeholders::_1,
std::placeholders::_2, std::placeholders::_3, std::placeholders::_4));
eventHandler->SetObsReadyCallback(std::bind(&WebSocketServer::onObsReady, this, std::placeholders::_1));
}
}
WebSocketServer::~WebSocketServer()
{
auto eventHandler = GetEventHandler();
if (eventHandler) {
eventHandler->SetObsReadyCallback(nullptr);
eventHandler->SetBroadcastCallback(nullptr);
}
if (_server.is_listening())
Stop();
}