Compare commits

..

13 Commits
5.1.0 ... 5.2.0

Author SHA1 Message Date
7ca8d5fc2b base: Update version to 5.2.0
- Fixed a crash caused if `authentication` payload field was not a
string
- Allow empty vendor request data
- Minor documentation fixes
- Replace submodules with obs-deps or system versions where possible
  - asio
  - websocketpp
  - nlohmann/json
- Refactor CMake to allow uplift to new obs-studio CMake
2023-03-26 19:30:00 -04:00
db2c251189 base: Re-add version CMake variables
Make sure that non-legacy builds have these version variables populated.
2023-03-26 19:09:51 -04:00
dd248faecb cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:21:05 -04:00
68d79b22af base: Disable Qt RCC timestamps only on Windows 2023-03-24 12:29:19 -04:00
b06da5fa63 base: Disable Qt RCC timestamps 2023-03-23 18:20:34 -04:00
78a1b54a47 base,deps: Replace submodules by prefix/system install
nlohmann JSON, WebSocket++ and Asio are moved from sudmodules to
prefix (obs-deps) or system-wide install (Linux).
2023-03-23 17:37:51 -04:00
bf277011f9 base: Refactor CMake Qt properties
- Allow obs-deps to be used by not changing CMAKE_PREFIX_PATH.
- Move Qt AUTO properties to the target.
2023-03-23 17:37:51 -04:00
96032e0e8c requesthandler: Allow empty vendor request data 2023-02-08 10:10:44 -08:00
ddd139255b Update translations from Crowdin 2023-01-08 04:10:35 +00:00
edf29e828c docs(ci): Update generated docs - 079ab31 [skip ci] 2022-12-31 22:55:24 +00:00
079ab31f88 docs: Fix small typo in introduction.md
- Corrected 'compatability' to 'compatibility' in docs/docs/partials/introduction.md
2022-12-31 14:55:04 -08:00
e797a3fb34 websocketserver: Validate data type of authentication payload field
Can cause crash if field is not a string

Reported by @tyami94
2022-12-31 14:54:11 -08:00
a792c59699 docs(ci): Update generated docs - 31f9845 [skip ci] 2022-11-18 10:29:29 +00:00
52 changed files with 525 additions and 171 deletions

View File

@ -1,13 +1,46 @@
{
"additional_commands": {
"find_qt": {
"flags": [],
"kwargs": {
"COMPONENTS": "+",
"COMPONENTS_WIN": "+",
"COMPONENTS_MACOS": "+",
"COMPONENTS_LINUX": "+"
"format": {
"line_width": 120,
"tab_size": 2,
"enable_sort": true,
"autosort": true
},
"additional_commands": {
"find_qt": {
"flags": [],
"kwargs": {
"COMPONENTS": "+",
"COMPONENTS_WIN": "+",
"COMPONENTS_MACOS": "+",
"COMPONENTS_LINUX": "+"
}
},
"set_target_properties_obs": {
"pargs": 1,
"flags": [],
"kwargs": {
"PROPERTIES": {
"kwargs": {
"PREFIX": 1,
"OUTPUT_NAME": 1,
"FOLDER": 1,
"VERSION": 1,
"SOVERSION": 1,
"FRAMEWORK": 1,
"BUNDLE": 1,
"AUTOMOC": 1,
"AUTOUIC": 1,
"AUTORCC": 1,
"AUTOUIC_SEARCH_PATHS": 1,
"BUILD_RPATH": 1,
"INSTALL_RPATH": 1,
"XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC": 1,
"XCODE_ATTRIBUTE_CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION": 1,
"XCODE_ATTRIBUTE_GCC_WARN_SHADOW":1 ,
"LIBRARY_OUTPUT_DIRECTORY": 1
}
}
}
}
}
}

9
.gitmodules vendored
View File

@ -1,12 +1,3 @@
[submodule "deps/websocketpp"]
path = deps/websocketpp
url = https://github.com/zaphoyd/websocketpp.git
[submodule "deps/asio"]
path = deps/asio
url = https://github.com/chriskohlhoff/asio.git
[submodule "deps/json"]
path = deps/json
url = https://github.com/nlohmann/json.git
[submodule "deps/qr"]
path = deps/qr
url = https://github.com/nayuki/QR-Code-generator.git

View File

@ -1,52 +1,38 @@
project(obs-websocket VERSION 5.1.0)
cmake_minimum_required(VERSION 3.16...3.25)
legacy_check()
set(obs-websocket_VERSION 5.2.0)
set(OBS_WEBSOCKET_RPC_VERSION 1)
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
if(NOT ENABLE_WEBSOCKET OR NOT ENABLE_UI)
message(STATUS "OBS: DISABLED obs-websocket")
if(NOT ENABLE_WEBSOCKET)
target_disable(obs-websocket)
return()
endif()
# Submodule deps check
if(NOT
(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/deps/json/CMakeLists.txt
AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/deps/websocketpp/CMakeLists.txt
AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp
AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/deps/asio/asio/include/asio.hpp))
obs_status(FATAL_ERROR "obs-websocket submodule deps not available.")
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp")
message(FATAL_ERROR "obs-websocket submodule deps not available.")
endif()
# Plugin tests flag
option(PLUGIN_TESTS "Enable plugin runtime tests" OFF)
# Qt build stuff
set(CMAKE_PREFIX_PATH "${QTDIR}")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) # For resources.qrc
# Find Qt
find_qt(COMPONENTS Core Widgets Svg Network)
# Find nlohmann
set(JSON_BuildTests
OFF
CACHE INTERNAL "")
add_subdirectory(deps/json)
# Find nlohmann JSON
find_package(nlohmann_json 3 REQUIRED)
# Tell websocketpp not to use system boost
add_definitions(-DASIO_STANDALONE)
# Find WebSocket++
find_package(Websocketpp 0.8 REQUIRED)
# Configure files
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/plugin-macros.h.in
${CMAKE_CURRENT_SOURCE_DIR}/src/plugin-macros.generated.h)
# Find Asio
find_package(Asio 1.12.1 REQUIRED)
# Setup target
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
@ -54,50 +40,59 @@ target_sources(
src/Config.cpp
src/Config.h
lib/obs-websocket-api.h
src/forms/SettingsDialog.cpp
src/forms/SettingsDialog.h
src/forms/ConnectInfo.cpp
src/forms/ConnectInfo.h
src/forms/resources.qrc
src/forms/SettingsDialog.cpp
src/forms/SettingsDialog.h
src/WebSocketApi.cpp
src/WebSocketApi.h
src/websocketserver/WebSocketServer.cpp
src/WebSocketApi.h)
target_sources(
obs-websocket
PRIVATE src/websocketserver/WebSocketServer.cpp
src/websocketserver/WebSocketServer_Protocol.cpp
src/websocketserver/WebSocketServer.h
src/websocketserver/rpc/WebSocketSession.cpp
src/websocketserver/rpc/WebSocketSession.h
src/websocketserver/types/WebSocketCloseCode.h
src/websocketserver/types/WebSocketOpCode.h
src/eventhandler/EventHandler.cpp
src/eventhandler/EventHandler_General.cpp
src/eventhandler/EventHandler_Config.cpp
src/eventhandler/EventHandler_Scenes.cpp
src/eventhandler/EventHandler_Inputs.cpp
src/eventhandler/EventHandler_Transitions.cpp
src/eventhandler/EventHandler_Filters.cpp
src/eventhandler/EventHandler_Outputs.cpp
src/eventhandler/EventHandler_SceneItems.cpp
src/eventhandler/EventHandler_MediaInputs.cpp
src/eventhandler/EventHandler_Ui.cpp
src/websocketserver/types/WebSocketOpCode.h)
target_sources(
obs-websocket
PRIVATE src/eventhandler/EventHandler.cpp
src/eventhandler/EventHandler.h
src/eventhandler/types/EventSubscription.h
src/requesthandler/RequestHandler.cpp
src/requesthandler/RequestHandler_General.cpp
src/requesthandler/RequestHandler_Config.cpp
src/requesthandler/RequestHandler_Sources.cpp
src/requesthandler/RequestHandler_Scenes.cpp
src/requesthandler/RequestHandler_Inputs.cpp
src/requesthandler/RequestHandler_Transitions.cpp
src/requesthandler/RequestHandler_Filters.cpp
src/requesthandler/RequestHandler_SceneItems.cpp
src/requesthandler/RequestHandler_Outputs.cpp
src/requesthandler/RequestHandler_Stream.cpp
src/requesthandler/RequestHandler_Record.cpp
src/requesthandler/RequestHandler_MediaInputs.cpp
src/requesthandler/RequestHandler_Ui.cpp
src/requesthandler/RequestHandler.h
src/requesthandler/RequestBatchHandler.cpp
src/eventhandler/EventHandler_Config.cpp
src/eventhandler/EventHandler_General.cpp
src/eventhandler/EventHandler_Filters.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_Transitions.cpp
src/eventhandler/EventHandler_Ui.cpp
src/eventhandler/types/EventSubscription.h)
target_sources(
obs-websocket
PRIVATE src/requesthandler/RequestBatchHandler.cpp
src/requesthandler/RequestBatchHandler.h
src/requesthandler/RequestHandler.cpp
src/requesthandler/RequestHandler.h
src/requesthandler/RequestHandler_Config.cpp
src/requesthandler/RequestHandler_Filters.cpp
src/requesthandler/RequestHandler_General.cpp
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_Stream.cpp
src/requesthandler/RequestHandler_Transitions.cpp
src/requesthandler/RequestHandler_Ui.cpp
src/requesthandler/rpc/Request.cpp
src/requesthandler/rpc/Request.h
src/requesthandler/rpc/RequestBatchRequest.cpp
@ -105,34 +100,52 @@ target_sources(
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)
target_sources(
obs-websocket
PRIVATE src/utils/Compat.cpp
src/utils/Compat.h
src/utils/Crypto.cpp
src/utils/Crypto.h
src/utils/Json.cpp
src/utils/Json.h
src/utils/Obs.cpp
src/utils/Obs_StringHelper.cpp
src/utils/Obs_NumberHelper.cpp
src/utils/Obs_ArrayHelper.cpp
src/utils/Obs_ObjectHelper.cpp
src/utils/Obs_SearchHelper.cpp
src/utils/Obs_ActionHelper.cpp
src/utils/Obs.h
src/utils/Obs_ActionHelper.cpp
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_VolumeMeter.cpp
src/utils/Obs_VolumeMeter.h
src/utils/Obs_VolumeMeter_Helpers.h
src/utils/Platform.cpp
src/utils/Platform.h
src/utils/Compat.cpp
src/utils/Compat.h
src/utils/Utils.h
deps/qr/cpp/QrCode.cpp
deps/qr/cpp/QrCode.hpp)
src/utils/Utils.h)
target_include_directories(
target_sources(obs-websocket PRIVATE deps/qr/cpp/QrCode.cpp deps/qr/cpp/QrCode.hpp)
configure_file(src/plugin-macros.h.in src/plugin-macros.generated.h)
target_sources(obs-websocket PRIVATE src/plugin-macros.generated.h)
target_compile_definitions(
obs-websocket PRIVATE ASIO_STANDALONE $<$<BOOL:PLUGIN_TESTS>:PLUGIN_TESTS>
$<$<PLATFORM_ID:Windows>:_WEBSOCKETPP_CPP11_STL_> $<$<PLATFORM_ID:Windows>:_WIN32_WINNT=0x0603>)
target_compile_options(
obs-websocket
PRIVATE ${Qt5Core_INCLUDES} ${Qt5Widgets_INCLUDES} ${Qt5Svg_INCLUDES}
${Qt5Network_INCLUDES} "deps/asio/asio/include" "deps/websocketpp")
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>
)
target_include_directories(obs-websocket PRIVATE deps/asio/asio/include deps/websocketpp)
target_link_libraries(
obs-websocket
@ -142,33 +155,21 @@ target_link_libraries(
Qt::Widgets
Qt::Svg
Qt::Network
nlohmann_json::nlohmann_json)
nlohmann_json::nlohmann_json
Websocketpp::Websocketpp
Asio::Asio)
target_compile_features(obs-websocket PRIVATE cxx_std_17)
set_target_properties_obs(
obs-websocket
PROPERTIES FOLDER plugins
PREFIX ""
AUTOMOC ON
AUTOUIC ON
AUTORCC ON)
set_target_properties(obs-websocket PROPERTIES FOLDER "plugins/obs-websocket")
if(PLUGIN_TESTS)
target_compile_definitions(obs-websocket PRIVATE PLUGIN_TESTS)
if(OS_WINDOWS)
set_property(
TARGET obs-websocket
APPEND
PROPERTY AUTORCC_OPTIONS --format-version 1)
endif()
# Random other things
if(WIN32)
add_definitions(-D_WEBSOCKETPP_CPP11_STL_)
endif()
if(MSVC)
target_compile_options(obs-websocket PRIVATE /wd4267 /wd4996)
else()
target_compile_options(
obs-websocket
PRIVATE
-Wall
"$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=format-overflow>"
"$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=null-pointer-subtraction;-Wno-error=deprecated-declarations>"
)
endif()
# Final CMake helpers
setup_plugin_target(obs-websocket)
setup_target_resources(obs-websocket "obs-plugins/obs-websocket")

173
cmake/legacy.cmake Normal file
View File

@ -0,0 +1,173 @@
project(obs-websocket VERSION 5.2.0)
set(OBS_WEBSOCKET_RPC_VERSION 1)
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
if(NOT ENABLE_WEBSOCKET OR NOT ENABLE_UI)
message(STATUS "OBS: DISABLED obs-websocket")
return()
endif()
# Submodule deps check
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp)
obs_status(FATAL_ERROR "obs-websocket submodule deps not available.")
endif()
# Plugin tests flag
option(PLUGIN_TESTS "Enable plugin runtime tests" OFF)
# Find Qt
find_qt(COMPONENTS Core Widgets Svg Network)
# Find nlohmann JSON
find_package(nlohmann_json 3 REQUIRED)
# Find WebSocket++
find_package(Websocketpp 0.8 REQUIRED)
# Find Asio
find_package(Asio 1.12.1 REQUIRED)
# Tell websocketpp not to use system boost
add_definitions(-DASIO_STANDALONE)
# Configure files
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/plugin-macros.h.in
${CMAKE_CURRENT_SOURCE_DIR}/src/plugin-macros.generated.h)
# Setup target
add_library(obs-websocket MODULE)
add_library(OBS::websocket ALIAS obs-websocket)
set_target_properties(
obs-websocket
PROPERTIES AUTOMOC ON
AUTOUIC ON
AUTORCC ON)
if(_QT_VERSION EQUAL 6 AND OS_WINDOWS)
set_target_properties(obs-websocket PROPERTIES AUTORCC_OPTIONS "--format-version;1")
endif()
target_sources(
obs-websocket
PRIVATE src/obs-websocket.cpp
src/obs-websocket.h
src/Config.cpp
src/Config.h
lib/obs-websocket-api.h
src/forms/SettingsDialog.cpp
src/forms/SettingsDialog.h
src/forms/ConnectInfo.cpp
src/forms/ConnectInfo.h
src/forms/resources.qrc
src/WebSocketApi.cpp
src/WebSocketApi.h
src/websocketserver/WebSocketServer.cpp
src/websocketserver/WebSocketServer_Protocol.cpp
src/websocketserver/WebSocketServer.h
src/websocketserver/rpc/WebSocketSession.cpp
src/websocketserver/rpc/WebSocketSession.h
src/websocketserver/types/WebSocketCloseCode.h
src/websocketserver/types/WebSocketOpCode.h
src/eventhandler/EventHandler.cpp
src/eventhandler/EventHandler_General.cpp
src/eventhandler/EventHandler_Config.cpp
src/eventhandler/EventHandler_Scenes.cpp
src/eventhandler/EventHandler_Inputs.cpp
src/eventhandler/EventHandler_Transitions.cpp
src/eventhandler/EventHandler_Filters.cpp
src/eventhandler/EventHandler_Outputs.cpp
src/eventhandler/EventHandler_SceneItems.cpp
src/eventhandler/EventHandler_MediaInputs.cpp
src/eventhandler/EventHandler_Ui.cpp
src/eventhandler/EventHandler.h
src/eventhandler/types/EventSubscription.h
src/requesthandler/RequestHandler.cpp
src/requesthandler/RequestHandler_General.cpp
src/requesthandler/RequestHandler_Config.cpp
src/requesthandler/RequestHandler_Sources.cpp
src/requesthandler/RequestHandler_Scenes.cpp
src/requesthandler/RequestHandler_Inputs.cpp
src/requesthandler/RequestHandler_Transitions.cpp
src/requesthandler/RequestHandler_Filters.cpp
src/requesthandler/RequestHandler_SceneItems.cpp
src/requesthandler/RequestHandler_Outputs.cpp
src/requesthandler/RequestHandler_Stream.cpp
src/requesthandler/RequestHandler_Record.cpp
src/requesthandler/RequestHandler_MediaInputs.cpp
src/requesthandler/RequestHandler_Ui.cpp
src/requesthandler/RequestHandler.h
src/requesthandler/RequestBatchHandler.cpp
src/requesthandler/RequestBatchHandler.h
src/requesthandler/rpc/Request.cpp
src/requesthandler/rpc/Request.h
src/requesthandler/rpc/RequestBatchRequest.cpp
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/utils/Crypto.cpp
src/utils/Crypto.h
src/utils/Json.cpp
src/utils/Json.h
src/utils/Obs.cpp
src/utils/Obs_StringHelper.cpp
src/utils/Obs_NumberHelper.cpp
src/utils/Obs_ArrayHelper.cpp
src/utils/Obs_ObjectHelper.cpp
src/utils/Obs_SearchHelper.cpp
src/utils/Obs_ActionHelper.cpp
src/utils/Obs.h
src/utils/Obs_VolumeMeter.cpp
src/utils/Obs_VolumeMeter.h
src/utils/Obs_VolumeMeter_Helpers.h
src/utils/Platform.cpp
src/utils/Platform.h
src/utils/Compat.cpp
src/utils/Compat.h
src/utils/Utils.h
deps/qr/cpp/QrCode.cpp
deps/qr/cpp/QrCode.hpp)
target_link_libraries(
obs-websocket
PRIVATE OBS::libobs
OBS::frontend-api
Qt::Core
Qt::Widgets
Qt::Svg
Qt::Network
nlohmann_json::nlohmann_json
Websocketpp::Websocketpp
Asio::Asio)
target_compile_features(obs-websocket PRIVATE cxx_std_17)
set_target_properties(obs-websocket PROPERTIES FOLDER "plugins/obs-websocket")
if(PLUGIN_TESTS)
target_compile_definitions(obs-websocket PRIVATE PLUGIN_TESTS)
endif()
# Random other things
if(WIN32)
add_definitions(-D_WEBSOCKETPP_CPP11_STL_)
endif()
if(MSVC)
target_compile_options(obs-websocket PRIVATE /wd4267 /wd4996)
else()
target_compile_options(
obs-websocket
PRIVATE
-Wall
"$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=format-overflow>"
"$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=null-pointer-subtraction;-Wno-error=deprecated-declarations>"
)
endif()
# Final CMake helpers
setup_plugin_target(obs-websocket)
setup_target_resources(obs-websocket "obs-plugins/obs-websocket")

28
cmake/macos/Info.plist.in Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>obs-websocket</string>
<key>CFBundleIdentifier</key>
<string>com.obsproject.obs-websocket</string>
<key>CFBundleVersion</key>
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
<key>CFBundleShortVersionString</key>
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleExecutable</key>
<string>obs-websocket</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>LSMinimumSystemVersion</key>
<string>${CMAKE_OSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
<string>(c) 2016-${CURRENT_YEAR} Stéphane Lepin, Kyle Manning</string>
</dict>
</plist>

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="التحكم عن بعد في استوديو OBS من خلال WebSocket"
OBSWebSocket.Settings.DialogTitle="إعدادات obs-websocket"
OBSWebSocket.Settings.DialogTitle="إعدادات خادم WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="إعدادات الإضافات"
OBSWebSocket.Settings.ServerEnable="تمكين خادم WebSocket"
OBSWebSocket.Settings.AlertsEnable="تمكين تنبيهات شريط النظام"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Control remot de l'OBS Studio mitjançant un servidor web"
OBSWebSocket.Settings.DialogTitle="Configuració del servidor web de l'OBS"
OBSWebSocket.Settings.DialogTitle="Configuració del servidor WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Configuració del complement"
OBSWebSocket.Settings.ServerEnable="Habilita el servidor web"
OBSWebSocket.Settings.AlertsEnable="Habilita les notificacions a la barra de tasques"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Vzdálené ovládání OBS Studia přes WebSocket"
OBSWebSocket.Settings.DialogTitle="Nastavení obs-websocket"
OBSWebSocket.Settings.DialogTitle="Nastavení WebSocket serveru"
OBSWebSocket.Settings.PluginSettingsTitle="Nastavení pluginu"
OBSWebSocket.Settings.ServerEnable="Povolit WebSocketový server"
OBSWebSocket.Settings.AlertsEnable="Povolit upozornění v systémové liště"

View File

@ -1,5 +1,4 @@
OBSWebSocket.Plugin.Description="Fjernstyring af OBS Studio via WebSocket"
OBSWebSocket.Settings.DialogTitle="obs-websocket Indstillinger"
OBSWebSocket.Settings.PluginSettingsTitle="Plugin-indstillinger"
OBSWebSocket.Settings.ServerEnable="Aktivér WebSocket-server"
OBSWebSocket.Settings.AlertsEnable="Aktivér Systembakke Alarmer"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="OBS Studio per WebSocket fernsteuern"
OBSWebSocket.Settings.DialogTitle="obs-websocket-Einstellungen"
OBSWebSocket.Settings.DialogTitle="WebSocket-Servereinstellungen"
OBSWebSocket.Settings.PluginSettingsTitle="Plugineinstellungen"
OBSWebSocket.Settings.ServerEnable="WebSocket-Server aktivieren"
OBSWebSocket.Settings.AlertsEnable="Warnungen im Infobereich aktivieren"

42
data/locale/el-GR.ini Normal file
View File

@ -0,0 +1,42 @@
OBSWebSocket.Plugin.Description="Απομακρυσμένος έλεγχος του OBS Studio μέσω WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Ρυθμίσεις Προσθέτων"
OBSWebSocket.Settings.ServerEnable="Ενεργοποίηση διακομιστή WebSocket"
OBSWebSocket.Settings.AlertsEnable="Ενεργοποίηση Ειδοποιήσεων στο System Tray"
OBSWebSocket.Settings.DebugEnable="Ενεργοποίηση καταγραφής σφαλμάτων"
OBSWebSocket.Settings.DebugEnableHoverText="Ενεργοποιεί την καταγραφή σφαλμάτων για την τρέχουσα εικόνα του OBS. Δεν επιμένει κατά τη φόρτωση.\nΧρησιμοποίησε το --websocket_debug για να ενεργοποιηθεί κατά τη φόρτωση."
OBSWebSocket.Settings.ServerSettingsTitle="Ρυθμίσεις Διακομιστή"
OBSWebSocket.Settings.AuthRequired="Ενεργοποίηση Επαλήθευσης Στοιχείων"
OBSWebSocket.Settings.Password="Κωδικός Διακομιστή"
OBSWebSocket.Settings.GeneratePassword="Δημιουργία Κωδικού"
OBSWebSocket.Settings.ServerPort="Θύρα Διακομιστή"
OBSWebSocket.Settings.ShowConnectInfo="Εμφάνιση Πληροφοριών Σύνδεσης"
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Προειδοποίηση: Ενεργό επί του Παρόντος"
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Φαίνεται ότι μια έξοδος (ροή, εγγραφή, κλπ.) είναι ενεργή αυτή τη στιγμή."
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Είστε βέβαιοι ότι θέλετε να εμφανιστούν οι πληροφορίες σύνδεσης σας?"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Προειδοποίηση: Πιθανό Πρόβλημα Ασφαλείας"
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="Το obs-websocket αποθηκεύει τον κωδικό πρόσβασης του διακομιστή ως απλό κείμενο. Χρησιμοποιώντας έναν κωδικό πρόσβασης που δημιουργείται από το obs-websocket συνιστάται ιδιαίτερα."
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Είστε βέβαιοι ότι θέλετε να χρησιμοποιήσετε το δικό σας κωδικό πρόσβασης?"
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Σφάλμα: Μη Έγκυρη Ρύθμιση"
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Πρέπει να χρησιμοποιήσετε έναν κωδικό πρόσβασης με 6 ή περισσότερους χαρακτήρες."
OBSWebSocket.SessionTable.Title="Συνδεδεμένες Συνεδρίες WebSocket"
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Απομακρυσμένη Διεύθυνση"
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Διάρκεια Συνεδρίας"
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Εισερχόμενα/Εξερχόμενα Μηνύματα"
OBSWebSocket.SessionTable.IdentifiedTitle="Ταυτοποιήθηκε"
OBSWebSocket.SessionTable.KickButtonColumnTitle="Διακοπή?"
OBSWebSocket.SessionTable.KickButtonText="Διακοπή"
OBSWebSocket.ConnectInfo.DialogTitle="Πληροφορίες Σύνδεσης WebSocket"
OBSWebSocket.ConnectInfo.CopyText="Αντιγραφή"
OBSWebSocket.ConnectInfo.ServerIp="IP Διακομιστή (Βέλτιστη Εκτίμηση)"
OBSWebSocket.ConnectInfo.ServerPort="Θύρα Διακομιστή"
OBSWebSocket.ConnectInfo.ServerPassword="Κωδικός Διακομιστή"
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.Disconnected.Title="Αποσυνδέθηκε ο Πελάτης του WebSocket"
OBSWebSocket.TrayNotification.Disconnected.Body="Ο πελάτης %1 αποσυνδέθηκε."
OBSWebSocket.Server.StartFailed.Title="Αποτυχία Διακομιστή WebSocket"
OBSWebSocket.Server.StartFailed.Message="Ο διακομιστής WebSocket απέτυχε να ξεκινήσει. Η θύρα %1 TCP μπορεί ήδη να χρησιμοποιείται από μια άλλη εφαρμογή σε αυτό το σύστημα. Δοκιμάστε να ορίσετε μια διαφορετική θύρα TCP στις ρυθμίσεις διακομιστή WebSocket ή να σταματήσετε οποιαδήποτε εφαρμογή που θα μπορούσε να χρησιμοποιήσει αυτή τη θύρα.\n Μήνυμα σφάλματος: %2"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Control remoto de OBS Studio a través de WebSocket"
OBSWebSocket.Settings.DialogTitle="Ajustes de obs-websocket"
OBSWebSocket.Settings.DialogTitle="Ajustes del servidor WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Ajustes del plugin"
OBSWebSocket.Settings.ServerEnable="Habilitar servidor WebSocket"
OBSWebSocket.Settings.AlertsEnable="Habilitar alertas en la bandeja del sistema"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="OBS Studio kaugjuhtimine WebSocketi kaudu"
OBSWebSocket.Settings.DialogTitle="obs-websocket seaded"
OBSWebSocket.Settings.DialogTitle="WebSocket serveri seaded"
OBSWebSocket.Settings.PluginSettingsTitle="Plugina seaded"
OBSWebSocket.Settings.ServerEnable="Luba WebSocket server"
OBSWebSocket.Settings.AlertsEnable="Luba hoiatused tegumireal"

42
data/locale/eu-ES.ini Normal file
View File

@ -0,0 +1,42 @@
OBSWebSocket.Plugin.Description="OBS Studioren urruneko kontrolatzailea WebSocket-en bidez"
OBSWebSocket.Settings.PluginSettingsTitle="Plugin Ezarpenak"
OBSWebSocket.Settings.ServerEnable="WebSocket zerbitzaria gaitu"
OBSWebSocket.Settings.AlertsEnable="Aktibatu sistema-erretiluko alertak"
OBSWebSocket.Settings.DebugEnable="Gaitu arazketa erregistroa"
OBSWebSocket.Settings.DebugEnableHoverText="OBSren uneko instantzian arazketa erregistroa gaitzen du. Berriro irekitzerakoan ez da mantenduko . \nErabili --websocket_debug kargatzerakoan gaitzeko."
OBSWebSocket.Settings.ServerSettingsTitle="Zerbitzariaren Ezarpenak"
OBSWebSocket.Settings.AuthRequired="Autentifikazioa aktibatu"
OBSWebSocket.Settings.Password="Zerbitzari pasahitza"
OBSWebSocket.Settings.GeneratePassword="Pasahitza sortu"
OBSWebSocket.Settings.ServerPort="Zerbitzari portua"
OBSWebSocket.Settings.ShowConnectInfo="Konexio-informazioa erakutsi"
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Adi: Zuzenean zaude"
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Irteera bat (stream, grabazioa, etab.) aktibo dagoela badirudi."
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Ziur zaude konexio-informazioa erakutsi nahi duzula?"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Adi: Segurtasun arazo potentziala"
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket-ek zerbitzariaren pasahitza testu sinple gisa gordetzen du. obs-websocket bidez sortutako pasahitza erabiltzea gomendatzen da."
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Ziur zaude zure pasahitza erabili nahi duzula?"
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Errorea: konfigurazio baliogabea"
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="6 karaktere edo gehiagoko pasahitza erabili behar duzu."
OBSWebSocket.SessionTable.Title="Konektatutako WebSocket saioak"
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Urruneko helbidea"
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Saioaren iraupena"
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Sarrera-/irteera-mezuak"
OBSWebSocket.SessionTable.IdentifiedTitle="Identifikatuta"
OBSWebSocket.SessionTable.KickButtonColumnTitle="Kanporatu?"
OBSWebSocket.SessionTable.KickButtonText="Kanporatu"
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket konexio-informazioa"
OBSWebSocket.ConnectInfo.CopyText="Kopiatu"
OBSWebSocket.ConnectInfo.ServerIp="Zerbitzariaren IP-a (proposamen hoberena)"
OBSWebSocket.ConnectInfo.ServerPort="Zerbitzari portua"
OBSWebSocket.ConnectInfo.ServerPassword="Zerbitzari pasahitza"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autorizazioa desgaituta]"
OBSWebSocket.ConnectInfo.QrTitle="Konexioaren QR kodea"
OBSWebSocket.TrayNotification.Identified.Title="WebSocket konexio berria"
OBSWebSocket.TrayNotification.Identified.Body="%1 bezeroa identifikatuta."
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket Autentikazioan hutsegitea"
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="%1 bezeroak autentifikatzen huts egin du."
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket Bezeroa deskonektatu da"
OBSWebSocket.TrayNotification.Disconnected.Body="%1 bezeroa deskonektatu da."
OBSWebSocket.Server.StartFailed.Title="WebSocket Zerbitzari hutsegitea"
OBSWebSocket.Server.StartFailed.Message="WebSocket zerbitzaria ez da hasi. %1 TCP portua agian dagoeneko beste aplikazio batek erabiltzen ari du sistema honetan. Saiatu beste TCP portu bat konfiguratzen WebSocket zerbitzariaren konfigurazioan, edo portu hori erabiltzen ari den edozein aplikazio geldiarazi.\nErrore-mezua: %2"

View File

@ -1,5 +1,4 @@
OBSWebSocket.Plugin.Description="کنترل از راه دور OBS Studio از طریق WebSocket"
OBSWebSocket.Settings.DialogTitle="تنظیمات obs-سوکت وب"
OBSWebSocket.Settings.PluginSettingsTitle="تنظیمات پلاگین"
OBSWebSocket.Settings.ServerEnable="سرور سوکت وب را فعال کنید"
OBSWebSocket.Settings.AlertsEnable="هشدارهای سینی سیستم را فعال کنید"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="OBS Studion etähallinta WebSocketin kautta"
OBSWebSocket.Settings.DialogTitle="obs-websocketin asetukset"
OBSWebSocket.Settings.DialogTitle="WebSocket-palvelimen asetukset"
OBSWebSocket.Settings.PluginSettingsTitle="Liitännäisen asetukset"
OBSWebSocket.Settings.ServerEnable="Ota WebSocket-palvelin käyttöön"
OBSWebSocket.Settings.AlertsEnable="Ota ilmoitusalueen ilmoitukset käyttöön"

39
data/locale/fil-PH.ini Normal file
View File

@ -0,0 +1,39 @@
OBSWebSocket.Plugin.Description="Remote-control ng OBS Studio sa pamamagitan ng WebSocket"
OBSWebSocket.Settings.DialogTitle="Mga Setting Ng WebSocket Server"
OBSWebSocket.Settings.PluginSettingsTitle="Mga Setting ng Plugin"
OBSWebSocket.Settings.ServerEnable="Paganahin ang WebSocket server"
OBSWebSocket.Settings.AlertsEnable="Paganahin ang System Tray Alerto"
OBSWebSocket.Settings.DebugEnable="Paganahin ang Debug Log"
OBSWebSocket.Settings.DebugEnableHoverText="Paganahin ang debug log para sa kasalukuyang instance ng OBS. Hindi nagpapatuloy sa pag-load.\nGumamit ng --websocket_debug upang paganahin ang pag-load."
OBSWebSocket.Settings.ServerSettingsTitle="Mga setting ng Server"
OBSWebSocket.Settings.AuthRequired="Paggamit ng Pagpapatunay"
OBSWebSocket.Settings.Password="Password ng server"
OBSWebSocket.Settings.GeneratePassword="Mag-Generate ng Password"
OBSWebSocket.Settings.ShowConnectInfo="Ipakita ang Impormasyon sa Pagkonekta"
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Babala: Kasalukuyang nakalive"
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Lumalabas na kasalukuyang aktibo ang isang output (stream, recording, atbp.)."
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Sigurado ka bang gusto mong ipakita ang iyong impormasyon sa pagkonekta?"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Babala: Potensyal na Isyu sa Seguridad"
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="Iniimbak ng obs-websocket ang password ng server bilang plain text. Ang paggamit ng password na nabuo ng obs-websocket ay lubos na inirerekomenda."
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Sigurado ka bang gusto mong gamitin ang iyong sariling password?"
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Error: Di-wastong Configuration"
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Dapat kang gumamit ng password na 6 o higit pang mga character."
OBSWebSocket.SessionTable.Title="Nakakonektang WebSocket Session"
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Tagal ng Session"
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Mga Mensahe In/Out"
OBSWebSocket.SessionTable.IdentifiedTitle="Kilalanin."
OBSWebSocket.SessionTable.KickButtonColumnTitle="Sipa?"
OBSWebSocket.SessionTable.KickButtonText="Sipa"
OBSWebSocket.ConnectInfo.DialogTitle="Impormasyon ng WebSocket Connect"
OBSWebSocket.ConnectInfo.CopyText="Kopyahin"
OBSWebSocket.ConnectInfo.ServerPassword="Password ng server"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Naka-disable ang Auth]"
OBSWebSocket.ConnectInfo.QrTitle="Ikonekta ang QR"
OBSWebSocket.TrayNotification.Identified.Title="Bagong Koneksyon sa WebSocket"
OBSWebSocket.TrayNotification.Identified.Body="Natukoy ang %1 ng kliyente."
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Nabigo sa Pagpapatunay ang WebSocket"
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Nabigo ang kliyenteng %1 na patotohanan."
OBSWebSocket.TrayNotification.Disconnected.Title="Nadiskonekta ang WebSocket Client"
OBSWebSocket.TrayNotification.Disconnected.Body="Nadiskonekta ang kliyenteng %1."
OBSWebSocket.Server.StartFailed.Title="Nabigo ng WebSocket Server"
OBSWebSocket.Server.StartFailed.Message="Nabigong magsimula ang WebSocket server. Ang TCP port %1 ay maaaring ginagamit na sa ibang lugar sa system na ito ng isa pang application. Subukang magtakda ng ibang TCP port sa mga setting ng WebSocket server, o ihinto ang anumang application na maaaring gumagamit ng port na ito.\n Mensahe ng error: %2"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Contrôle à distance d'OBS Studio via WebSocket"
OBSWebSocket.Settings.DialogTitle="Paramètre du websocket obs"
OBSWebSocket.Settings.DialogTitle="Paramètres du serveur WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Paramètres du plugin"
OBSWebSocket.Settings.ServerEnable="Activer le serveur WebSocket"
OBSWebSocket.Settings.AlertsEnable="Activer les alertes de la zone de notification"

6
data/locale/gl-ES.ini Normal file
View File

@ -0,0 +1,6 @@
OBSWebSocket.Settings.ServerSettingsTitle="Configuración do servidor"
OBSWebSocket.ConnectInfo.CopyText="Copiar"
OBSWebSocket.ConnectInfo.ServerPort="Porto do Servidor"
OBSWebSocket.ConnectInfo.ServerPassword="Contrasinal do Servidor"
OBSWebSocket.TrayNotification.Identified.Body="Cliente %1 identificado."
OBSWebSocket.TrayNotification.Disconnected.Body="Cliente %1 desconectado."

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="שליטה מרחוק על OBS Studio באמצעות WebSocket"
OBSWebSocket.Settings.DialogTitle="הגדרות obs-websocket"
OBSWebSocket.Settings.DialogTitle="הגדרות שרת WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="הגדרות תוסף"
OBSWebSocket.Settings.ServerEnable="הפעלת שרת WebSocket"
OBSWebSocket.Settings.AlertsEnable="הפעלת התראות במגש המערכת"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="WebSocket के माध्यम से OBS स्टूडियो का रिमोट-कंट्रोल"
OBSWebSocket.Settings.DialogTitle="obs-websocket सेटिंग्स"
OBSWebSocket.Settings.DialogTitle="वेबसॉकेट सर्वर सेटिंग्स"
OBSWebSocket.Settings.PluginSettingsTitle="प्लगइन सेटिंग्स"
OBSWebSocket.Settings.ServerEnable="WebSocket सर्वर सक्षम करें"
OBSWebSocket.Settings.AlertsEnable="सिस्टम ट्रे अलर्ट सक्षम करें"

1
data/locale/hr-HR.ini Normal file
View File

@ -0,0 +1 @@
OBSWebSocket.Settings.DialogTitle="Postavke servera WebSocket"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Az OBS Studio távvezérlése WebSocketen keresztül"
OBSWebSocket.Settings.DialogTitle="Az obs-websocket beállításai"
OBSWebSocket.Settings.DialogTitle="WebSocket-kiszolgáló beállításai"
OBSWebSocket.Settings.PluginSettingsTitle="Bővítménybeállítások"
OBSWebSocket.Settings.ServerEnable="WebSocket-kiszolgáló engedélyezése"
OBSWebSocket.Settings.AlertsEnable="Rendszertálca-riasztások bekapcsolása"

View File

@ -1,5 +1,4 @@
OBSWebSocket.Plugin.Description="OBS Studio-ի հեռակառավարումը WebSocket-ի միջոցով"
OBSWebSocket.Settings.DialogTitle="obs-websocket կարգավորումներ"
OBSWebSocket.Settings.PluginSettingsTitle="Միացնիչի կարգավորումներ"
OBSWebSocket.Settings.ServerEnable="Միացնել WebSocket սերվերը"
OBSWebSocket.Settings.AlertsEnable="Միացնել սկուտեղի ծանուցումները"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Kendali jarak jauh OBS Studio melalui WebSocket"
OBSWebSocket.Settings.DialogTitle="Pengaturan obs-websocket"
OBSWebSocket.Settings.DialogTitle="Pengaturan Server WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Pengaturan Plugin"
OBSWebSocket.Settings.ServerEnable="Aktifkan server WebSocket"
OBSWebSocket.Settings.AlertsEnable="Aktifkan Peringatan Baki Sistem"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Controllo remoto di OBS Studio tramite WebSocket"
OBSWebSocket.Settings.DialogTitle="Impostazioni obs-websocket"
OBSWebSocket.Settings.DialogTitle="Impostazioni server WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Impostazioni del plugin"
OBSWebSocket.Settings.ServerEnable="Abilita il server WebSocket"
OBSWebSocket.Settings.AlertsEnable="Abilita avvisi sulla barra delle applicazioni"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="WebSocketを介したOBS Studioのリモートコントロール"
OBSWebSocket.Settings.DialogTitle="obs-websocket設定"
OBSWebSocket.Settings.DialogTitle="WebSocket サーバー設定"
OBSWebSocket.Settings.PluginSettingsTitle="プラグイン設定"
OBSWebSocket.Settings.ServerEnable="WebSocketサーバーを有効にする"
OBSWebSocket.Settings.AlertsEnable="システムトレイアラートを有効にする"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="OBS Studio-ს დაშორებულად მართვა WebSocket-ით"
OBSWebSocket.Settings.DialogTitle="obs-websocket-პარამეტრები"
OBSWebSocket.Settings.DialogTitle="WebSocket-სერვერის პარამეტრები"
OBSWebSocket.Settings.PluginSettingsTitle="მოდულის პარამეტრები"
OBSWebSocket.Settings.ServerEnable="WebSocket-სერვერის ჩართვა"
OBSWebSocket.Settings.AlertsEnable="სისტემური არეში ცნობების ჩართვა"
@ -14,7 +14,7 @@ OBSWebSocket.Settings.ShowConnectInfo="კავშირის შესახ
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="გაფრთხილება: პირდაპირ ეთერშია"
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="როგორც ჩანს, გამოტანა (ნაკადის, ჩანაწერის და სხვ.) ეთერში გადის."
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="ნამდვილად გსურთ კავშირის მონაცემების გამოჩენა?"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="ყურადღება: უსაფრთხოების შესაძლო სისუსტე"
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="ყურადღება: სავარაუდო საფრთხე"
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket სერვერის პაროლს ტექსტის სახით. დაჟინებით გირჩევთ, გამოიყენოთ obs-websocket-ით შედგენილი პაროლი."
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="ნამდვილად გსურთ საკუთარი პაროლის გამოყენება?"
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="შეცდომა: არასწორი გამართვა"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Rêveberina ji dûr ve ya OBS Studio bi riya WebSocket"
OBSWebSocket.Settings.DialogTitle="Sazkariyên obs-websocket"
OBSWebSocket.Settings.DialogTitle="Sazkariyên rajekar a WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Sazkariyên pêvekê"
OBSWebSocket.Settings.ServerEnable="Rajekarê WebSocket çalak bike"
OBSWebSocket.Settings.AlertsEnable="Hişyariyên darika pergalê çalak bike"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="WebSocket으로 OBS Studio를 원격 제어"
OBSWebSocket.Settings.DialogTitle="obs-websocket 설정"
OBSWebSocket.Settings.DialogTitle="WebSocket 서버 설정"
OBSWebSocket.Settings.PluginSettingsTitle="플러그인 설정"
OBSWebSocket.Settings.ServerEnable="WebSocket 서버 사용"
OBSWebSocket.Settings.AlertsEnable="시스템 트레이 알림 사용"

View File

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

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Op afstand bediening van OBS Studio via WebSocket"
OBSWebSocket.Settings.DialogTitle="obs-websocket Instellingen"
OBSWebSocket.Settings.DialogTitle="WebSocket Server Instellingen"
OBSWebSocket.Settings.PluginSettingsTitle="Plugin instellingen"
OBSWebSocket.Settings.ServerEnable="WebSocket server inschakelen"
OBSWebSocket.Settings.AlertsEnable="Systeemtray meldingen inschakelen"
@ -30,6 +30,7 @@ OBSWebSocket.ConnectInfo.DialogTitle="WebSocket verbindingsinformatie"
OBSWebSocket.ConnectInfo.CopyText="Kopiëren"
OBSWebSocket.ConnectInfo.ServerIp="Server IP (Beste inschatting)"
OBSWebSocket.ConnectInfo.ServerPort="Serverpoort"
OBSWebSocket.ConnectInfo.ServerPassword="Serverwachtwoord"
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Authenticatie Uitgeschakeld]"
OBSWebSocket.ConnectInfo.QrTitle="QR koppelen"
OBSWebSocket.TrayNotification.Identified.Title="Nieuwe WebSocket verbinding"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Zdalna kontrola OBS Studio przez WebSocket"
OBSWebSocket.Settings.DialogTitle="Ustawienia obs-websocket"
OBSWebSocket.Settings.DialogTitle="Ustawienia serwera WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Ustawienia wtyczki"
OBSWebSocket.Settings.ServerEnable="Włącz serwer WebSocket"
OBSWebSocket.Settings.AlertsEnable="Włącz powiadomienia w zasobniku systemowym"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Controle remoto do OBS Studio através de WebSocket"
OBSWebSocket.Settings.DialogTitle="Configurações OBS-WebSocket"
OBSWebSocket.Settings.DialogTitle="Configurações do servidor WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Configurações de Plugin"
OBSWebSocket.Settings.ServerEnable="Ativar servidor WebSocket"
OBSWebSocket.Settings.AlertsEnable="Ativar Alertas da Bandeja do Sistema"

View File

@ -1,5 +1,4 @@
OBSWebSocket.Plugin.Description="Controlo remoto do OBS Studio através de WebSocket"
OBSWebSocket.Settings.DialogTitle="Configurações obs-websocket"
OBSWebSocket.Settings.PluginSettingsTitle="Configurações do plugin"
OBSWebSocket.Settings.ServerEnable="Ativar servidor WebSocket"
OBSWebSocket.Settings.AlertsEnable="Ativar alertas da bandeja do sistema"

View File

@ -1,10 +1,10 @@
OBSWebSocket.Plugin.Description="Control de la distanță pentru OBS Studio prin WebSocket"
OBSWebSocket.Settings.DialogTitle="Setări obs-websocket"
OBSWebSocket.Settings.PluginSettingsTitle="Setări ale plugin-ului"
OBSWebSocket.Settings.DialogTitle="Setări ale server-ului WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Setări pentru plugin"
OBSWebSocket.Settings.ServerEnable="Activează serverul WebSocket"
OBSWebSocket.Settings.AlertsEnable="Activați alertele din bara de sistem"
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 curentă de OBS. Nu persistă la încărcare.\nUtilizați --websocket_debug pentru a activa la încărcare."
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.AuthRequired="Activează autentificarea"
OBSWebSocket.Settings.Password="Parola serverului"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Удалённое управление OBS Studio по WebSocket"
OBSWebSocket.Settings.DialogTitle="Настройки obs-websocket"
OBSWebSocket.Settings.DialogTitle="Настройки сервера WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Настройки плагина"
OBSWebSocket.Settings.ServerEnable="Включить сервер WebSocket"
OBSWebSocket.Settings.AlertsEnable="Включить оповещения в трее"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Vzdialené ovládanie OBS Štúdia cez WebSocket"
OBSWebSocket.Settings.DialogTitle="Nastavenia obs-websocket"
OBSWebSocket.Settings.DialogTitle="Serverové nastavenia WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Nastavenia pluginu"
OBSWebSocket.Settings.ServerEnable="Zapnúť WebSocket server"
OBSWebSocket.Settings.AlertsEnable="Zapnúť notifikácie zo systémovej lišty"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Oddaljeni nadzor OBS Studia prek WebSocketa"
OBSWebSocket.Settings.DialogTitle="Nastavitve obs-websocket"
OBSWebSocket.Settings.DialogTitle="Nastavitve strežnika WebSocket"
OBSWebSocket.Settings.PluginSettingsTitle="Nastavitve vtičnika"
OBSWebSocket.Settings.ServerEnable="Omogoči strežnik WebSocket"
OBSWebSocket.Settings.AlertsEnable="Omogoči opozorila v sistemskem pladnju"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Fjärrkontroll av OBS Studio via WebSocket"
OBSWebSocket.Settings.DialogTitle="Inställningar för obs-websocket"
OBSWebSocket.Settings.DialogTitle="WebSocket-serverinställningar"
OBSWebSocket.Settings.PluginSettingsTitle="Insticksmodulsinställningar"
OBSWebSocket.Settings.ServerEnable="Aktivera WebSocket-server"
OBSWebSocket.Settings.AlertsEnable="Aktivera systemfältsmeddelanden"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="WebSocket aracılığıyla uzaktan OBS Studio"
OBSWebSocket.Settings.DialogTitle="obs-websocket Ayarları"
OBSWebSocket.Settings.DialogTitle="WebSocket Suncusu Ayarları"
OBSWebSocket.Settings.PluginSettingsTitle="Eklenti Ayarları"
OBSWebSocket.Settings.ServerEnable="WebSocket sunucuyu etkinleştir"
OBSWebSocket.Settings.AlertsEnable="Sistem Tepsi Uyarılarını Etkinleştir"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="Віддалене керування OBS Studio через WebSocket"
OBSWebSocket.Settings.DialogTitle="Налаштування obs-websocket"
OBSWebSocket.Settings.DialogTitle="Налаштування WebSocket сервера"
OBSWebSocket.Settings.PluginSettingsTitle="Налаштування плагіна"
OBSWebSocket.Settings.ServerEnable="Увімкнути сервер WebSocket"
OBSWebSocket.Settings.AlertsEnable="Увімкнути сповіщення у системному лотку"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="通过 WebSocket 远程控制 OBS Studio"
OBSWebSocket.Settings.DialogTitle="obs-websocket 设置"
OBSWebSocket.Settings.DialogTitle="WebSocket 服务器设置"
OBSWebSocket.Settings.PluginSettingsTitle="插件设置"
OBSWebSocket.Settings.ServerEnable="开启 WebSocket 服务器"
OBSWebSocket.Settings.AlertsEnable="开启系统托盘提醒"

View File

@ -1,5 +1,5 @@
OBSWebSocket.Plugin.Description="透過 WebSocket 遠端控制 OBS Studio"
OBSWebSocket.Settings.DialogTitle="obs-websocket 設定"
OBSWebSocket.Settings.DialogTitle="WebSocket 伺服器設定"
OBSWebSocket.Settings.PluginSettingsTitle="外掛程式設定"
OBSWebSocket.Settings.ServerEnable="啟用 WebSocket 伺服器"
OBSWebSocket.Settings.AlertsEnable="啟用系統匣通知"

1
deps/asio vendored

Submodule deps/asio deleted from b73dc1d2c0

1
deps/json vendored

Submodule deps/json deleted from a34e011e24

1
deps/websocketpp vendored

Submodule deps/websocketpp deleted from 56123c8759

View File

@ -61,7 +61,7 @@ These steps should be followed precisely. Failure to connect to the server as in
- The server receives and processes the `Identify` sent by the client.
- If authentication is required and the `Identify` message data does not contain an `authentication` string, or the string is not correct, the connection is closed with `WebSocketCloseCode::AuthenticationFailed`
- If the client has requested an `rpcVersion` which the server cannot use, the connection is closed with `WebSocketCloseCode::UnsupportedRpcVersion`. This system allows both the server and client to have seamless backwards compatability.
- If the client has requested an `rpcVersion` which the server cannot use, the connection is closed with `WebSocketCloseCode::UnsupportedRpcVersion`. This system allows both the server and client to have seamless backwards compatibility.
- If any other parameters are malformed (invalid type, etc), the connection is closed with an appropriate close code.
- Once identification is processed on the server, the server responds to the client with an [OpCode 2 `Identified`](#identified-opcode-2).

View File

@ -1,7 +1,7 @@
<!-- This file was automatically generated. Do not edit directly! -->
<!-- markdownlint-disable no-bare-urls -->
# obs-websocket 5.0.1 Protocol
# obs-websocket 5.1.0 Protocol
## Main Table of Contents
@ -63,7 +63,7 @@ These steps should be followed precisely. Failure to connect to the server as in
- The server receives and processes the `Identify` sent by the client.
- If authentication is required and the `Identify` message data does not contain an `authentication` string, or the string is not correct, the connection is closed with `WebSocketCloseCode::AuthenticationFailed`
- If the client has requested an `rpcVersion` which the server cannot use, the connection is closed with `WebSocketCloseCode::UnsupportedRpcVersion`. This system allows both the server and client to have seamless backwards compatability.
- If the client has requested an `rpcVersion` which the server cannot use, the connection is closed with `WebSocketCloseCode::UnsupportedRpcVersion`. This system allows both the server and client to have seamless backwards compatibility.
- If any other parameters are malformed (invalid type, etc), the connection is closed with an appropriate close code.
- Once identification is processed on the server, the server responds to the client with an [OpCode 2 `Identified`](#identified-opcode-2).
@ -148,7 +148,7 @@ Authentication is required
{
"op": 0,
"d": {
"obsWebSocketVersion": "5.0.1",
"obsWebSocketVersion": "5.1.0",
"rpcVersion": 1,
"authentication": {
"challenge": "+IxH4CnCiqpX1rM9scsNynZzbOe4KhDeYcTNS3PDaeY=",
@ -164,7 +164,7 @@ Authentication is not required
{
"op": 0,
"d": {
"obsWebSocketVersion": "5.0.1",
"obsWebSocketVersion": "5.1.0",
"rpcVersion": 1
}
}

View File

@ -198,4 +198,4 @@ void EventHandler::HandleMediaInputActionTriggered(obs_source_t *source, ObsMedi
eventData["inputName"] = obs_source_get_name(source);
eventData["mediaAction"] = GetMediaInputActionString(action);
BroadcastEvent(EventSubscription::MediaInputs, "MediaInputActionTriggered", eventData);
}
}

View File

@ -178,7 +178,7 @@ RequestResult RequestHandler::CallVendorRequest(const Request &request)
OBSDataAutoRelease requestData = obs_data_create();
if (request.Contains("requestData")) {
if (!request.ValidateOptionalObject("requestData", statusCode, comment))
if (!request.ValidateOptionalObject("requestData", statusCode, comment, true))
return RequestResult::Error(statusCode, comment);
requestData = Utils::Json::JsonToObsData(request.RequestData["requestData"]);

View File

@ -104,6 +104,11 @@ void WebSocketServer::ProcessMessage(SessionPtr session, WebSocketServer::Proces
"Your payload's data is missing an `authentication` string, however authentication is required.";
return;
}
if (!payloadData["authentication"].is_string()) {
ret.closeCode = WebSocketCloseCode::AuthenticationFailed;
ret.closeReason = "Your `authentication` field is not a string.";
return;
}
if (!Utils::Crypto::CheckAuthenticationString(session->Secret(), session->Challenge(),
payloadData["authentication"])) {
auto conf = GetConfig();