mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Compare commits
553 Commits
5.0.0-alph
...
5.5.0
Author | SHA1 | Date | |
---|---|---|---|
3b7c1c5381 | |||
20551043f9 | |||
086bf06008 | |||
6483dcaef0 | |||
71920c484b | |||
0eda8f9406 | |||
3b873ceb30 | |||
36f50adf8a | |||
acd1af12a1 | |||
eb2882515f | |||
5c3c4c76c8 | |||
8c80e0745a | |||
5b4aa9dabd | |||
ee283c7141 | |||
179e197bd5 | |||
5fc39ef054 | |||
74719ce502 | |||
9123879c76 | |||
9db7464faa | |||
e2b8a06d94 | |||
af31f1adca | |||
4410e30684 | |||
2c884ca690 | |||
f72f23a9d7 | |||
a589e80bdb | |||
305afd763d | |||
42e7eb6c34 | |||
bdf812dc09 | |||
c8cf2d94ac | |||
d2d4bfb3e7 | |||
d5077fca03 | |||
4a647c5262 | |||
3ea3d3228b | |||
e94f9194a2 | |||
9ee6e2ff2a | |||
b61a5c2431 | |||
fbd4cfb4af | |||
e5aa4c2f69 | |||
4cf8de8382 | |||
7adfb5874c | |||
f18f46543b | |||
f40426efa1 | |||
830f7eb931 | |||
5e3fff78f3 | |||
b53527cba8 | |||
b806a0cfb1 | |||
1d0db34bb2 | |||
690726d281 | |||
ef4142fe75 | |||
caaec5d97f | |||
6c67b276a7 | |||
fad7dfd55c | |||
a5c459b6d4 | |||
899a9b3801 | |||
939e503736 | |||
5b149add99 | |||
50b57d38d0 | |||
9b58dd1627 | |||
81b307e5ad | |||
52733ddce7 | |||
444caeb1d7 | |||
f03e82c3f8 | |||
bbdc5bc823 | |||
9ecc9532e8 | |||
0189c3a3f5 | |||
f48fcc06ec | |||
f43ef8e2da | |||
7a1c71bb96 | |||
cf285b3761 | |||
ede66a68cb | |||
e8089a5bbf | |||
07537a33fa | |||
efeae8d640 | |||
4ff109b62b | |||
42da47f81d | |||
a889799655 | |||
f52f47ec5d | |||
08767ae5a7 | |||
16bf61aab6 | |||
e9c0eee9e4 | |||
f4a3de575c | |||
2bfa1b4c64 | |||
0e611f579b | |||
ec2cdc8475 | |||
3cd8163945 | |||
132d4bafdd | |||
d991e21f29 | |||
a74468e07e | |||
55b3f88db9 | |||
ba7839bb69 | |||
417725801c | |||
93713c438e | |||
6db08f960e | |||
6434c42155 | |||
ac00465565 | |||
2606f262e6 | |||
2caecf6c01 | |||
19170fe6d9 | |||
1fc7900b1c | |||
53d7596160 | |||
886738547a | |||
c11874eb17 | |||
a0ffe16e91 | |||
e3d0751385 | |||
d5185417ec | |||
f7637250f1 | |||
57a9c19f2c | |||
6633144ce8 | |||
6ef055a369 | |||
a4ee9c03ea | |||
9912c9963c | |||
21886adb32 | |||
c85d9143a9 | |||
7ca8d5fc2b | |||
db2c251189 | |||
dd248faecb | |||
68d79b22af | |||
b06da5fa63 | |||
78a1b54a47 | |||
bf277011f9 | |||
96032e0e8c | |||
ddd139255b | |||
edf29e828c | |||
079ab31f88 | |||
e797a3fb34 | |||
a792c59699 | |||
31f9845b61 | |||
cb6f0b8986 | |||
9959acb0e8 | |||
8b1ef17c25 | |||
a254172c12 | |||
57a9e23f16 | |||
4c3660c08d | |||
323b5d0b5d | |||
23f883d906 | |||
60dbcc1b66 | |||
8cabe24b77 | |||
9cfca3c7d1 | |||
cfa0b4363e | |||
815d47e2ff | |||
9bdf560bf8 | |||
47f9beb095 | |||
32d0834c3f | |||
9722ed3df4 | |||
9f72852588 | |||
6e0220ac7b | |||
6d4b7c786e | |||
290e042612 | |||
7e4c9529eb | |||
bc18401fb0 | |||
265899f76f | |||
9e1a41f219 | |||
7893ae5caa | |||
a715639302 | |||
6038fe9a0a | |||
6fba48929a | |||
7eb4eb101c | |||
f2e595e1ab | |||
c1ffbf0111 | |||
f08d3225ad | |||
84542e1ed5 | |||
bb9371b0dc | |||
ab918faea8 | |||
5716577019 | |||
b4a1266cf0 | |||
6527381c91 | |||
fb2abc45cf | |||
54b0dc3781 | |||
0ff90d1687 | |||
62bdbb2e64 | |||
5f8a0122bd | |||
20ea6e3352 | |||
b07dce821a | |||
2f549b82a3 | |||
17243577c5 | |||
c0ba751aaf | |||
eba6c4c6f3 | |||
59e7e3a307 | |||
8bf8995ad8 | |||
2b8dd47a6c | |||
268a45e8dd | |||
e52d5402cf | |||
0db223b148 | |||
420e600864 | |||
190a9551f6 | |||
773f85e0d7 | |||
b5d50c4243 | |||
e3314b3608 | |||
1902d7e1a3 | |||
e0d322d4cc | |||
ecde83a28d | |||
b0167e6296 | |||
16f3ceb997 | |||
2875fc7313 | |||
b9a63603c7 | |||
de40b53d77 | |||
1698b2895b | |||
1d25f97004 | |||
258bfc5689 | |||
35e3e278bf | |||
5341cb5951 | |||
00504a0d52 | |||
ab743c2ee6 | |||
1dd57f6140 | |||
a22a7cf993 | |||
d9026c1791 | |||
2524dc47cf | |||
798eebf638 | |||
9cdfa41113 | |||
aab925c0ed | |||
be1b13f15d | |||
6122fe6ea7 | |||
4201664c7b | |||
3deea2b5da | |||
c3ee52c4fe | |||
f4b72b69ce | |||
5b8fd096d5 | |||
22fee0312d | |||
17292520f2 | |||
711746524c | |||
e04bca0993 | |||
c8d0ed2138 | |||
6deadc25ac | |||
f73e78582b | |||
7b238793d0 | |||
7a09f38a64 | |||
27d21975f0 | |||
60e272e6f0 | |||
dd4971b1cc | |||
749ecc976b | |||
d85c86e3a0 | |||
3303acfcca | |||
1cd12c1023 | |||
1da0214201 | |||
226c81ce78 | |||
ca34981aae | |||
828dbde75c | |||
ac102de1e8 | |||
20e654186c | |||
f42cd2177a | |||
2479501879 | |||
371c414281 | |||
3a5f0d89b9 | |||
9f68e0166b | |||
8b85658c61 | |||
a9c9363d4a | |||
95df4782f3 | |||
9d899376a5 | |||
d8c042fe4a | |||
c355c72f4b | |||
e6c48990d6 | |||
620f11e8a3 | |||
b02a32ce06 | |||
ce31ed177d | |||
71a32c981c | |||
4440327141 | |||
bbf9c283c0 | |||
9ac7c5890e | |||
a7698a732f | |||
e15b2edb4f | |||
7fade98407 | |||
df13ad30b7 | |||
2297432f90 | |||
be48d0bfe9 | |||
2027394d33 | |||
d7de347b37 | |||
e0057b05db | |||
aa13828cf5 | |||
db2ffa569a | |||
66c14dced5 | |||
29b2b1bd5d | |||
361547a96d | |||
b3a5c55bef | |||
f76de69b34 | |||
0b294734a2 | |||
7b52d7e015 | |||
9664f28483 | |||
d9070f9edb | |||
559212682a | |||
fa8a091a3e | |||
ab137ce8a4 | |||
5a3bed7d8b | |||
3362d3f998 | |||
7ca8140a34 | |||
341259e610 | |||
c64e360c2d | |||
7c35d6e738 | |||
b206321b05 | |||
403c69463a | |||
eeb7bac4b7 | |||
7113055218 | |||
ddf752fd03 | |||
e80bcad1e1 | |||
d2ddde3229 | |||
931a1630ce | |||
5cbc1019ff | |||
14227237d7 | |||
3e2984fd7a | |||
96a2fd8c25 | |||
38d78596ce | |||
13c7b83c34 | |||
1844f85e1f | |||
bc0b499944 | |||
ae906bb283 | |||
63dfed1cf9 | |||
873eadec05 | |||
dea0fcd561 | |||
9f7beb1c0d | |||
db9f4b24df | |||
6035294339 | |||
6a2d5968ad | |||
8f2d266dec | |||
fe64620731 | |||
24e43d0276 | |||
c0308d6ce1 | |||
506a9167c3 | |||
043444cad5 | |||
35c8a87def | |||
e451a8d6b0 | |||
02bcc0ac1b | |||
702f88cea8 | |||
6d216e0412 | |||
e6761cf286 | |||
00dd8d7821 | |||
e43ebde794 | |||
4a2654d095 | |||
6291cb1532 | |||
a90dafb971 | |||
3a96b585ce | |||
12c6527442 | |||
31997db509 | |||
85f65952bd | |||
9113ff9021 | |||
1ed095de48 | |||
a94ac24027 | |||
903b7d4171 | |||
a59ce69ba1 | |||
195c4a3ca9 | |||
3b2369ae97 | |||
af634b63fd | |||
444685c89d | |||
05aba45809 | |||
1f1a8926b1 | |||
0c5d4ba3fb | |||
947450ce4e | |||
63cc1f316d | |||
38157579a6 | |||
389cbd854c | |||
707ac3f7e3 | |||
732d5af50c | |||
0939273abf | |||
f8263caa03 | |||
5c16a11ba8 | |||
af217c05f1 | |||
e640ae1218 | |||
bb2c125601 | |||
e1cb858d2d | |||
1339202c02 | |||
4835abd9c2 | |||
964e91bbd7 | |||
9385a2449e | |||
ec79124b5f | |||
4d65c2adee | |||
851a6f8c5a | |||
e2f60b002e | |||
86506778ad | |||
0992f74fad | |||
430e61bef7 | |||
da83de7503 | |||
07249da400 | |||
899888eb6c | |||
14238027cc | |||
5cbf439f55 | |||
e05be47847 | |||
2302fdd25f | |||
1c6ec1dda2 | |||
ad347c4823 | |||
714b4db840 | |||
40ff3f6960 | |||
0f303504e1 | |||
91e3f5ee18 | |||
66f416236c | |||
b331f76d40 | |||
a898bacd79 | |||
527a008002 | |||
a0ad43c7d7 | |||
f566ccd76b | |||
2e8622e8d7 | |||
4a193d44a1 | |||
d29b87ffc1 | |||
1e6a60f545 | |||
5cd1af426a | |||
f66080a031 | |||
82ad3313e8 | |||
71bf9e9021 | |||
0c7fda28a0 | |||
e2804e2d85 | |||
b37305354d | |||
6f6fbf84d1 | |||
9749502e88 | |||
c3e6bc323a | |||
873ad1b167 | |||
9b879baf38 | |||
a40e79e987 | |||
84e649a6f7 | |||
c4ab69481b | |||
edf4e942fa | |||
b3ef9a861e | |||
54fd7af5ef | |||
2a33179588 | |||
947f261d17 | |||
906c6c4871 | |||
f7ab102c21 | |||
fdc8b5546f | |||
6f72da83ff | |||
0007987219 | |||
77f8c5be4d | |||
64c3b62360 | |||
c6afc8f981 | |||
2c2b584ecc | |||
edda844a34 | |||
d642654f49 | |||
69522024d2 | |||
24cd95bca7 | |||
0f6ee87f99 | |||
9c8f056d3e | |||
41a145c57c | |||
fab56d71ea | |||
b490e4409b | |||
8fbcbad9ec | |||
82d5468b73 | |||
2e7262fe11 | |||
5f261de143 | |||
539ee3f28f | |||
29a5cfe2fe | |||
612a50efbb | |||
20426924cd | |||
889062e44b | |||
eb8d69dca5 | |||
0ed3c9b367 | |||
e47de63786 | |||
84f90a9650 | |||
3ea8506619 | |||
d4353d4bf1 | |||
d7887b4c32 | |||
de1f843ce6 | |||
5ac813b897 | |||
43e2860709 | |||
c9c5da6837 | |||
b66d2284b3 | |||
fcbe11616d | |||
6cec018c8d | |||
6d684eb07f | |||
5704ea2970 | |||
d48ddef031 | |||
1ac6ac6c87 | |||
bc7b8d330a | |||
c95511eb5f | |||
2a4e86d8da | |||
4d8013b07e | |||
b1de9c8e79 | |||
8e9b3ef7bb | |||
2e079ad681 | |||
29a72f9af8 | |||
0a294a558e | |||
959347337f | |||
c8c6417d63 | |||
2005ced682 | |||
4ca259b790 | |||
c720df5938 | |||
32a9e12f62 | |||
60f12a16f3 | |||
99cbaaf34c | |||
bc1d5386a5 | |||
bd6c663775 | |||
18ed1589ae | |||
07a20b6458 | |||
6cb8eef96d | |||
5ab091a40b | |||
c60d09246c | |||
061c228ad5 | |||
4076c0baa9 | |||
01013c1b27 | |||
1dbb7a9686 | |||
061fb6f012 | |||
32e4ad74b7 | |||
0f17d3d6f8 | |||
08eb2defbc | |||
7403264d42 | |||
32be21886c | |||
d5a702b0e8 | |||
0671ded7d1 | |||
9197a48088 | |||
5faadc12de | |||
45f7661a5d | |||
aa46bb74a5 | |||
af52a26e68 | |||
69494d9c85 | |||
152faa5fe2 | |||
622e1c9aeb | |||
ee3216968d | |||
4e956d1ef4 | |||
42c78f1831 | |||
1b25e98dc2 | |||
3687086ce0 | |||
f0b207d021 | |||
16ea2c82e1 | |||
981538aa2a | |||
9f71e4af2c | |||
0fc813f48b | |||
df7af451a7 | |||
a8d27ede9e | |||
45854e2949 | |||
181003af89 | |||
2218b7956c | |||
0e8650dbd2 | |||
da4297ee88 | |||
5350c115bf | |||
d09571f0e3 | |||
d04d42240a | |||
9ca83e7570 | |||
aa0ba78e46 | |||
b91ad0f790 | |||
4e0b8c5f11 | |||
ea948766a5 | |||
c73a153c9a | |||
61973e75dc | |||
59e1083557 | |||
0c2e40263a | |||
78d02696d0 | |||
7a888c2f92 | |||
342164dfb5 | |||
a4e62acf25 | |||
d811c95e10 | |||
eebcc25115 | |||
c9fa09edc4 | |||
69ccc99921 | |||
a5a19b9952 | |||
66ff329da4 | |||
af0ac63f2c | |||
802cb38ff6 | |||
117dcb9567 | |||
d20c0d0da7 | |||
a9d86ce35c | |||
b9b8e38998 | |||
e89c0c2b05 | |||
7e1e1bc33c | |||
537595658d | |||
c43d829845 | |||
3d2fb65357 | |||
96dcc49adb | |||
25b3bd44ba | |||
bcdb8ee352 |
208
.clang-format
Normal file
208
.clang-format
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
# please use clang-format version 16 or later
|
||||||
|
|
||||||
|
Standard: c++17
|
||||||
|
AccessModifierOffset: -8
|
||||||
|
AlignAfterOpenBracket: Align
|
||||||
|
AlignConsecutiveAssignments: false
|
||||||
|
AlignConsecutiveDeclarations: false
|
||||||
|
AlignEscapedNewlines: Left
|
||||||
|
AlignOperands: true
|
||||||
|
AlignTrailingComments: true
|
||||||
|
AllowAllArgumentsOnNextLine: false
|
||||||
|
AllowAllConstructorInitializersOnNextLine: false
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: false
|
||||||
|
AllowShortBlocksOnASingleLine: false
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: Inline
|
||||||
|
AllowShortIfStatementsOnASingleLine: false
|
||||||
|
AllowShortLambdasOnASingleLine: Inline
|
||||||
|
AllowShortLoopsOnASingleLine: false
|
||||||
|
AlwaysBreakAfterDefinitionReturnType: None
|
||||||
|
AlwaysBreakAfterReturnType: None
|
||||||
|
AlwaysBreakBeforeMultilineStrings: false
|
||||||
|
AlwaysBreakTemplateDeclarations: false
|
||||||
|
BinPackArguments: true
|
||||||
|
BinPackParameters: true
|
||||||
|
BraceWrapping:
|
||||||
|
AfterClass: false
|
||||||
|
AfterControlStatement: false
|
||||||
|
AfterEnum: false
|
||||||
|
AfterFunction: true
|
||||||
|
AfterNamespace: false
|
||||||
|
AfterObjCDeclaration: false
|
||||||
|
AfterStruct: false
|
||||||
|
AfterUnion: false
|
||||||
|
AfterExternBlock: false
|
||||||
|
BeforeCatch: false
|
||||||
|
BeforeElse: false
|
||||||
|
IndentBraces: false
|
||||||
|
SplitEmptyFunction: true
|
||||||
|
SplitEmptyRecord: true
|
||||||
|
SplitEmptyNamespace: true
|
||||||
|
BreakBeforeBinaryOperators: None
|
||||||
|
BreakBeforeBraces: Custom
|
||||||
|
BreakBeforeTernaryOperators: true
|
||||||
|
BreakConstructorInitializers: BeforeColon
|
||||||
|
BreakStringLiterals: false # apparently unpredictable
|
||||||
|
ColumnLimit: 132
|
||||||
|
CompactNamespaces: false
|
||||||
|
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||||
|
ConstructorInitializerIndentWidth: 8
|
||||||
|
ContinuationIndentWidth: 8
|
||||||
|
Cpp11BracedListStyle: true
|
||||||
|
DerivePointerAlignment: false
|
||||||
|
DisableFormat: false
|
||||||
|
FixNamespaceComments: false
|
||||||
|
ForEachMacros:
|
||||||
|
- 'json_object_foreach'
|
||||||
|
- 'json_object_foreach_safe'
|
||||||
|
- 'json_array_foreach'
|
||||||
|
- 'HASH_ITER'
|
||||||
|
IncludeBlocks: Preserve
|
||||||
|
IndentCaseLabels: false
|
||||||
|
IndentPPDirectives: None
|
||||||
|
IndentWidth: 8
|
||||||
|
IndentWrappedFunctionNames: false
|
||||||
|
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||||
|
MaxEmptyLinesToKeep: 1
|
||||||
|
NamespaceIndentation: All
|
||||||
|
ObjCBinPackProtocolList: Auto
|
||||||
|
ObjCBlockIndentWidth: 8
|
||||||
|
ObjCSpaceAfterProperty: true
|
||||||
|
ObjCSpaceBeforeProtocolList: true
|
||||||
|
|
||||||
|
PenaltyBreakAssignment: 10
|
||||||
|
PenaltyBreakBeforeFirstCallParameter: 30
|
||||||
|
PenaltyBreakComment: 10
|
||||||
|
PenaltyBreakFirstLessLess: 0
|
||||||
|
PenaltyBreakString: 10
|
||||||
|
PenaltyExcessCharacter: 100
|
||||||
|
PenaltyReturnTypeOnItsOwnLine: 60
|
||||||
|
|
||||||
|
PointerAlignment: Right
|
||||||
|
ReflowComments: false
|
||||||
|
SortIncludes: false
|
||||||
|
SortUsingDeclarations: false
|
||||||
|
SpaceAfterCStyleCast: false
|
||||||
|
SpaceAfterLogicalNot: false
|
||||||
|
SpaceAfterTemplateKeyword: false
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
SpaceBeforeCtorInitializerColon: true
|
||||||
|
SpaceBeforeInheritanceColon: true
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpaceBeforeRangeBasedForLoopColon: true
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesBeforeTrailingComments: 1
|
||||||
|
SpacesInAngles: false
|
||||||
|
SpacesInCStyleCastParentheses: false
|
||||||
|
SpacesInContainerLiterals: false
|
||||||
|
SpacesInParentheses: false
|
||||||
|
SpacesInSquareBrackets: false
|
||||||
|
StatementMacros:
|
||||||
|
- 'Q_OBJECT'
|
||||||
|
TabWidth: 8
|
||||||
|
TypenameMacros:
|
||||||
|
- 'DARRAY'
|
||||||
|
UseTab: ForContinuationAndIndentation
|
||||||
|
---
|
||||||
|
Language: ObjC
|
||||||
|
AccessModifierOffset: 2
|
||||||
|
AlignArrayOfStructures: Right
|
||||||
|
AlignConsecutiveAssignments: None
|
||||||
|
AlignConsecutiveBitFields: None
|
||||||
|
AlignConsecutiveDeclarations: None
|
||||||
|
AlignConsecutiveMacros:
|
||||||
|
Enabled: true
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: true
|
||||||
|
AllowShortBlocksOnASingleLine: Never
|
||||||
|
AllowShortEnumsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: Empty
|
||||||
|
AllowShortIfStatementsOnASingleLine: Never
|
||||||
|
AllowShortLambdasOnASingleLine: None
|
||||||
|
AttributeMacros: ['__unused', '__autoreleasing', '_Nonnull', '__bridge']
|
||||||
|
BitFieldColonSpacing: Both
|
||||||
|
#BreakBeforeBraces: Webkit
|
||||||
|
BreakBeforeBraces: Custom
|
||||||
|
BraceWrapping:
|
||||||
|
AfterCaseLabel: false
|
||||||
|
AfterClass: true
|
||||||
|
AfterControlStatement: Never
|
||||||
|
AfterEnum: false
|
||||||
|
AfterFunction: true
|
||||||
|
AfterNamespace: false
|
||||||
|
AfterObjCDeclaration: false
|
||||||
|
AfterStruct: false
|
||||||
|
AfterUnion: false
|
||||||
|
AfterExternBlock: false
|
||||||
|
BeforeCatch: false
|
||||||
|
BeforeElse: false
|
||||||
|
BeforeLambdaBody: false
|
||||||
|
BeforeWhile: false
|
||||||
|
IndentBraces: false
|
||||||
|
SplitEmptyFunction: false
|
||||||
|
SplitEmptyRecord: false
|
||||||
|
SplitEmptyNamespace: true
|
||||||
|
BreakAfterAttributes: Never
|
||||||
|
BreakArrays: false
|
||||||
|
BreakBeforeConceptDeclarations: Allowed
|
||||||
|
BreakBeforeInlineASMColon: OnlyMultiline
|
||||||
|
BreakConstructorInitializers: AfterColon
|
||||||
|
BreakInheritanceList: AfterComma
|
||||||
|
ColumnLimit: 120
|
||||||
|
ConstructorInitializerIndentWidth: 4
|
||||||
|
ContinuationIndentWidth: 4
|
||||||
|
EmptyLineAfterAccessModifier: Never
|
||||||
|
EmptyLineBeforeAccessModifier: LogicalBlock
|
||||||
|
ExperimentalAutoDetectBinPacking: false
|
||||||
|
FixNamespaceComments: true
|
||||||
|
IndentAccessModifiers: false
|
||||||
|
IndentCaseBlocks: false
|
||||||
|
IndentCaseLabels: true
|
||||||
|
IndentExternBlock: Indent
|
||||||
|
IndentGotoLabels: false
|
||||||
|
IndentRequiresClause: true
|
||||||
|
IndentWidth: 4
|
||||||
|
IndentWrappedFunctionNames: true
|
||||||
|
InsertBraces: false
|
||||||
|
InsertNewlineAtEOF: true
|
||||||
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||||
|
LambdaBodyIndentation: Signature
|
||||||
|
NamespaceIndentation: All
|
||||||
|
ObjCBinPackProtocolList: Auto
|
||||||
|
ObjCBlockIndentWidth: 4
|
||||||
|
ObjCBreakBeforeNestedBlockParam: false
|
||||||
|
ObjCSpaceAfterProperty: true
|
||||||
|
ObjCSpaceBeforeProtocolList: true
|
||||||
|
PPIndentWidth: -1
|
||||||
|
PackConstructorInitializers: NextLine
|
||||||
|
QualifierAlignment: Leave
|
||||||
|
ReferenceAlignment: Right
|
||||||
|
RemoveSemicolon: false
|
||||||
|
RequiresClausePosition: WithPreceding
|
||||||
|
RequiresExpressionIndentation: OuterScope
|
||||||
|
SeparateDefinitionBlocks: Always
|
||||||
|
ShortNamespaceLines: 1
|
||||||
|
SortIncludes: false
|
||||||
|
#SortUsingDeclarations: LexicographicNumeric
|
||||||
|
SortUsingDeclarations: true
|
||||||
|
SpaceAfterCStyleCast: true
|
||||||
|
SpaceAfterLogicalNot: false
|
||||||
|
SpaceAroundPointerQualifiers: Default
|
||||||
|
SpaceBeforeCaseColon: false
|
||||||
|
SpaceBeforeCpp11BracedList: true
|
||||||
|
SpaceBeforeCtorInitializerColon: true
|
||||||
|
SpaceBeforeInheritanceColon: true
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpaceBeforeRangeBasedForLoopColon: true
|
||||||
|
SpaceBeforeSquareBrackets: false
|
||||||
|
SpaceInEmptyBlock: false
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesBeforeTrailingComments: 2
|
||||||
|
SpacesInConditionalStatement: false
|
||||||
|
SpacesInLineCommentPrefix:
|
||||||
|
Minimum: 1
|
||||||
|
Maximum: -1
|
||||||
|
Standard: c++17
|
||||||
|
TabWidth: 4
|
||||||
|
UseTab: Never
|
46
.cmake-format.json
Normal file
46
.cmake-format.json
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,10 +1,25 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
[*]
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
[*.{c,cpp,h,hpp}]
|
[*.{c,cpp,h,hpp}]
|
||||||
indent_style = tab
|
indent_style = tab
|
||||||
indent_size = 4
|
indent_size = 4
|
||||||
|
|
||||||
|
[CMakeLists.txt]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[**/CMakeLists.txt]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[cmake/**/*.cmake]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
[*.{yml,yaml}]
|
[*.{yml,yaml}]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
4
.github/FUNDING.yml
vendored
4
.github/FUNDING.yml
vendored
@ -1,3 +1 @@
|
|||||||
open_collective: obs-websocket
|
open_collective: obs-websocket-dev
|
||||||
github: Palakis
|
|
||||||
custom: https://www.paypal.me/stephanelepin
|
|
||||||
|
20
.github/ISSUE_TEMPLATE.md
vendored
20
.github/ISSUE_TEMPLATE.md
vendored
@ -1,20 +0,0 @@
|
|||||||
##### Issue type
|
|
||||||
<!--- Uncomment one of the two options below. -->
|
|
||||||
|
|
||||||
<!--- - Bug report -->
|
|
||||||
<!--- - Feature request -->
|
|
||||||
|
|
||||||
##### Description
|
|
||||||
<!--- Describe the bug encountered or feature requested. -->
|
|
||||||
|
|
||||||
##### Steps to reproduce and other useful info
|
|
||||||
<!--- If it's a bug, please describe the steps to reproduce it and PLEASE include an OBS log file. Otherwise, remove this section. -->
|
|
||||||
|
|
||||||
##### Technical information
|
|
||||||
- **Operating System:**
|
|
||||||
- **OBS Studio version:**
|
|
||||||
- **obs-websocket version:**
|
|
||||||
|
|
||||||
##### Development Environment
|
|
||||||
<!--- If you're trying to compile obs-websocket, please describe your compiler type and version (e.g: GCC 4.7, VC2013, ...), and the CMake settings used. -->
|
|
||||||
<!--- Remove this section if it does not apply. -->
|
|
127
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
Normal file
127
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
name: Bug Report
|
||||||
|
description: Report a bug or crash
|
||||||
|
title: "Bug: "
|
||||||
|
labels: ["Issue: Bug - Unconfirmed"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
id: md_welcome
|
||||||
|
attributes:
|
||||||
|
value: This form is for reporting bugs for obs-websocket!
|
||||||
|
- type: dropdown
|
||||||
|
id: os_info
|
||||||
|
attributes:
|
||||||
|
label: Operating System Info
|
||||||
|
description: What Operating System are you running?
|
||||||
|
options:
|
||||||
|
- Windows 11
|
||||||
|
- Windows 10
|
||||||
|
- Windows 8.1
|
||||||
|
- macOS 12.0
|
||||||
|
- macOS 11.6
|
||||||
|
- macOS 11.5
|
||||||
|
- macOS 11.4
|
||||||
|
- macOS 11.3
|
||||||
|
- macOS 11.2
|
||||||
|
- macOS 11.1
|
||||||
|
- macOS 11.0
|
||||||
|
- macOS 10.15
|
||||||
|
- macOS 10.14
|
||||||
|
- macOS 10.13
|
||||||
|
- Ubuntu 22.04 LTS
|
||||||
|
- Ubuntu 20.10
|
||||||
|
- Ubuntu 20.04 LTS
|
||||||
|
- Other
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: os_info_other
|
||||||
|
attributes:
|
||||||
|
label: Other OS
|
||||||
|
description: "If \"Other\" was selected above, what OS are you using?"
|
||||||
|
placeholder: "e.g., Arch Linux, FreeBSD"
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: dropdown
|
||||||
|
id: obs_version
|
||||||
|
attributes:
|
||||||
|
label: OBS Studio Version
|
||||||
|
description: What version of OBS Studio are you using?
|
||||||
|
options:
|
||||||
|
- 29.0.x
|
||||||
|
- 28.1.x
|
||||||
|
- 28.0.x
|
||||||
|
- 27.2.4
|
||||||
|
- Git
|
||||||
|
- Other
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: obs_version_other
|
||||||
|
attributes:
|
||||||
|
label: OBS Studio Version (Other)
|
||||||
|
description: "If \"Other\" was selected above, what version of OBS Studio are you using?"
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: dropdown
|
||||||
|
id: obs_websocket_version
|
||||||
|
attributes:
|
||||||
|
label: obs-websocket Version
|
||||||
|
description: What version of obs-websocket are you using?
|
||||||
|
options:
|
||||||
|
- 5.1.0
|
||||||
|
- 5.0.1
|
||||||
|
- 5.0.0
|
||||||
|
- Git
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: obs_log_url
|
||||||
|
attributes:
|
||||||
|
label: OBS Studio Log URL
|
||||||
|
description: Please provide the obsproject.com URL (from Help menu > Log Files > Upload Current/Last Log File) to the OBS log file where this issue occurred.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: obs_crash_log_url
|
||||||
|
attributes:
|
||||||
|
label: OBS Studio Crash Log URL
|
||||||
|
description: If this is a crash report, please provide the obsproject.com URL to the OBS crash log file where this issue occurred.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: expected_behavior
|
||||||
|
attributes:
|
||||||
|
label: Expected Behavior
|
||||||
|
description: "What did you expect to happen?"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: current_behavior
|
||||||
|
attributes:
|
||||||
|
label: Current Behavior
|
||||||
|
description: "What actually happened?"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: steps_to_reproduce
|
||||||
|
attributes:
|
||||||
|
label: Steps to Reproduce
|
||||||
|
description: "How do you trigger this bug? Please walk us through it step by step."
|
||||||
|
placeholder: |
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
...
|
||||||
|
value: |
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
...
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional_notes
|
||||||
|
attributes:
|
||||||
|
label: Anything else we should know?
|
||||||
|
validations:
|
||||||
|
required: false
|
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Help/Support
|
||||||
|
url: https://discord.gg/UjfPmYdRPZ
|
||||||
|
about: Development-related help for obs-websocket
|
42
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
Normal file
42
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
name: Feature Request
|
||||||
|
description: Request for a new feature (request/event) to be added to obs-websocket
|
||||||
|
title: "Feature Request: "
|
||||||
|
labels: ["Issue: Feature Request"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
id: md_welcome
|
||||||
|
attributes:
|
||||||
|
value: This form is for requesting features for obs-websocket!
|
||||||
|
- type: dropdown
|
||||||
|
id: feature_request_type
|
||||||
|
attributes:
|
||||||
|
label: Feature Request Type
|
||||||
|
description: What kind of feature would you like to see added to obs-websocket?
|
||||||
|
options:
|
||||||
|
- RPC Request
|
||||||
|
- RPC Event
|
||||||
|
- Settings Dialog
|
||||||
|
- Other
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: feature_request_type_other
|
||||||
|
attributes:
|
||||||
|
label: Feature Request Type (Other)
|
||||||
|
description: "If \"Other\" was selected above, what type of feature request do you have?"
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: requested_feature
|
||||||
|
attributes:
|
||||||
|
label: Requested Feature
|
||||||
|
description: "What feature would you like to see added?"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: requested_feature_scenario
|
||||||
|
attributes:
|
||||||
|
label: Requested Feature Usage Scenario
|
||||||
|
description: "What is a use-case where this feature would be helpful?"
|
||||||
|
validations:
|
||||||
|
required: true
|
15
.github/pull_request_template.md
vendored
15
.github/pull_request_template.md
vendored
@ -1,6 +1,6 @@
|
|||||||
<!--- Please fill out the following template, which will help other contributors review your Pull Request. -->
|
<!--- Please fill out the following template, which will help other contributors review your Pull Request. -->
|
||||||
|
|
||||||
<!--- Make sure you’ve read the contribution guidelines here: https://github.com/Palakis/obs-websocket/blob/master/CONTRIBUTING.md -->
|
<!--- Make sure you’ve read the contribution guidelines here: https://github.com/obsproject/obs-websocket/wiki/Contributing-Guidelines -->
|
||||||
|
|
||||||
### Description
|
### Description
|
||||||
<!--- Describe your changes. -->
|
<!--- Describe your changes. -->
|
||||||
@ -18,18 +18,17 @@ Tested OS(s):
|
|||||||
<!--- What types of changes does your PR introduce? Uncomment all that apply -->
|
<!--- What types of changes does your PR introduce? Uncomment all that apply -->
|
||||||
|
|
||||||
<!--- - Bug fix (non-breaking change which fixes an issue) -->
|
<!--- - Bug fix (non-breaking change which fixes an issue) -->
|
||||||
<!--- - New request/event (non-breaking) -->
|
|
||||||
<!--- - Documentation change (a change to documentation pages) -->
|
|
||||||
<!--- - Enhancement (modification to a current event/request which adds functionality) -->
|
|
||||||
<!--- - Performance enhancement (non-breaking change which improves efficiency) -->
|
<!--- - Performance enhancement (non-breaking change which improves efficiency) -->
|
||||||
<!--- - Code cleanup (non-breaking change which makes code smaller or more readable) -->
|
<!--- - Code cleanup (non-breaking change which makes code smaller or more readable) -->
|
||||||
|
<!--- - New request/event (non-breaking) -->
|
||||||
|
<!--- - Documentation change (a change to documentation pages) -->
|
||||||
|
<!--- - Other Enhancement (anything not applicable to what is listed) -->
|
||||||
|
|
||||||
### Checklist:
|
### Checklist:
|
||||||
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
|
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
|
||||||
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
|
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
|
||||||
- [ ] I have read the [**contributing** document](https://github.com/Palakis/obs-websocket/blob/4.x-current/CONTRIBUTING.md).
|
- [ ] I have read the [Contributing Guidelines](https://github.com/obsproject/obs-websocket/wiki/Contributing-Guidelines).
|
||||||
- [ ] My code is not on the master branch.
|
|
||||||
- [ ] The code has been tested.
|
|
||||||
- [ ] All commit messages are properly formatted and commits squashed where appropriate.
|
- [ ] All commit messages are properly formatted and commits squashed where appropriate.
|
||||||
|
- [ ] My code is not on `master` or a `release/*` branch.
|
||||||
|
- [ ] The code has been tested.
|
||||||
- [ ] I have included updates to all appropriate documentation.
|
- [ ] I have included updates to all appropriate documentation.
|
||||||
|
|
||||||
|
22
.github/workflows/crowdin_upload.yml
vendored
Normal file
22
.github/workflows/crowdin_upload.yml
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: Upload Language Files 🌐
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- "**/en-US.ini"
|
||||||
|
jobs:
|
||||||
|
upload-language-files:
|
||||||
|
name: Upload Language Files 🌐
|
||||||
|
if: github.repository_owner == 'obsproject'
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 100
|
||||||
|
- name: Upload US English Language Files 🇺🇸
|
||||||
|
uses: obsproject/obs-crowdin-sync/upload@30b5446e3b5eb19595aa68a81ddf896a857302cf
|
||||||
|
env:
|
||||||
|
CROWDIN_PAT: ${{ secrets.CROWDIN_SYNC_CROWDIN_PAT }}
|
||||||
|
GITHUB_EVENT_BEFORE: ${{ github.event.before }}
|
||||||
|
SUBMODULE_NAME: obs-websocket
|
2
.github/workflows/generate_docs.yml
vendored
2
.github/workflows/generate_docs.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
|||||||
IS_CI: "true"
|
IS_CI: "true"
|
||||||
steps:
|
steps:
|
||||||
- name: 'Checkout'
|
- name: 'Checkout'
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: ${{ github.workspace }}/obs-websocket
|
path: ${{ github.workspace }}/obs-websocket
|
||||||
- name: 'Generate docs'
|
- name: 'Generate docs'
|
||||||
|
24
.github/workflows/lint.yml
vendored
Normal file
24
.github/workflows/lint.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
name: Code Quality
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
markdown:
|
||||||
|
name: Lint Markdown
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: contains(github.event.head_commit.message, '[skip ci]') != true
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Generate docs
|
||||||
|
run: cd docs && ./build_docs.sh
|
||||||
|
- name: Run markdownlint-cli
|
||||||
|
uses: nosborn/github-action-markdown-cli@v3.0.1
|
||||||
|
with:
|
||||||
|
files: .
|
357
.github/workflows/main.yml
vendored
357
.github/workflows/main.yml
vendored
@ -1,357 +0,0 @@
|
|||||||
name: "CI Multiplatform Build"
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
paths-ignore:
|
|
||||||
- 'docs/**'
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
tags:
|
|
||||||
- '[45].[0-9]+.[0-9]+*'
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- 'docs/**'
|
|
||||||
- '**.md'
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
windows:
|
|
||||||
name: 'Windows 32/64-bit'
|
|
||||||
runs-on: [windows-latest]
|
|
||||||
if: contains(github.event.head_commit.message, '[skip ci]') != true
|
|
||||||
env:
|
|
||||||
QT_CACHE_VERSION: '2' # Change whenever updating OBS dependencies URL, in order to force a cache reset
|
|
||||||
QT_VERSION: '5.15.2'
|
|
||||||
WINDOWS_DEPS_CACHE_VERSION: '1' # Change whenever updating Qt dependency URL, in order to force a cache reset
|
|
||||||
WINDOWS_DEPS_VERSION: '2019'
|
|
||||||
CMAKE_GENERATOR: "Visual Studio 16 2019"
|
|
||||||
CMAKE_SYSTEM_VERSION: "10.0"
|
|
||||||
steps:
|
|
||||||
- name: 'Add msbuild to PATH'
|
|
||||||
uses: microsoft/setup-msbuild@v1.0.2
|
|
||||||
- name: 'Checkout obs-websocket'
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
path: ${{ github.workspace }}/obs-websocket
|
|
||||||
submodules: 'recursive'
|
|
||||||
- name: 'Checkout OBS-Studio'
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: obsproject/obs-studio
|
|
||||||
path: ${{ github.workspace }}/obs-studio
|
|
||||||
submodules: 'recursive'
|
|
||||||
- name: 'Get OBS-Studio Git Info'
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
run: |
|
|
||||||
git fetch --prune --unshallow
|
|
||||||
echo "OBS_GIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
|
||||||
echo "OBS_GIT_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
|
|
||||||
- name: 'Checkout last OBS-Studio release (${{ env.OBS_GIT_TAG }})'
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
run: |
|
|
||||||
git checkout ${{ env.OBS_GIT_TAG }}
|
|
||||||
git submodule update
|
|
||||||
- name: 'Get obs-websocket Git Info'
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
run: |
|
|
||||||
git fetch --prune --unshallow
|
|
||||||
GIT_HASH=$(git rev-parse --short HEAD)
|
|
||||||
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
|
|
||||||
GIT_TAG=$(git describe --exact-match --tags --abbrev=0) || GIT_TAG=""
|
|
||||||
echo "GIT_TAG=$GIT_TAG" >> $GITHUB_ENV
|
|
||||||
if [ "$GIT_TAG" ] ; then \
|
|
||||||
VERSION="$GIT_TAG" \
|
|
||||||
VERSION_SUFFIX=$(echo "$GIT_TAG" | cut -c6-20) ; \
|
|
||||||
else \
|
|
||||||
VERSION="$GIT_HASH-git" \
|
|
||||||
VERSION_SUFFIX="-$GIT_HASH-git" ; \
|
|
||||||
fi
|
|
||||||
echo "PACKAGE_VERSION=$VERSION" >> $GITHUB_ENV
|
|
||||||
echo "CMAKE_VERSION_SUFFIX=$VERSION_SUFFIX" >> $GITHUB_ENV
|
|
||||||
- name: 'Restore Cached Qt'
|
|
||||||
id: qtcache
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: Qt_${{ env.QT_VERSION }}.7z
|
|
||||||
key: 'qtdep-${{ env.QT_CACHE_VERSION }} | ${{ runner.os }}'
|
|
||||||
restore-keys: |
|
|
||||||
qtdep-${{ env.QT_CACHE_VERSION }} | ${{ runner.os }}
|
|
||||||
- name: 'Download Prerequisite: Qt'
|
|
||||||
if: steps.qtcache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
curl -kLO https://tt2468.net/dl/Qt_${{ env.QT_VERSION }}.7z -f --retry 5 -C -
|
|
||||||
- name: 'Extract Prerequisite: Qt'
|
|
||||||
run: |
|
|
||||||
7z x Qt_${{ env.QT_VERSION }}.7z -o"${{ github.workspace }}\cmbuild\QT"
|
|
||||||
- name: 'Restore Cached OBS-Studio Dependencies'
|
|
||||||
id: obscache
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ${{ github.workspace }}\cmbuild\deps\**
|
|
||||||
key: 'obsdep-${{ env.WINDOWS_DEPS_CACHE_VERSION }} | ${{ runner.os }}'
|
|
||||||
restore-keys: |
|
|
||||||
obsdep-${{ env.WINDOWS_DEPS_CACHE_VERSION }} | ${{ runner.os }}
|
|
||||||
- name: 'Install Prerequisite: Pre-built OBS-Studio dependencies'
|
|
||||||
if: steps.obscache.outputs.cache-hit != 'true'
|
|
||||||
run: |
|
|
||||||
curl -kLO https://cdn-fastly.obsproject.com/downloads/dependencies${{ env.WINDOWS_DEPS_VERSION }}.zip -f --retry 5 -C -
|
|
||||||
7z x dependencies${{ env.WINDOWS_DEPS_VERSION }}.zip -o"${{ github.workspace }}\cmbuild\deps"
|
|
||||||
- name: 'Restore OBS-Studio 32-bit Build v${{ env.OBS_GIT_TAG }} from Cache'
|
|
||||||
id: build-cache-obs-32
|
|
||||||
uses: actions/cache@v2
|
|
||||||
env:
|
|
||||||
CACHE_NAME: 'build-cache-obs-32'
|
|
||||||
with:
|
|
||||||
path: ${{ github.workspace }}/obs-studio/build32
|
|
||||||
key: ${{ runner.os }}-${{ env.CACHE_NAME }}-${{ env.OBS_GIT_TAG }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-${{ env.CACHE_NAME }}-
|
|
||||||
- name: 'Configure OBS-Studio 32-bit'
|
|
||||||
if: steps.build-cache-obs-32.outputs.cache-hit != 'true'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
run: |
|
|
||||||
if(!(Test-Path -Path ".\build32")){New-Item -ItemType directory -Path .\build32}
|
|
||||||
cd .\build32
|
|
||||||
cmake -G "${{ env.CMAKE_GENERATOR }}" -A Win32 -DCMAKE_SYSTEM_VERSION="${{ env.CMAKE_SYSTEM_VERSION }}" -DQTDIR="${{ github.workspace }}\cmbuild\QT\${{ env.QT_VERSION }}\msvc2019" -DDepsPath="${{ github.workspace }}\cmbuild\deps\win32" -DCOPIED_DEPENDENCIES=NO -DCOPY_DEPENDENCIES=YES -DBUILD_BROWSER=OFF ..
|
|
||||||
- name: 'Build OBS-Studio 32-bit'
|
|
||||||
if: steps.build-cache-obs-32.outputs.cache-hit != 'true'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
run: |
|
|
||||||
msbuild /m /p:Configuration=RelWithDebInfo .\build32\libobs\libobs.vcxproj
|
|
||||||
msbuild /m /p:Configuration=RelWithDebInfo .\build32\UI\obs-frontend-api\obs-frontend-api.vcxproj
|
|
||||||
- name: 'Restore OBS-Studio 64-bit Build v${{ env.OBS_GIT_TAG }} from Cache'
|
|
||||||
id: build-cache-obs-64
|
|
||||||
uses: actions/cache@v1
|
|
||||||
env:
|
|
||||||
CACHE_NAME: 'build-cache-obs-64'
|
|
||||||
with:
|
|
||||||
path: ${{ github.workspace }}/obs-studio/build64
|
|
||||||
key: ${{ runner.os }}-${{ env.CACHE_NAME }}-${{ env.OBS_GIT_TAG }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-${{ env.CACHE_NAME }}-
|
|
||||||
- name: 'Configure OBS-Studio 64-bit'
|
|
||||||
if: steps.build-cache-obs-64.outputs.cache-hit != 'true'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
run: |
|
|
||||||
if(!(Test-Path -Path ".\build64")){New-Item -ItemType directory -Path .\build64}
|
|
||||||
cd .\build64
|
|
||||||
cmake -G "${{ env.CMAKE_GENERATOR }}" -A x64 -DCMAKE_SYSTEM_VERSION="${{ env.CMAKE_SYSTEM_VERSION }}" -DQTDIR="${{ github.workspace }}\cmbuild\QT\${{ env.QT_VERSION }}\msvc2019_64" -DDepsPath="${{ github.workspace }}\cmbuild\deps\win64" -DCOPIED_DEPENDENCIES=NO -DCOPY_DEPENDENCIES=YES -DBUILD_BROWSER=OFF ..
|
|
||||||
- name: 'Build OBS-Studio 64-bit'
|
|
||||||
if: steps.build-cache-obs-64.outputs.cache-hit != 'true'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
run: |
|
|
||||||
msbuild /m /p:Configuration=RelWithDebInfo .\build64\libobs\libobs.vcxproj
|
|
||||||
msbuild /m /p:Configuration=RelWithDebInfo .\build64\UI\obs-frontend-api\obs-frontend-api.vcxproj
|
|
||||||
- name: 'Configure obs-websocket 32-bit'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
run: |
|
|
||||||
mkdir .\build32
|
|
||||||
cd .\build32
|
|
||||||
cmake -G "${{ env.CMAKE_GENERATOR }}" -A Win32 -DCMAKE_SYSTEM_VERSION="${{ env.CMAKE_SYSTEM_VERSION }}" -DQTDIR="${{ github.workspace }}\cmbuild\QT\${{ env.QT_VERSION }}\msvc2019" -DLibObs_DIR="${{ github.workspace }}\obs-studio\build32\libobs" -DLIBOBS_INCLUDE_DIR="${{ github.workspace }}\obs-studio\libobs" -DLIBOBS_LIB="${{ github.workspace }}\obs-studio\build32\libobs\RelWithDebInfo\obs.lib" -DOBS_FRONTEND_LIB="${{ github.workspace }}\obs-studio\build32\UI\obs-frontend-api\RelWithDebInfo\obs-frontend-api.lib" -DOBS_WEBSOCKET_VERSION_SUFFIX="${{ env.CMAKE_VERSION_SUFFIX }}" ..
|
|
||||||
- name: 'Configure obs-websocket 64-bit'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
run: |
|
|
||||||
mkdir .\build64
|
|
||||||
cd .\build64
|
|
||||||
cmake -G "${{ env.CMAKE_GENERATOR }}" -A x64 -DCMAKE_SYSTEM_VERSION="${{ env.CMAKE_SYSTEM_VERSION }}" -DQTDIR="${{ github.workspace }}\cmbuild\QT\${{ env.QT_VERSION }}\msvc2019_64" -DLibObs_DIR="${{ github.workspace }}\obs-studio\build64\libobs" -DLIBOBS_INCLUDE_DIR="${{ github.workspace }}\obs-studio\libobs" -DLIBOBS_LIB="${{ github.workspace }}\obs-studio\build64\libobs\RelWithDebInfo\obs.lib" -DOBS_FRONTEND_LIB="${{ github.workspace }}\obs-studio\build64\UI\obs-frontend-api\RelWithDebInfo\obs-frontend-api.lib" -DOBS_WEBSOCKET_VERSION_SUFFIX="${{ env.CMAKE_VERSION_SUFFIX }}" ..
|
|
||||||
- name: 'Build obs-websocket 32-bit'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
run: msbuild /m /p:Configuration=RelWithDebInfo .\build32\obs-websocket.sln
|
|
||||||
- name: 'Build obs-websocket 64-bit'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
run: msbuild /m /p:Configuration=RelWithDebInfo .\build64\obs-websocket.sln
|
|
||||||
- name: 'Set PR Artifact Filename'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "WIN_FILENAME=obs-websocket-${{ env.PACKAGE_VERSION }}-Windows" >> $GITHUB_ENV
|
|
||||||
- name: 'Package obs-websocket'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
run: |
|
|
||||||
mkdir package
|
|
||||||
cd package
|
|
||||||
7z a "${{ env.WIN_FILENAME }}.zip" "..\release\*"
|
|
||||||
iscc ..\installer\installer-windows.generated.iss /O. /F"${{ env.WIN_FILENAME }}-Installer"
|
|
||||||
- name: 'Publish ${{ env.WIN_FILENAME }}.zip'
|
|
||||||
if: success()
|
|
||||||
uses: actions/upload-artifact@v2-preview
|
|
||||||
with:
|
|
||||||
name: 'obs-websocket-${{ env.PACKAGE_VERSION }}-Windows'
|
|
||||||
path: ${{ github.workspace }}/obs-websocket/package/*.zip
|
|
||||||
- name: 'Publish ${{ env.WIN_FILENAME }}-Installer.exe'
|
|
||||||
if: success()
|
|
||||||
uses: actions/upload-artifact@v2-preview
|
|
||||||
with:
|
|
||||||
name: 'obs-websocket-${{ env.PACKAGE_VERSION }}-Windows-Installer'
|
|
||||||
path: ${{ github.workspace }}/obs-websocket/package/*.exe
|
|
||||||
ubuntu64:
|
|
||||||
name: "Linux/Ubuntu 64-bit"
|
|
||||||
runs-on: [ubuntu-latest]
|
|
||||||
if: contains(github.event.head_commit.message, '[skip ci]') != true
|
|
||||||
steps:
|
|
||||||
- name: 'Checkout obs-websocket'
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
path: ${{ github.workspace }}/obs-websocket
|
|
||||||
submodules: 'recursive'
|
|
||||||
- name: 'Checkout OBS-Studio'
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: obsproject/obs-studio
|
|
||||||
path: ${{ github.workspace }}/obs-studio
|
|
||||||
submodules: 'recursive'
|
|
||||||
- name: 'Get OBS-Studio Git Info'
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
run: |
|
|
||||||
git fetch --prune --unshallow
|
|
||||||
echo "OBS_GIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
|
||||||
echo "OBS_GIT_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
|
|
||||||
- name: 'Checkout last OBS-Studio release (${{ env.OBS_GIT_TAG }})'
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
run: |
|
|
||||||
git checkout ${{ env.OBS_GIT_TAG }}
|
|
||||||
git submodule update
|
|
||||||
- name: 'Get obs-websocket git info'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
run: |
|
|
||||||
git fetch --prune --unshallow
|
|
||||||
GIT_HASH=$(git rev-parse --short HEAD)
|
|
||||||
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
|
|
||||||
GIT_TAG=$(git describe --exact-match --tags --abbrev=0) || GIT_TAG=""
|
|
||||||
echo "GIT_TAG=$GIT_TAG" >> $GITHUB_ENV
|
|
||||||
if [ "$GIT_TAG" ] ; then \
|
|
||||||
VERSION="$GIT_TAG" \
|
|
||||||
VERSION_SUFFIX=$(echo "$GIT_TAG" | cut -c6-20) ; \
|
|
||||||
else \
|
|
||||||
VERSION="$GIT_HASH-git" \
|
|
||||||
VERSION_SUFFIX="-$GIT_HASH-git" ; \
|
|
||||||
fi
|
|
||||||
echo "PACKAGE_VERSION=$VERSION" >> $GITHUB_ENV
|
|
||||||
echo "CMAKE_VERSION_SUFFIX=$VERSION_SUFFIX" >> $GITHUB_ENV
|
|
||||||
- name: 'Install prerequisites (Apt)'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
sudo dpkg --add-architecture amd64
|
|
||||||
sudo apt-get -qq update
|
|
||||||
sudo apt-get install -y \
|
|
||||||
build-essential \
|
|
||||||
checkinstall \
|
|
||||||
cmake \
|
|
||||||
libasound2-dev \
|
|
||||||
libavcodec-dev \
|
|
||||||
libavdevice-dev \
|
|
||||||
libavfilter-dev \
|
|
||||||
libavformat-dev \
|
|
||||||
libavutil-dev \
|
|
||||||
libcurl4-openssl-dev \
|
|
||||||
libfdk-aac-dev \
|
|
||||||
libfontconfig-dev \
|
|
||||||
libfreetype6-dev \
|
|
||||||
libgl1-mesa-dev \
|
|
||||||
libjack-jackd2-dev \
|
|
||||||
libjansson-dev \
|
|
||||||
libluajit-5.1-dev \
|
|
||||||
libpulse-dev \
|
|
||||||
libqt5x11extras5-dev \
|
|
||||||
libspeexdsp-dev \
|
|
||||||
libswresample-dev \
|
|
||||||
libswscale-dev \
|
|
||||||
libudev-dev \
|
|
||||||
libv4l-dev \
|
|
||||||
libva-dev \
|
|
||||||
libvlc-dev \
|
|
||||||
libx11-dev \
|
|
||||||
libx264-dev \
|
|
||||||
libxcb-randr0-dev \
|
|
||||||
libxcb-shm0-dev \
|
|
||||||
libxcb-xinerama0-dev \
|
|
||||||
libxcomposite-dev \
|
|
||||||
libxinerama-dev \
|
|
||||||
libmbedtls-dev \
|
|
||||||
pkg-config \
|
|
||||||
python3-dev \
|
|
||||||
qtbase5-dev \
|
|
||||||
qtbase5-private-dev \
|
|
||||||
libqt5svg5-dev \
|
|
||||||
swig \
|
|
||||||
libxcb-randr0-dev \
|
|
||||||
libxcb-xfixes0-dev \
|
|
||||||
libx11-xcb-dev \
|
|
||||||
libxcb1-dev \
|
|
||||||
libxss-dev \
|
|
||||||
- name: 'Configure OBS-Studio'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
mkdir ./build
|
|
||||||
cd ./build
|
|
||||||
cmake -DDISABLE_PLUGINS=YES -DENABLE_SCRIPTING=NO -DUNIX_STRUCTURE=YES -DCMAKE_INSTALL_PREFIX=/usr ..
|
|
||||||
- name: 'Build OBS-Studio'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -e
|
|
||||||
cd ./build
|
|
||||||
make -j4 libobs obs-frontend-api
|
|
||||||
- name: 'Install OBS-Studio'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-studio
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cd ./build
|
|
||||||
sudo cp ./libobs/libobs.so /usr/lib
|
|
||||||
sudo cp ./UI/obs-frontend-api/libobs-frontend-api.so /usr/lib
|
|
||||||
sudo mkdir -p /usr/include/obs
|
|
||||||
sudo cp ../UI/obs-frontend-api/obs-frontend-api.h /usr/include/obs/obs-frontend-api.h
|
|
||||||
- name: 'Configure obs-websocket'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
mkdir ./build
|
|
||||||
cd ./build
|
|
||||||
if [ "${{ env.GIT_TAG }}" ] ; then \
|
|
||||||
cmake -DLIBOBS_INCLUDE_DIR=${{ github.workspace }}/obs-studio/libobs -DCMAKE_INSTALL_PREFIX=/usr -DUSE_UBUNTU_FIX=TRUE -DOBS_WEBSOCKET_VERSION_SUFFIX="${{ env.CMAKE_VERSION_SUFFIX }}" -DCMAKE_BUILD_TYPE=Release .. ; \
|
|
||||||
else \
|
|
||||||
cmake -DLIBOBS_INCLUDE_DIR=${{ github.workspace }}/obs-studio/libobs -DCMAKE_INSTALL_PREFIX=/usr -DUSE_UBUNTU_FIX=TRUE -DOBS_WEBSOCKET_VERSION_SUFFIX="${{ env.CMAKE_VERSION_SUFFIX }}" .. ; \
|
|
||||||
fi
|
|
||||||
- name: 'Build obs-websocket'
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -e
|
|
||||||
cd ./build
|
|
||||||
make -j4
|
|
||||||
- name: 'Set PR Artifact Filename'
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "LINUX_FILENAME=obs-websocket-${{ env.PACKAGE_VERSION }}-Ubuntu64.deb" >> $GITHUB_ENV
|
|
||||||
- name: 'Package ${{ env.LINUX_FILENAME }}'
|
|
||||||
if: success()
|
|
||||||
working-directory: ${{ github.workspace }}/obs-websocket
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [ "${{ env.GIT_TAG }}" ] ; then \
|
|
||||||
CHECKINSTALL_VERSION="${{ env.PACKAGE_VERSION }}" ; \
|
|
||||||
else \
|
|
||||||
CHECKINSTALL_VERSION="1-${{ env.PACKAGE_VERSION }}" ; \
|
|
||||||
fi
|
|
||||||
cd ./build
|
|
||||||
sudo checkinstall -y --type=debian --fstrans=no -nodoc \
|
|
||||||
--backup=no --deldoc=yes --install=no --pkgname=obs-websocket --pkgversion="$CHECKINSTALL_VERSION" \
|
|
||||||
--pkglicense="GPLv2.0" --maintainer="${{ github.event.pusher.email }}" --pkggroup="video" \
|
|
||||||
--pkgsource="${{ github.event.repository.html_url }}" \
|
|
||||||
--requires="obs-studio,libqt5network5,libqt5concurrent5,qt5-image-formats-plugins" \
|
|
||||||
--pakdir="../package"
|
|
||||||
sudo chmod ao+r ../package/*
|
|
||||||
sudo mv ../package/* ../package/${{ env.LINUX_FILENAME }}
|
|
||||||
cd -
|
|
||||||
- name: 'Publish ${{ env.LINUX_FILENAME }}'
|
|
||||||
if: success()
|
|
||||||
uses: actions/upload-artifact@v2-preview
|
|
||||||
with:
|
|
||||||
name: 'obs-websocket-${{ env.PACKAGE_VERSION }}-Ubuntu64'
|
|
||||||
path: '${{ github.workspace }}/obs-websocket/package/*.deb'
|
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -1,13 +1,12 @@
|
|||||||
*~
|
*~
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
.idea
|
||||||
|
.vscode
|
||||||
/build/
|
/build/
|
||||||
/build32/
|
/build32/
|
||||||
/build64/
|
/build64/
|
||||||
/release/
|
/release/
|
||||||
/package/
|
/package/
|
||||||
/installer/Output/
|
/installer/Output/
|
||||||
.idea
|
|
||||||
.vscode
|
|
||||||
/docs/node_modules/
|
/docs/node_modules/
|
||||||
/src/plugin-macros.generated.h
|
/cmake-build-debug/
|
||||||
/installer/installer-windows.generated.iss
|
|
||||||
|
12
.gitmodules
vendored
12
.gitmodules
vendored
@ -1,12 +0,0 @@
|
|||||||
[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
|
|
||||||
|
2
.markdownlintignore
Normal file
2
.markdownlintignore
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/deps
|
||||||
|
/docs/comments/node_modules
|
3
.markdownlintrc
Normal file
3
.markdownlintrc
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"line-length": false
|
||||||
|
}
|
66
BUILDING.md
66
BUILDING.md
@ -1,66 +0,0 @@
|
|||||||
# Compiling obs-websocket
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
You'll need [Qt 5.15.2 on Windows/Mac](https://download.qt.io/official_releases/qt/5.10/) or Qt 5.12.8 on Linux,
|
|
||||||
[CMake](https://cmake.org/download/) and a working [OBS Studio development environment](https://obsproject.com/wiki/install-instructions) installed on your
|
|
||||||
computer.
|
|
||||||
|
|
||||||
## Windows
|
|
||||||
|
|
||||||
In cmake-gui, you'll have to set the following variables :
|
|
||||||
|
|
||||||
- **QTDIR** (path) : location of the Qt environment suited for your compiler and architecture
|
|
||||||
- **LIBOBS_INCLUDE_DIR** (path) : location of the libobs subfolder in the source code of OBS Studio
|
|
||||||
- **LIBOBS_LIB** (filepath) : location of the obs.lib file
|
|
||||||
- **OBS_FRONTEND_LIB** (filepath) : location of the obs-frontend-api.lib file
|
|
||||||
|
|
||||||
## Linux
|
|
||||||
|
|
||||||
On Debian/Ubuntu :
|
|
||||||
|
|
||||||
```shell
|
|
||||||
sudo apt-get install libboost-all-dev
|
|
||||||
git clone --recursive https://github.com/Palakis/obs-websocket.git
|
|
||||||
cd obs-websocket
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake -DLIBOBS_INCLUDE_DIR="<path to the libobs sub-folder in obs-studio's source code>" -DCMAKE_INSTALL_PREFIX=/usr -DUSE_UBUNTU_FIX=true ..
|
|
||||||
make -j4
|
|
||||||
sudo make install
|
|
||||||
```
|
|
||||||
|
|
||||||
On other linux OS's, use this cmake command instead:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
cmake -DLIBOBS_INCLUDE_DIR="<path to the libobs sub-folder in obs-studio's source code>" -DCMAKE_INSTALL_PREFIX=/usr ..
|
|
||||||
```
|
|
||||||
|
|
||||||
## OS X
|
|
||||||
|
|
||||||
As a prerequisite, you will need Xcode for your current OSX version, the Xcode command line tools, and [Homebrew](https://brew.sh/).
|
|
||||||
Homebrew's setup will guide you in getting your system set up, you should be good to go once Homebrew is successfully up and running.
|
|
||||||
|
|
||||||
Use of the macOS CI scripts is recommended. Please note that these
|
|
||||||
scripts install new software and can change several settings on your system. An
|
|
||||||
existing obs-studio development environment is not required, as
|
|
||||||
`install-build-obs-macos.sh` will install it for you. If you already have a
|
|
||||||
working obs-studio development environment and have built obs-studio, you can
|
|
||||||
skip that script.
|
|
||||||
|
|
||||||
Of course, you're encouraged to dig through the contents of these scripts to
|
|
||||||
look for issues or specificities.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
git clone --recursive https://github.com/Palakis/obs-websocket.git
|
|
||||||
cd obs-websocket
|
|
||||||
./CI/install-dependencies-macos.sh
|
|
||||||
./CI/install-build-obs-macos.sh
|
|
||||||
./CI/build-macos.sh
|
|
||||||
./CI/package-macos.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
This will result in a ready-to-use `obs-websocket.pkg` installer in the `release` subfolder.
|
|
||||||
|
|
||||||
## Automated Builds
|
|
||||||
|
|
||||||

|
|
@ -3,13 +3,13 @@ set -e
|
|||||||
echo "-- Generating documentation."
|
echo "-- Generating documentation."
|
||||||
echo "-- Node version: $(node -v)"
|
echo "-- Node version: $(node -v)"
|
||||||
echo "-- NPM version: $(npm -v)"
|
echo "-- NPM version: $(npm -v)"
|
||||||
|
echo "-- Python3 version: $(python3 -V)"
|
||||||
|
|
||||||
git fetch origin
|
git fetch origin
|
||||||
git checkout ${CHECKOUT_REF/refs\/heads\//}
|
git checkout ${CHECKOUT_REF/refs\/heads\//}
|
||||||
|
|
||||||
cd docs
|
cd docs
|
||||||
npm install
|
bash build_docs.sh
|
||||||
npm run build
|
|
||||||
|
|
||||||
echo "-- Documentation successfully generated."
|
echo "-- Documentation successfully generated."
|
||||||
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
brew "jack"
|
|
||||||
brew "speexdsp"
|
|
||||||
brew "cmake"
|
|
||||||
brew "freetype"
|
|
||||||
brew "fdk-aac"
|
|
@ -1,26 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
OSTYPE=$(uname)
|
|
||||||
|
|
||||||
if [ "${OSTYPE}" != "Darwin" ]; then
|
|
||||||
echo "[obs-websocket - Error] macOS build script can be run on Darwin-type OS only."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
HAS_CMAKE=$(type cmake 2>/dev/null)
|
|
||||||
|
|
||||||
if [ "${HAS_CMAKE}" = "" ]; then
|
|
||||||
echo "[obs-websocket - Error] CMake not installed - please run 'install-dependencies-macos.sh' first."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "[obs-websocket] Building 'obs-websocket' for macOS."
|
|
||||||
mkdir -p build && cd build
|
|
||||||
cmake .. \
|
|
||||||
-DQTDIR=/tmp/obsdeps \
|
|
||||||
-DLIBOBS_INCLUDE_DIR=../../obs-studio/libobs \
|
|
||||||
-DLIBOBS_LIB=../../obs-studio/libobs \
|
|
||||||
-DOBS_FRONTEND_LIB="$(pwd)/../../obs-studio/build/UI/obs-frontend-api/libobs-frontend-api.dylib" \
|
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
||||||
&& make -j4
|
|
@ -1,39 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
OSTYPE=$(uname)
|
|
||||||
|
|
||||||
if [ "${OSTYPE}" != "Darwin" ]; then
|
|
||||||
echo "[obs-websocket - Error] macOS obs-studio build script can be run on Darwin-type OS only."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
HAS_CMAKE=$(type cmake 2>/dev/null)
|
|
||||||
HAS_GIT=$(type git 2>/dev/null)
|
|
||||||
|
|
||||||
if [ "${HAS_CMAKE}" = "" ]; then
|
|
||||||
echo "[obs-websocket - Error] CMake not installed - please run 'install-dependencies-macos.sh' first."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${HAS_GIT}" = "" ]; then
|
|
||||||
echo "[obs-websocket - Error] Git not installed - please install Xcode developer tools or via Homebrew."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build obs-studio
|
|
||||||
cd ..
|
|
||||||
echo "[obs-websocket] Cloning obs-studio from GitHub.."
|
|
||||||
git clone https://github.com/obsproject/obs-studio
|
|
||||||
cd obs-studio
|
|
||||||
OBSLatestTag=$(git describe --tags --abbrev=0)
|
|
||||||
git checkout $OBSLatestTag
|
|
||||||
mkdir build && cd build
|
|
||||||
echo "[obs-websocket] Building obs-studio.."
|
|
||||||
cmake .. \
|
|
||||||
-DQTDIR=/tmp/obsdeps \
|
|
||||||
-DDepsPath=/tmp/obsdeps \
|
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 \
|
|
||||||
-DDISABLE_PLUGINS=true \
|
|
||||||
-DENABLE_SCRIPTING=0 \
|
|
||||||
-DCMAKE_PREFIX_PATH=/tmp/obsdeps/lib/cmake \
|
|
||||||
&& make -j4
|
|
@ -1,57 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
OSTYPE=$(uname)
|
|
||||||
|
|
||||||
if [ "${OSTYPE}" != "Darwin" ]; then
|
|
||||||
echo "[obs-websocket - Error] macOS install dependencies script can be run on Darwin-type OS only."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
HAS_BREW=$(type brew 2>/dev/null)
|
|
||||||
|
|
||||||
if [ "${HAS_BREW}" = "" ]; then
|
|
||||||
echo "[obs-websocket - Error] Please install Homebrew (https://www.brew.sh/) to build obs-websocket on macOS."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# OBS Studio Brew Deps
|
|
||||||
echo "[obs-websocket] Updating Homebrew.."
|
|
||||||
brew update >/dev/null
|
|
||||||
echo "[obs-websocket] Checking installed Homebrew formulas.."
|
|
||||||
|
|
||||||
if [ -d /usr/local/opt/openssl@1.0.2t ]; then
|
|
||||||
brew uninstall openssl@1.0.2t
|
|
||||||
brew untap local/openssl
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d /usr/local/opt/python@2.7.17 ]; then
|
|
||||||
brew uninstall python@2.7.17
|
|
||||||
brew untap local/python2
|
|
||||||
fi
|
|
||||||
|
|
||||||
brew bundle --file ./CI/macos/Brewfile
|
|
||||||
|
|
||||||
# Fetch and install Packages app
|
|
||||||
# =!= NOTICE =!=
|
|
||||||
# Installs a LaunchDaemon under /Library/LaunchDaemons/fr.whitebox.packages.build.dispatcher.plist
|
|
||||||
# =!= NOTICE =!=
|
|
||||||
|
|
||||||
HAS_PACKAGES=$(type packagesbuild 2>/dev/null)
|
|
||||||
|
|
||||||
if [ "${HAS_PACKAGES}" = "" ]; then
|
|
||||||
echo "[obs-websocket] Installing Packaging app (might require password due to 'sudo').."
|
|
||||||
curl -L -O http://s.sudre.free.fr/Software/files/Packages.dmg
|
|
||||||
sudo hdiutil attach ./Packages.dmg
|
|
||||||
sudo installer -pkg /Volumes/Packages\ 1.2.9/Install\ Packages.pkg -target /
|
|
||||||
fi
|
|
||||||
|
|
||||||
# OBS Deps
|
|
||||||
echo "[obs-websocket] Installing obs-websocket dependency 'OBS Deps ${OBS_DEPS_VERSION}'.."
|
|
||||||
wget --quiet --retry-connrefused --waitretry=1 https://github.com/obsproject/obs-deps/releases/download/${OBS_DEPS_VERSION}/macos-deps-${OBS_DEPS_VERSION}.tar.gz
|
|
||||||
tar -xf ./macos-deps-${OBS_DEPS_VERSION}.tar.gz -C /tmp
|
|
||||||
|
|
||||||
# Qt deps
|
|
||||||
echo "[obs-websocket] Installing obs-websocket dependency 'Qt ${QT_VERSION}'.."
|
|
||||||
curl -L -O https://github.com/obsproject/obs-deps/releases/download/${OBS_DEPS_VERSION}/macos-qt-${QT_VERSION}-${OBS_DEPS_VERSION}.tar.gz
|
|
||||||
tar -xf ./macos-qt-${QT_VERSION}-${OBS_DEPS_VERSION}.tar.gz -C "/tmp"
|
|
||||||
xattr -r -d com.apple.quarantine /tmp/obsdeps
|
|
@ -1,726 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>PROJECT</key>
|
|
||||||
<dict>
|
|
||||||
<key>PACKAGE_FILES</key>
|
|
||||||
<dict>
|
|
||||||
<key>DEFAULT_INSTALL_LOCATION</key>
|
|
||||||
<string>/</string>
|
|
||||||
<key>HIERARCHY</key>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>../../build/obs-websocket.so</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>3</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>bin</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>2</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>../../data</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>3</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>obs-websocket</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>2</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>plugins</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>2</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>obs-studio</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>2</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Application Support</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Automator</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Documentation</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Extensions</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Filesystems</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Frameworks</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Input Methods</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Internet Plug-Ins</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>LaunchAgents</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>LaunchDaemons</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>PreferencePanes</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Preferences</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Printers</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>PrivilegedHelperTools</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>QuickLook</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>QuickTime</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Screen Savers</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Scripts</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Services</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Widgets</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Library</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>CHILDREN</key>
|
|
||||||
<array/>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Shared</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>1023</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>80</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>Users</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>GID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>/</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>PERMISSIONS</key>
|
|
||||||
<integer>493</integer>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>UID</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<key>PAYLOAD_TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>VERSION</key>
|
|
||||||
<integer>4</integer>
|
|
||||||
</dict>
|
|
||||||
<key>PACKAGE_SCRIPTS</key>
|
|
||||||
<dict>
|
|
||||||
<key>RESOURCES</key>
|
|
||||||
<array/>
|
|
||||||
</dict>
|
|
||||||
<key>PACKAGE_SETTINGS</key>
|
|
||||||
<dict>
|
|
||||||
<key>AUTHENTICATION</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>CONCLUSION_ACTION</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
<key>IDENTIFIER</key>
|
|
||||||
<string>fr.palakis.obs-websocket</string>
|
|
||||||
<key>OVERWRITE_PERMISSIONS</key>
|
|
||||||
<false/>
|
|
||||||
<key>VERSION</key>
|
|
||||||
<string>5.0.0</string>
|
|
||||||
</dict>
|
|
||||||
<key>PROJECT_COMMENTS</key>
|
|
||||||
<dict>
|
|
||||||
<key>NOTES</key>
|
|
||||||
<data>
|
|
||||||
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M
|
|
||||||
IDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv
|
|
||||||
c3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1l
|
|
||||||
cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
|
|
||||||
IGNoYXJzZXQ9VVRGLTgiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250
|
|
||||||
ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp
|
|
||||||
dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u
|
|
||||||
dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD
|
|
||||||
b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjE0MDQuMTMiPgo8c3R5bGUg
|
|
||||||
dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5
|
|
||||||
Pgo8L2JvZHk+CjwvaHRtbD4K
|
|
||||||
</data>
|
|
||||||
</dict>
|
|
||||||
<key>PROJECT_SETTINGS</key>
|
|
||||||
<dict>
|
|
||||||
<key>BUILD_PATH</key>
|
|
||||||
<dict>
|
|
||||||
<key>PATH</key>
|
|
||||||
<string>../../release</string>
|
|
||||||
<key>PATH_TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
</dict>
|
|
||||||
<key>EXCLUDED_FILES</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>PATTERNS_ARRAY</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>.DS_Store</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>PROTECTED</key>
|
|
||||||
<true/>
|
|
||||||
<key>PROXY_NAME</key>
|
|
||||||
<string>Remove .DS_Store files</string>
|
|
||||||
<key>PROXY_TOOLTIP</key>
|
|
||||||
<string>Remove ".DS_Store" files created by the Finder.</string>
|
|
||||||
<key>STATE</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>PATTERNS_ARRAY</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>.pbdevelopment</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>PROTECTED</key>
|
|
||||||
<true/>
|
|
||||||
<key>PROXY_NAME</key>
|
|
||||||
<string>Remove .pbdevelopment files</string>
|
|
||||||
<key>PROXY_TOOLTIP</key>
|
|
||||||
<string>Remove ".pbdevelopment" files created by ProjectBuilder or Xcode.</string>
|
|
||||||
<key>STATE</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>PATTERNS_ARRAY</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>CVS</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>.cvsignore</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>.cvspass</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>.svn</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>.git</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>.gitignore</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>PROTECTED</key>
|
|
||||||
<true/>
|
|
||||||
<key>PROXY_NAME</key>
|
|
||||||
<string>Remove SCM metadata</string>
|
|
||||||
<key>PROXY_TOOLTIP</key>
|
|
||||||
<string>Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems.</string>
|
|
||||||
<key>STATE</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>PATTERNS_ARRAY</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>classes.nib</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>designable.db</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>info.nib</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>PROTECTED</key>
|
|
||||||
<true/>
|
|
||||||
<key>PROXY_NAME</key>
|
|
||||||
<string>Optimize nib files</string>
|
|
||||||
<key>PROXY_TOOLTIP</key>
|
|
||||||
<string>Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles.</string>
|
|
||||||
<key>STATE</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>PATTERNS_ARRAY</key>
|
|
||||||
<array>
|
|
||||||
<dict>
|
|
||||||
<key>REGULAR_EXPRESSION</key>
|
|
||||||
<false/>
|
|
||||||
<key>STRING</key>
|
|
||||||
<string>Resources Disabled</string>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>PROTECTED</key>
|
|
||||||
<true/>
|
|
||||||
<key>PROXY_NAME</key>
|
|
||||||
<string>Remove Resources Disabled folders</string>
|
|
||||||
<key>PROXY_TOOLTIP</key>
|
|
||||||
<string>Remove "Resources Disabled" folders.</string>
|
|
||||||
<key>STATE</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<dict>
|
|
||||||
<key>SEPARATOR</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</array>
|
|
||||||
<key>NAME</key>
|
|
||||||
<string>obs-websocket</string>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
<key>TYPE</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>VERSION</key>
|
|
||||||
<integer>2</integer>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
@ -1,89 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
OSTYPE=$(uname)
|
|
||||||
|
|
||||||
if [ "${OSTYPE}" != "Darwin" ]; then
|
|
||||||
echo "[obs-websocket - Error] macOS package script can be run on Darwin-type OS only."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "[obs-websocket] Preparing package build"
|
|
||||||
|
|
||||||
GIT_HASH=$(git rev-parse --short HEAD)
|
|
||||||
GIT_BRANCH_OR_TAG=$(git name-rev --name-only HEAD | awk -F/ '{print $NF}')
|
|
||||||
|
|
||||||
VERSION="$GIT_HASH-$GIT_BRANCH_OR_TAG"
|
|
||||||
|
|
||||||
FILENAME_UNSIGNED="obs-websocket-$VERSION-Unsigned.pkg"
|
|
||||||
FILENAME="obs-websocket-$VERSION.pkg"
|
|
||||||
|
|
||||||
echo "[obs-websocket] Modifying obs-websocket.so linking"
|
|
||||||
install_name_tool \
|
|
||||||
-change /tmp/obsdeps/lib/QtWidgets.framework/Versions/5/QtWidgets \
|
|
||||||
@executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \
|
|
||||||
-change /tmp/obsdeps/lib/QtGui.framework/Versions/5/QtGui \
|
|
||||||
@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \
|
|
||||||
-change /tmp/obsdeps/lib/QtCore.framework/Versions/5/QtCore \
|
|
||||||
@executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \
|
|
||||||
./build/obs-websocket.so
|
|
||||||
|
|
||||||
# Check if replacement worked
|
|
||||||
echo "[obs-websocket] Dependencies for obs-websocket"
|
|
||||||
otool -L ./build/obs-websocket.so
|
|
||||||
|
|
||||||
if [[ "$RELEASE_MODE" == "True" ]]; then
|
|
||||||
echo "[obs-websocket] Signing plugin binary: obs-websocket.so"
|
|
||||||
codesign --sign "$CODE_SIGNING_IDENTITY" ./build/obs-websocket.so
|
|
||||||
else
|
|
||||||
echo "[obs-websocket] Skipped plugin codesigning"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "[obs-websocket] Actual package build"
|
|
||||||
packagesbuild ./CI/macos/obs-websocket.pkgproj
|
|
||||||
|
|
||||||
echo "[obs-websocket] Renaming obs-websocket.pkg to $FILENAME"
|
|
||||||
mv ./release/obs-websocket.pkg ./release/$FILENAME_UNSIGNED
|
|
||||||
|
|
||||||
if [[ "$RELEASE_MODE" == "True" ]]; then
|
|
||||||
echo "[obs-websocket] Signing installer: $FILENAME"
|
|
||||||
productsign \
|
|
||||||
--sign "$INSTALLER_SIGNING_IDENTITY" \
|
|
||||||
./release/$FILENAME_UNSIGNED \
|
|
||||||
./release/$FILENAME
|
|
||||||
rm ./release/$FILENAME_UNSIGNED
|
|
||||||
|
|
||||||
echo "[obs-websocket] Submitting installer $FILENAME for notarization"
|
|
||||||
zip -r ./release/$FILENAME.zip ./release/$FILENAME
|
|
||||||
UPLOAD_RESULT=$(xcrun altool \
|
|
||||||
--notarize-app \
|
|
||||||
--primary-bundle-id "fr.palakis.obs-websocket" \
|
|
||||||
--username "$AC_USERNAME" \
|
|
||||||
--password "$AC_PASSWORD" \
|
|
||||||
--asc-provider "$AC_PROVIDER_SHORTNAME" \
|
|
||||||
--file "./release/$FILENAME.zip")
|
|
||||||
rm ./release/$FILENAME.zip
|
|
||||||
|
|
||||||
REQUEST_UUID=$(echo $UPLOAD_RESULT | awk -F ' = ' '/RequestUUID/ {print $2}')
|
|
||||||
echo "Request UUID: $REQUEST_UUID"
|
|
||||||
|
|
||||||
echo "[obs-websocket] Wait for notarization result"
|
|
||||||
# Pieces of code borrowed from rednoah/notarized-app
|
|
||||||
while sleep 30 && date; do
|
|
||||||
CHECK_RESULT=$(xcrun altool \
|
|
||||||
--notarization-info "$REQUEST_UUID" \
|
|
||||||
--username "$AC_USERNAME" \
|
|
||||||
--password "$AC_PASSWORD" \
|
|
||||||
--asc-provider "$AC_PROVIDER_SHORTNAME")
|
|
||||||
echo $CHECK_RESULT
|
|
||||||
|
|
||||||
if ! grep -q "Status: in progress" <<< "$CHECK_RESULT"; then
|
|
||||||
echo "[obs-websocket] Staple ticket to installer: $FILENAME"
|
|
||||||
xcrun stapler staple ./release/$FILENAME
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
echo "[obs-websocket] Skipped installer codesigning and notarization"
|
|
||||||
fi
|
|
467
CMakeLists.txt
467
CMakeLists.txt
@ -1,304 +1,183 @@
|
|||||||
cmake_minimum_required(VERSION 3.16...3.20)
|
cmake_minimum_required(VERSION 3.16...3.25)
|
||||||
|
|
||||||
# Version variables
|
legacy_check()
|
||||||
project(obs-websocket VERSION 5.0.0)
|
|
||||||
|
set(obs-websocket_VERSION 5.5.0)
|
||||||
set(OBS_WEBSOCKET_RPC_VERSION 1)
|
set(OBS_WEBSOCKET_RPC_VERSION 1)
|
||||||
|
|
||||||
|
include(cmake/obs-websocket-api.cmake)
|
||||||
|
|
||||||
# Set correct version string
|
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
|
||||||
if(DEFINED OBS_WEBSOCKET_VERSION_SUFFIX AND NOT OBS_WEBSOCKET_VERSION_SUFFIX STREQUAL "")
|
if(NOT ENABLE_WEBSOCKET)
|
||||||
set(OBS_WEBSOCKET_VERSION "${CMAKE_PROJECT_VERSION}${OBS_WEBSOCKET_VERSION_SUFFIX}")
|
target_disable(obs-websocket)
|
||||||
message(WARNING "-----------------------------------\nVersion Suffix provided. OBS_WEBSOCKET_VERSION is now ${OBS_WEBSOCKET_VERSION}\n-----------------------------------")
|
return()
|
||||||
else()
|
|
||||||
set(OBS_WEBSOCKET_VERSION "${CMAKE_PROJECT_VERSION}")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Find Qt
|
||||||
|
find_package(Qt6 REQUIRED Core Widgets Svg Network)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
# Find nlohmann JSON
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
find_package(nlohmann_json 3 REQUIRED)
|
||||||
|
|
||||||
|
# Find qrcodegencpp
|
||||||
|
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
||||||
|
find_package(qrcodegencpp REQUIRED)
|
||||||
|
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG OFF)
|
||||||
|
|
||||||
# Prohibit in-source builds
|
# Find WebSocket++
|
||||||
file(TO_CMAKE_PATH "${PROJECT_BINARY_DIR}/CMakeLists.txt" _LOC_PATH)
|
find_package(Websocketpp 0.8 REQUIRED)
|
||||||
if(EXISTS "${LOC_PATH}")
|
|
||||||
message(FATAL_ERROR "obs-websocket: You cannot build in a source directory (or any directory with "
|
# Find Asio
|
||||||
"CMakeLists.txt file). Please make a build subdirectory. Feel free to "
|
find_package(Asio 1.12.1 REQUIRED)
|
||||||
"remove CMakeCache.txt and CMakeFiles.")
|
|
||||||
endif()
|
add_library(obs-websocket MODULE)
|
||||||
unset(_LOC_PATH)
|
add_library(OBS::websocket ALIAS obs-websocket)
|
||||||
|
|
||||||
|
target_sources(
|
||||||
# Allow selection of common build types via UI
|
obs-websocket
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
PRIVATE # cmake-format: sortable
|
||||||
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
|
src/Config.cpp
|
||||||
"OBS build type [Release, RelWithDebInfo, Debug, MinSizeRel]" FORCE)
|
src/Config.h
|
||||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Release RelWithDebInfo Debug MinSizeRel)
|
src/forms/ConnectInfo.cpp
|
||||||
endif()
|
src/forms/ConnectInfo.h
|
||||||
|
src/forms/resources.qrc
|
||||||
|
src/forms/SettingsDialog.cpp
|
||||||
# Qt build stuff
|
src/forms/SettingsDialog.h
|
||||||
set(CMAKE_PREFIX_PATH "${QTDIR}")
|
src/obs-websocket.cpp
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
src/obs-websocket.h
|
||||||
set(CMAKE_AUTOMOC ON)
|
src/WebSocketApi.cpp
|
||||||
set(CMAKE_AUTOUIC ON)
|
src/WebSocketApi.h)
|
||||||
|
|
||||||
set(CMAKE_AUTORCC ON) # For resources.qrc
|
target_sources(
|
||||||
|
obs-websocket
|
||||||
# Tell websocketpp not to use system boost
|
PRIVATE # cmake-format: sortable
|
||||||
add_definitions(-DASIO_STANDALONE)
|
src/websocketserver/rpc/WebSocketSession.h
|
||||||
|
src/websocketserver/types/WebSocketCloseCode.h
|
||||||
|
src/websocketserver/types/WebSocketOpCode.h
|
||||||
# Arm build fixes
|
src/websocketserver/WebSocketServer.cpp
|
||||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
src/websocketserver/WebSocketServer.h
|
||||||
set(CMAKE_CXX_FLAGS "-mfpu=neon")
|
src/websocketserver/WebSocketServer_Protocol.cpp)
|
||||||
endif()
|
|
||||||
|
target_sources(
|
||||||
|
obs-websocket
|
||||||
# Find libobs
|
PRIVATE # cmake-format: sortable
|
||||||
if (WIN32 OR APPLE)
|
src/eventhandler/EventHandler.cpp
|
||||||
include(cmake/FindLibObs.cmake)
|
src/eventhandler/EventHandler.h
|
||||||
endif()
|
src/eventhandler/EventHandler_Config.cpp
|
||||||
find_package(LibObs REQUIRED)
|
src/eventhandler/EventHandler_Filters.cpp
|
||||||
|
src/eventhandler/EventHandler_General.cpp
|
||||||
|
src/eventhandler/EventHandler_Inputs.cpp
|
||||||
# Find Qt5
|
src/eventhandler/EventHandler_MediaInputs.cpp
|
||||||
find_package(Qt5 REQUIRED COMPONENTS Core Widgets Svg Concurrent Network)
|
src/eventhandler/EventHandler_Outputs.cpp
|
||||||
|
src/eventhandler/EventHandler_SceneItems.cpp
|
||||||
|
src/eventhandler/EventHandler_Scenes.cpp
|
||||||
# Find nlohmann
|
src/eventhandler/EventHandler_Transitions.cpp
|
||||||
set(JSON_BuildTests OFF CACHE INTERNAL "")
|
src/eventhandler/EventHandler_Ui.cpp
|
||||||
add_subdirectory(deps/json)
|
src/eventhandler/types/EventSubscription.h)
|
||||||
|
|
||||||
|
target_sources(
|
||||||
# Configure files
|
obs-websocket
|
||||||
configure_file(
|
PRIVATE # cmake-format: sortable
|
||||||
src/plugin-macros.h.in
|
src/requesthandler/RequestBatchHandler.cpp
|
||||||
../src/plugin-macros.generated.h
|
src/requesthandler/RequestBatchHandler.h
|
||||||
)
|
src/requesthandler/RequestHandler.cpp
|
||||||
configure_file(
|
src/requesthandler/RequestHandler.h
|
||||||
installer/installer-windows.iss.in
|
src/requesthandler/RequestHandler_Config.cpp
|
||||||
../installer/installer-windows.generated.iss
|
src/requesthandler/RequestHandler_Filters.cpp
|
||||||
)
|
src/requesthandler/RequestHandler_General.cpp
|
||||||
|
src/requesthandler/RequestHandler_Inputs.cpp
|
||||||
|
src/requesthandler/RequestHandler_MediaInputs.cpp
|
||||||
# Inlude sources
|
src/requesthandler/RequestHandler_Outputs.cpp
|
||||||
set(obs-websocket_SOURCES
|
src/requesthandler/RequestHandler_Record.cpp
|
||||||
src/obs-websocket.cpp
|
src/requesthandler/RequestHandler_SceneItems.cpp
|
||||||
src/Config.cpp
|
src/requesthandler/RequestHandler_Scenes.cpp
|
||||||
src/WebSocketServer.cpp
|
src/requesthandler/RequestHandler_Sources.cpp
|
||||||
src/WebSocketProtocol.cpp
|
src/requesthandler/RequestHandler_Stream.cpp
|
||||||
src/WebSocketSession.cpp
|
src/requesthandler/RequestHandler_Transitions.cpp
|
||||||
src/eventhandler/EventHandler.cpp
|
src/requesthandler/RequestHandler_Ui.cpp
|
||||||
src/eventhandler/EventHandler_General.cpp
|
src/requesthandler/rpc/Request.cpp
|
||||||
src/eventhandler/EventHandler_Config.cpp
|
src/requesthandler/rpc/Request.h
|
||||||
src/eventhandler/EventHandler_Scenes.cpp
|
src/requesthandler/rpc/RequestBatchRequest.cpp
|
||||||
src/eventhandler/EventHandler_Inputs.cpp
|
src/requesthandler/rpc/RequestBatchRequest.h
|
||||||
src/eventhandler/EventHandler_Transitions.cpp
|
src/requesthandler/rpc/RequestResult.cpp
|
||||||
src/eventhandler/EventHandler_Filters.cpp
|
src/requesthandler/rpc/RequestResult.h
|
||||||
src/eventhandler/EventHandler_Outputs.cpp
|
src/requesthandler/types/RequestBatchExecutionType.h
|
||||||
src/eventhandler/EventHandler_SceneItems.cpp
|
src/requesthandler/types/RequestStatus.h)
|
||||||
src/eventhandler/EventHandler_MediaInputs.cpp
|
|
||||||
src/requesthandler/RequestHandler.cpp
|
target_sources(
|
||||||
src/requesthandler/RequestHandler_General.cpp
|
obs-websocket
|
||||||
src/requesthandler/RequestHandler_Config.cpp
|
PRIVATE # cmake-format: sortable
|
||||||
src/requesthandler/RequestHandler_Sources.cpp
|
src/utils/Compat.cpp
|
||||||
src/requesthandler/RequestHandler_Scenes.cpp
|
src/utils/Compat.h
|
||||||
src/requesthandler/RequestHandler_Inputs.cpp
|
src/utils/Crypto.cpp
|
||||||
src/requesthandler/RequestHandler_SceneItems.cpp
|
src/utils/Crypto.h
|
||||||
src/requesthandler/RequestHandler_Stream.cpp
|
src/utils/Json.cpp
|
||||||
src/requesthandler/rpc/Request.cpp
|
src/utils/Json.h
|
||||||
src/requesthandler/rpc/RequestResult.cpp
|
src/utils/Obs.cpp
|
||||||
src/forms/SettingsDialog.cpp
|
src/utils/Obs.h
|
||||||
src/forms/ConnectInfo.cpp
|
src/utils/Obs_ActionHelper.cpp
|
||||||
src/forms/resources.qrc
|
src/utils/Obs_ArrayHelper.cpp
|
||||||
src/utils/Crypto.cpp
|
src/utils/Obs_NumberHelper.cpp
|
||||||
src/utils/Json.cpp
|
src/utils/Obs_ObjectHelper.cpp
|
||||||
src/utils/Obs.cpp
|
src/utils/Obs_SearchHelper.cpp
|
||||||
src/utils/Platform.cpp
|
src/utils/Obs_StringHelper.cpp
|
||||||
deps/qr/cpp/QrCode.cpp)
|
src/utils/Obs_VolumeMeter.cpp
|
||||||
|
src/utils/Obs_VolumeMeter.h
|
||||||
set(obs-websocket_HEADERS
|
src/utils/Obs_VolumeMeter_Helpers.h
|
||||||
src/obs-websocket.h
|
src/utils/Platform.cpp
|
||||||
src/Config.h
|
src/utils/Platform.h
|
||||||
src/WebSocketServer.h
|
src/utils/Utils.h)
|
||||||
src/WebSocketProtocol.h
|
|
||||||
src/WebSocketSession.h
|
configure_file(src/plugin-macros.h.in plugin-macros.generated.h)
|
||||||
src/eventhandler/EventHandler.h
|
target_sources(obs-websocket PRIVATE plugin-macros.generated.h)
|
||||||
src/eventhandler/types/EventSubscription.h
|
|
||||||
src/requesthandler/RequestHandler.h
|
target_compile_definitions(
|
||||||
src/requesthandler/rpc/Request.h
|
obs-websocket PRIVATE ASIO_STANDALONE $<$<BOOL:${PLUGIN_TESTS}>:PLUGIN_TESTS>
|
||||||
src/requesthandler/rpc/RequestResult.h
|
$<$<PLATFORM_ID:Windows>:_WEBSOCKETPP_CPP11_STL_> $<$<PLATFORM_ID:Windows>:_WIN32_WINNT=0x0603>)
|
||||||
src/requesthandler/rpc/RequestStatus.h
|
|
||||||
src/forms/SettingsDialog.h
|
target_compile_options(
|
||||||
src/forms/ConnectInfo.h
|
obs-websocket
|
||||||
src/utils/Crypto.h
|
PRIVATE $<$<PLATFORM_ID:Windows>:/wd4267>
|
||||||
src/utils/Json.h
|
$<$<COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang>:-Wall>
|
||||||
src/utils/Obs.h
|
$<$<COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang>:-Wno-error=float-conversion>
|
||||||
src/utils/Platform.h
|
$<$<COMPILE_LANG_AND_ID:CXX,GNU,AppleClang,Clang>:-Wno-error=shadow>
|
||||||
src/utils/Utils.h
|
$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-error=format-overflow>
|
||||||
deps/qr/cpp/QrCode.hpp)
|
$<$<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>
|
||||||
# Platform-independent build settings
|
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=deprecated-declarations>
|
||||||
add_library(obs-websocket MODULE
|
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=implicit-int-conversion>
|
||||||
${obs-websocket_SOURCES}
|
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-error=shorten-64-to-32>
|
||||||
${obs-websocket_HEADERS})
|
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-comma>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-quoted-include-in-framework-header>)
|
||||||
include_directories(
|
|
||||||
"${LIBOBS_INCLUDE_DIR}/../UI/obs-frontend-api"
|
target_link_libraries(
|
||||||
${Qt5Core_INCLUDES}
|
obs-websocket
|
||||||
${Qt5Widgets_INCLUDES}
|
PRIVATE OBS::libobs
|
||||||
${Qt5Svg_INCLUDES}
|
OBS::frontend-api
|
||||||
${Qt5Concurrent_INCLUDES}
|
OBS::websocket-api
|
||||||
${Qt5Network_INCLUDES}
|
Qt::Core
|
||||||
"${CMAKE_SOURCE_DIR}/deps/asio/asio/include"
|
Qt::Widgets
|
||||||
"${CMAKE_SOURCE_DIR}/deps/websocketpp")
|
Qt::Svg
|
||||||
|
Qt::Network
|
||||||
target_link_libraries(obs-websocket
|
nlohmann_json::nlohmann_json
|
||||||
libobs
|
Websocketpp::Websocketpp
|
||||||
Qt5::Core
|
Asio::Asio
|
||||||
Qt5::Widgets
|
qrcodegencpp::qrcodegencpp)
|
||||||
Qt5::Svg
|
|
||||||
Qt5::Concurrent
|
target_link_options(obs-websocket PRIVATE $<$<PLATFORM_ID:Windows>:/IGNORE:4099>)
|
||||||
Qt5::Network
|
|
||||||
nlohmann_json::nlohmann_json)
|
set_target_properties_obs(
|
||||||
|
obs-websocket
|
||||||
|
PROPERTIES FOLDER plugins
|
||||||
# Windows-specific build settings and tasks
|
PREFIX ""
|
||||||
if(WIN32)
|
AUTOMOC ON
|
||||||
if(NOT DEFINED OBS_FRONTEND_LIB)
|
AUTOUIC ON
|
||||||
set(OBS_FRONTEND_LIB "OBS_FRONTEND_LIB-NOTFOUND" CACHE FILEPATH "OBS frontend library")
|
AUTORCC ON)
|
||||||
message(FATAL_ERROR "Could not find OBS Frontend API's library!")
|
|
||||||
endif()
|
if(OS_WINDOWS)
|
||||||
|
set_property(
|
||||||
if(MSVC)
|
TARGET obs-websocket
|
||||||
# Enable Multicore Builds and disable FH4 (to not depend on VCRUNTIME140_1.DLL)
|
APPEND
|
||||||
add_definitions(/MP /d2FH4-)
|
PROPERTY AUTORCC_OPTIONS --format-version 1)
|
||||||
endif()
|
|
||||||
|
|
||||||
add_definitions(-D_WEBSOCKETPP_CPP11_STL_)
|
|
||||||
|
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
||||||
set(ARCH_NAME "64bit")
|
|
||||||
set(OBS_BUILDDIR_ARCH "build64")
|
|
||||||
else()
|
|
||||||
set(ARCH_NAME "32bit")
|
|
||||||
set(OBS_BUILDDIR_ARCH "build32")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include_directories(
|
|
||||||
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/UI"
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(obs-websocket
|
|
||||||
"${OBS_FRONTEND_LIB}")
|
|
||||||
|
|
||||||
# Release package helper
|
|
||||||
# The "release" folder has a structure similar OBS' one on Windows
|
|
||||||
set(RELEASE_DIR "${PROJECT_SOURCE_DIR}/release")
|
|
||||||
|
|
||||||
add_custom_command(TARGET obs-websocket POST_BUILD
|
|
||||||
# If config is Release or RelWithDebInfo, package release files
|
|
||||||
COMMAND if $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E make_directory
|
|
||||||
"${RELEASE_DIR}/obs-plugins/${ARCH_NAME}"
|
|
||||||
)
|
|
||||||
|
|
||||||
COMMAND if $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E copy_directory
|
|
||||||
"${PROJECT_SOURCE_DIR}/data"
|
|
||||||
"${RELEASE_DIR}/data/obs-plugins/obs-websocket"
|
|
||||||
)
|
|
||||||
|
|
||||||
COMMAND if $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E copy
|
|
||||||
"$<TARGET_FILE:obs-websocket>"
|
|
||||||
"${RELEASE_DIR}/obs-plugins/${ARCH_NAME}"
|
|
||||||
)
|
|
||||||
|
|
||||||
# In Release or RelWithDebInfo mode, copy Qt image format plugins
|
|
||||||
COMMAND if $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E make_directory
|
|
||||||
"${RELEASE_DIR}/bin/${ARCH_NAME}/imageformats"
|
|
||||||
)
|
|
||||||
COMMAND if $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E copy
|
|
||||||
"${QTDIR}/plugins/imageformats/qicns.dll"
|
|
||||||
"${QTDIR}/plugins/imageformats/qico.dll"
|
|
||||||
"${QTDIR}/plugins/imageformats/qjpeg.dll"
|
|
||||||
"${QTDIR}/plugins/imageformats/qtiff.dll"
|
|
||||||
"${QTDIR}/plugins/imageformats/qwbmp.dll"
|
|
||||||
"${QTDIR}/plugins/imageformats/qwebp.dll"
|
|
||||||
"${RELEASE_DIR}/bin/${ARCH_NAME}/imageformats"
|
|
||||||
)
|
|
||||||
|
|
||||||
# If config is RelWithDebInfo, package PDB file for target
|
|
||||||
COMMAND if $<CONFIG:RelWithDebInfo>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E copy
|
|
||||||
"$<TARGET_PDB_FILE:obs-websocket>"
|
|
||||||
"${RELEASE_DIR}/obs-plugins/${ARCH_NAME}"
|
|
||||||
)
|
|
||||||
|
|
||||||
# In the Debug configuration, copy to obs-studio dev environment for immediate testing
|
|
||||||
COMMAND if $<CONFIG:Debug>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E copy
|
|
||||||
"$<TARGET_FILE:obs-websocket>"
|
|
||||||
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/rundir/$<CONFIG>/obs-plugins/${ARCH_NAME}"
|
|
||||||
)
|
|
||||||
|
|
||||||
COMMAND if $<CONFIG:Debug>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E copy
|
|
||||||
"$<TARGET_PDB_FILE:obs-websocket>"
|
|
||||||
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/rundir/$<CONFIG>/obs-plugins/${ARCH_NAME}"
|
|
||||||
)
|
|
||||||
|
|
||||||
COMMAND if $<CONFIG:Debug>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E make_directory
|
|
||||||
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/rundir/$<CONFIG>/data/obs-plugins/obs-websocket"
|
|
||||||
)
|
|
||||||
|
|
||||||
COMMAND if $<CONFIG:Debug>==1 (
|
|
||||||
"${CMAKE_COMMAND}" -E copy_directory
|
|
||||||
"${PROJECT_SOURCE_DIR}/data"
|
|
||||||
"${LIBOBS_INCLUDE_DIR}/../${OBS_BUILDDIR_ARCH}/rundir/$<CONFIG>/data/obs-plugins/obs-websocket"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
# Linux-specific build settings and tasks
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
|
|
||||||
set_target_properties(obs-websocket PROPERTIES PREFIX "")
|
|
||||||
target_link_libraries(obs-websocket obs-frontend-api)
|
|
||||||
|
|
||||||
# Manually set permissions for locales
|
|
||||||
file(GLOB locale_files data/locale/*.ini)
|
|
||||||
set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
|
|
||||||
OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|
|
||||||
|
|
||||||
# Manually set file permissions for binary
|
|
||||||
install(TARGETS obs-websocket LIBRARY
|
|
||||||
DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/obs-plugins"
|
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
|
||||||
|
|
||||||
# OBS on Ubuntu installs into a different directory than most linux distros
|
|
||||||
if(${USE_UBUNTU_FIX})
|
|
||||||
install(TARGETS obs-websocket LIBRARY
|
|
||||||
DESTINATION "/usr/lib/obs-plugins"
|
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(FILES ${locale_files}
|
|
||||||
DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/obs/obs-plugins/obs-websocket/locale")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# MacOS-specific build settings and tasks
|
|
||||||
if(APPLE)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -fvisibility=default")
|
|
||||||
|
|
||||||
set(CMAKE_SKIP_RPATH TRUE)
|
|
||||||
set_target_properties(obs-websocket PROPERTIES PREFIX "")
|
|
||||||
target_link_libraries(obs-websocket "${OBS_FRONTEND_LIB}")
|
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,88 +0,0 @@
|
|||||||
# Contributing to obs-websocket
|
|
||||||
|
|
||||||
## Translating obs-websocket to your language
|
|
||||||
|
|
||||||
Localization happens on [Crowdin](https://crowdin.com/project/obs-websocket)
|
|
||||||
|
|
||||||
## Branches
|
|
||||||
|
|
||||||
**Development happens on `master`**
|
|
||||||
|
|
||||||
## Writing code for obs-websocket
|
|
||||||
|
|
||||||
### Code Formatting Guidelines
|
|
||||||
|
|
||||||
* Function and variable names: camelCase for variables, MixedCaps for method names
|
|
||||||
|
|
||||||
* Request and Event names should use MixedCaps names. Keep naming conformity of request naming using similar terms like `Get`, `Set`, `Get[x]List`, `Start[x]`, `Toggle[x]`.
|
|
||||||
|
|
||||||
* Request and Event json properties/fields should use camelCase. Try to use existing property names.
|
|
||||||
|
|
||||||
* Code is indented with Tabs. Assume they are 4 columns wide
|
|
||||||
|
|
||||||
* 80 columns max code width. (Comments/docs can be larger)
|
|
||||||
|
|
||||||
* New and updated requests/events must always come with accompanying documentation comments (see existing protocol elements for examples).
|
|
||||||
These are required to automatically generate the [protocol specification document](docs/generated/protocol.md).
|
|
||||||
|
|
||||||
### Code Best-Practices
|
|
||||||
|
|
||||||
* Favor return-early code and avoid wrapping huge portions of code in conditionals. As an example, this:
|
|
||||||
```cpp
|
|
||||||
if (success) {
|
|
||||||
return RequestResult::Success();
|
|
||||||
} else {
|
|
||||||
return RequestResult::Error(RequestStatus::GenericError);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
is better like this:
|
|
||||||
```cpp
|
|
||||||
if (!success) {
|
|
||||||
return RequestResult::Error(RequestStatus::GenericError);
|
|
||||||
}
|
|
||||||
return RequestResult::Success();
|
|
||||||
```
|
|
||||||
|
|
||||||
* Try to use the [built-in](https://github.com/Palakis/obs-websocket/blob/master/src/requesthandler/rpc/Request.h) request checks when possible.
|
|
||||||
* Refer to existing requests for usage examples.
|
|
||||||
|
|
||||||
* Some example common response/request property names are:
|
|
||||||
* `sceneName` - The name of a scene
|
|
||||||
* `inputName` - The name of an input
|
|
||||||
* `sourceName` - The name of a source (only for when multiple source types apply)
|
|
||||||
* `sceneItemEnabled` - Whether a scene item is enabled
|
|
||||||
|
|
||||||
* Response parameters which have no attributed data due to an invalid state should be set to `null` (versus being left out)
|
|
||||||
* For example, when `GetSceneList` is called and OBS is not in studio mode, `currentPreviewSceneName` will be `null`
|
|
||||||
* If a request's core response data depends on a state, an error should be thrown unless `ignoreNonFatalRequestChecks` is set. See `GetCurrentPreviewScene` as an example.
|
|
||||||
|
|
||||||
### Commit Guidelines
|
|
||||||
|
|
||||||
* Commits follow the 50/72 standard:
|
|
||||||
* 50 characters max for the commit title (excluding scope name)
|
|
||||||
* One empty line after the title
|
|
||||||
* Description wrapped to 72 columns max width per line.
|
|
||||||
|
|
||||||
* Commit titles:
|
|
||||||
* Use present tense
|
|
||||||
* Prefix the title with a "scope" name
|
|
||||||
* e.g: "CI: fix wrong behaviour when packaging for OS X"
|
|
||||||
* Typical scopes: CI, General, Requests, Events, Server
|
|
||||||
|
|
||||||
**Example commit:**
|
|
||||||
|
|
||||||
```
|
|
||||||
Requests: Add GetSceneList
|
|
||||||
|
|
||||||
Adds a new request called `GetSceneList` which returns the current
|
|
||||||
scene, along with an array of objects, each one with a scene name
|
|
||||||
and index.
|
|
||||||
```
|
|
||||||
|
|
||||||
### Pull Requests
|
|
||||||
|
|
||||||
* Pull Requests must never be based off your fork's main branch (in this case, `master`).
|
|
||||||
* Start your work in a newly named branch based on the upstream main one (e.g.: `feature/cool-new-feature`, `bugfix/fix-palakis-mistakes`, ...)
|
|
||||||
|
|
||||||
* If your work is not done yet, but for any reason you need to PR it (like collecting discussions, testing with CI, getting testers),
|
|
||||||
create it as a Draft Pull Request (open the little arrow menu next to the "Create pull request" button, then select "Create draft pull request").
|
|
106
README.md
106
README.md
@ -1,42 +1,27 @@
|
|||||||
|
<!-- markdownlint-disable no-inline-html -->
|
||||||
|
|
||||||
# obs-websocket
|
# obs-websocket
|
||||||
|
|
||||||
## YOU HAVE STUMBLED UPON THE DEV BRANCH FOR V5.0.0
|
|
||||||
|
|
||||||
- You can find the main protocol spec here: [PROTOCOL.md](docs/generated/protocol.md).
|
|
||||||
- You can find the planned requests sheet [here](https://docs.google.com/spreadsheets/d/1LfCZrbT8e7cSaKo_TuPDd-CJiptL7RSuo8iE63vMmMs/edit?usp=sharing)
|
|
||||||
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="/.github/images/obsws_logo.png" width=150 align="center">
|
<img src="/.github/images/obsws_logo.png" width=150 align="center">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
WebSockets API for OBS Studio.
|
WebSocket API for OBS Studio.
|
||||||
|
|
||||||
[](https://github.com/Palakis/obs-websocket/actions/workflows/main.yml)
|
|
||||||
[](https://discord.gg/WBaSQ3A)
|
[](https://discord.gg/WBaSQ3A)
|
||||||
[](https://opencollective.com/obs-websocket)
|
[](https://opencollective.com/obs-websocket-dev)
|
||||||
|
|
||||||
## Downloads
|
## Downloads
|
||||||
|
|
||||||
Binaries for Windows, MacOS, and Linux are available in the [Releases](https://github.com/Palakis/obs-websocket/releases) section.
|
**obs-websocket is now included by default with OBS Studio 28.0.0 and above. As such, there should be no need to download obs-websocket if you have OBS Studio > 28.0.0.**
|
||||||
|
|
||||||
### Homebrew
|
Binaries **for OBS Studio < 28.0.0** on Windows, MacOS, and Linux are available in the [Releases](https://github.com/obsproject/obs-websocket/releases) section.
|
||||||
|
|
||||||
If you're using MacOS you can use Homebrew for installation as well:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
brew install obs-websocket
|
|
||||||
```
|
|
||||||
|
|
||||||
## Using obs-websocket
|
## Using obs-websocket
|
||||||
|
|
||||||
Here is a list of available web clients: (compatible with tablets and other touch interfaces)
|
It is **highly recommended** to keep obs-websocket protected with a password against unauthorized control. obs-websocket generates a password for you automatically when you load it for the first time. To change this, open the "obs-websocket Settings" dialog under OBS' "Tools" menu. In the settings dialog, you can enable or disable authentication and set a password for it.
|
||||||
|
|
||||||
- Python 3.7+ (Asyncio): [simpleobsws](https://github.com/IRLToolkit/simpleobsws/tree/master) by IRLToolkit
|
(Psst. You can use `--websocket_port`(value), `--websocket_password`(value), `--websocket_debug`(flag) and `--websocket_ipv4_only`(flag) on the command line to override the configured values.)
|
||||||
|
|
||||||
It is **highly recommended** to protect obs-websocket with a password against unauthorized control. To do this, open the "Websocket server settings" dialog under OBS' "Tools" menu. In the settings dialogs, you can enable or disable authentication and set a password for it.
|
|
||||||
|
|
||||||
(Psst. You can use `--websocket_port`(value), `--websocket_password`(value), and `--websocket_debug`(flag) on the command line to override the configured values.)
|
|
||||||
|
|
||||||
### Possible use cases
|
### Possible use cases
|
||||||
|
|
||||||
@ -44,58 +29,65 @@ It is **highly recommended** to protect obs-websocket with a password against un
|
|||||||
- Change your stream overlay/graphics based on the current scene
|
- Change your stream overlay/graphics based on the current scene
|
||||||
- Automate scene switching with a third-party program (e.g. : auto-pilot, foot pedal, ...)
|
- Automate scene switching with a third-party program (e.g. : auto-pilot, foot pedal, ...)
|
||||||
|
|
||||||
### For developers
|
### Client software
|
||||||
|
|
||||||
The server is a typical Websockets server running by default on port 4444 (the port number can be changed in the Settings dialog).
|
- [Macro Deck](https://macrodeck.org/)
|
||||||
The protocol understood by the server is documented in [PROTOCOL.md](docs/generated/protocol.md).
|
- [Touch Portal](https://www.touch-portal.com/)
|
||||||
|
- [Twitchat](https://twitchat.fr/)
|
||||||
|
- [OBS-web](https://github.com/Niek/obs-web) - hosted client at [obs-web.niek.tv/](http://obs-web.niek.tv/)
|
||||||
|
- [Streamer.bot](https://streamer.bot/)
|
||||||
|
- [Deckboard](https://deckboard.app/)
|
||||||
|
- [OBS Blade](https://github.com/Kounex/obs_blade)
|
||||||
|
- [Aitum](https://aitum.tv/)
|
||||||
|
- [Kruiz Control](https://github.com/Kruiser8/Kruiz-Control)
|
||||||
|
- [Bitfocus Companion Module](https://bitfocus.io/companion/)
|
||||||
|
- [MacroGraph](https://github.com/Brendonovich/macrograph) - hosted client [here](https://macrograph.brendonovich.dev/)
|
||||||
|
- [MATRIC](https://matricapp.com/)
|
||||||
|
|
||||||
Here's a list of available language APIs for obs-websocket :
|
### Client libraries (for developers)
|
||||||
- (No known apis supporting 5.0.0)
|
|
||||||
|
|
||||||
We'd like to know what you're building with or for obs-websocket. If you do something in this fashion, feel free to drop a message in `#project-showoff` in the [discord server!](https://discord.gg/WBaSQ3A)
|
Here's a list of available language APIs for obs-websocket:
|
||||||
|
|
||||||
### Securing obs-websocket (via TLS/SSL)
|
- Python 3.7+ (Asyncio): [simpleobsws](https://github.com/IRLToolkit/simpleobsws/tree/master) by IRLToolkit
|
||||||
|
- Python 3.10+ (Non-Asyncio): [obsws-python](https://pypi.org/project/obsws-python) by aatikturk and onyx-and-iris
|
||||||
|
- Rust: [obws](https://github.com/dnaka91/obws) by dnaka91
|
||||||
|
- Godot 4.0.x: [obs-websocket-gd](https://github.com/you-win/obs-websocket-gd) by you-win
|
||||||
|
- Javascript (Node and web): [obs-websocket-js](https://github.com/obs-websocket-community-projects/obs-websocket-js) by OBS Websocket Community
|
||||||
|
- C (uses obs-websocket-js): [v8-libwebsocket-obs-websocket](https://github.com/dgatwood/v8-libwebsocket-obs-websocket)
|
||||||
|
- Go: [goobs](https://github.com/andreykaipov/goobs) by andreykaipov
|
||||||
|
- Dart/Flutter (can target all supported platforms): [obs_websocket](https://github.com/faithoflifedev/obs_websocket) by faithoflifedev
|
||||||
|
- Java: [obs-websocket-java](https://github.com/obs-websocket-community-projects/obs-websocket-java) by OBS Websocket Community
|
||||||
|
|
||||||
If you are intending to use obs-websocket outside of a LAN environment, it is highly recommended to secure the connection using a tunneling service.
|
The 5.x server is a typical WebSocket server running by default on port 4455 (the port number can be changed in the Settings dialog under `Tools`).
|
||||||
|
The protocol we use is documented in [PROTOCOL.md](docs/generated/protocol.md).
|
||||||
|
|
||||||
See the SSL [tunnelling guide](SSL-TUNNELLING.md) for easy instructions on how to encrypt your websocket connection.
|
We'd like to know what you're building with obs-websocket! If you do something in this fashion, feel free to drop a message in `#project-showoff` in the [discord server!](https://discord.gg/WBaSQ3A)
|
||||||
|
|
||||||
## Compiling obs-websocket
|
|
||||||
|
|
||||||
See the [build instructions](BUILDING.md).
|
|
||||||
|
|
||||||
## Translations
|
|
||||||
|
|
||||||
**Your help is welcome on translations.**
|
|
||||||
|
|
||||||
Please join the localization project on [Crowdin](https://crowdin.com/project/obs-websocket)
|
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
### Code Contributors
|
### Code Contributors
|
||||||
|
|
||||||
This project exists thanks to all the people who contribute. [Contribute](CONTRIBUTING.md).
|
This project exists thanks to [all the people](https://github.com/obsproject/obs-websocket/graphs/contributors) who contribute. [Contribute Code](https://github.com/obsproject/obs-websocket/wiki/Contributing-Guidelines).
|
||||||
<a href="https://github.com/Palakis/obs-websocket/graphs/contributors"><img src="https://opencollective.com/obs-websocket/contributors.svg?width=890&button=false" /></a>
|
|
||||||
|
|
||||||
### Financial Contributors
|
### Financial Contributors
|
||||||
|
|
||||||
Become a financial contributor and help us sustain our community. [Contribute](https://opencollective.com/obs-websocket/contribute)
|
Become a financial contributor and help us sustain our community. [Contribute Financially](https://opencollective.com/obs-websocket-dev/contribute)
|
||||||
|
|
||||||
#### Individuals
|
#### Individuals
|
||||||
|
|
||||||
<a href="https://opencollective.com/obs-websocket"><img src="https://opencollective.com/obs-websocket/individuals.svg?width=890"></a>
|
<a href="https://opencollective.com/obs-websocket-dev"><img src="https://opencollective.com/obs-websocket-dev/individuals.svg?width=890"></a>
|
||||||
|
|
||||||
#### Organizations
|
#### Organizations
|
||||||
|
|
||||||
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute](https://opencollective.com/obs-websocket/contribute)
|
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute](https://opencollective.com/obs-websocket-dev/contribute)
|
||||||
|
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/0/website"><img src="https://opencollective.com/obs-websocket/organization/0/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/0/website"><img src="https://opencollective.com/obs-websocket-dev/organization/0/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/1/website"><img src="https://opencollective.com/obs-websocket/organization/1/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/1/website"><img src="https://opencollective.com/obs-websocket-dev/organization/1/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/2/website"><img src="https://opencollective.com/obs-websocket/organization/2/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/2/website"><img src="https://opencollective.com/obs-websocket-dev/organization/2/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/3/website"><img src="https://opencollective.com/obs-websocket/organization/3/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/3/website"><img src="https://opencollective.com/obs-websocket-dev/organization/3/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/4/website"><img src="https://opencollective.com/obs-websocket/organization/4/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/4/website"><img src="https://opencollective.com/obs-websocket-dev/organization/4/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/5/website"><img src="https://opencollective.com/obs-websocket/organization/5/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/5/website"><img src="https://opencollective.com/obs-websocket-dev/organization/5/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/6/website"><img src="https://opencollective.com/obs-websocket/organization/6/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/6/website"><img src="https://opencollective.com/obs-websocket-dev/organization/6/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/7/website"><img src="https://opencollective.com/obs-websocket/organization/7/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/7/website"><img src="https://opencollective.com/obs-websocket-dev/organization/7/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/8/website"><img src="https://opencollective.com/obs-websocket/organization/8/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/8/website"><img src="https://opencollective.com/obs-websocket-dev/organization/8/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/obs-websocket/organization/9/website"><img src="https://opencollective.com/obs-websocket/organization/9/avatar.svg"></a>
|
<a href="https://opencollective.com/obs-websocket-dev/organization/9/website"><img src="https://opencollective.com/obs-websocket-dev/organization/9/avatar.svg"></a>
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
# Connecting over a TLS/secure connection (or remotely)
|
|
||||||
|
|
||||||
If you want to expose the WebSocket server of obs-websocket over a secure TLS connection (or to connect remotely), the easiest approach is to use a localhost tunneling service like [ngrok](https://ngrok.com/) or [pagekite](https://pagekite.net/).
|
|
||||||
|
|
||||||
**Before doing this, secure the WebSocket server first by enabling authentication with a strong password!**
|
|
||||||
|
|
||||||
**Please bear in mind that doing this will expose your OBS instance to the open Internet and the security risks it implies. *You've been warned!***
|
|
||||||
|
|
||||||
|
|
||||||
## ngrok
|
|
||||||
|
|
||||||
[Install the ngrok CLI tool](https://ngrok.com/download) on a linux OS, then start ngrok bound to port 4444 like this:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ngrok http 4444
|
|
||||||
```
|
|
||||||
|
|
||||||
The ngrok command will output something like this:
|
|
||||||
|
|
||||||
```text
|
|
||||||
ngrok by @inconshreveable
|
|
||||||
|
|
||||||
Tunnel Status online
|
|
||||||
Version 2.0/2.0
|
|
||||||
Web Interface http://127.0.0.1:4040
|
|
||||||
Forwarding http://TUNNEL_ID.ngrok.io -> localhost:4444
|
|
||||||
Forwarding https://TUNNEL_ID.ngrok.io -> localhost:4444
|
|
||||||
```
|
|
||||||
|
|
||||||
Where `TUNNEL_ID` is, as the name implies, the unique name of your ngrok tunnel. You'll get a new one every time you start ngrok.
|
|
||||||
|
|
||||||
Then, use `wss://TUNNEL_ID.ngrok.io` to connect to obs-websocket over TLS.
|
|
||||||
|
|
||||||
See the [ngrok documentation](https://ngrok.com/docs) for more tunneling options and settings.
|
|
||||||
|
|
||||||
|
|
||||||
## PageKite
|
|
||||||
|
|
||||||
[Install the PageKite CLI tool](http://pagekite.net/downloads), then start PageKite bound to port 4444 like this (replace NAME with one of your choosing):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python pagekite.py 4444 NAME.pagekite.me
|
|
||||||
```
|
|
||||||
|
|
||||||
Then, use `wss://NAME.pagekite.me` to connect to obs-websocket over TLS.
|
|
@ -1,107 +0,0 @@
|
|||||||
# This module can be copied and used by external plugins for OBS
|
|
||||||
#
|
|
||||||
# Once done these will be defined:
|
|
||||||
#
|
|
||||||
# LIBOBS_FOUND
|
|
||||||
# LIBOBS_INCLUDE_DIRS
|
|
||||||
# LIBOBS_LIBRARIES
|
|
||||||
|
|
||||||
find_package(PkgConfig QUIET)
|
|
||||||
if (PKG_CONFIG_FOUND)
|
|
||||||
pkg_check_modules(_OBS QUIET obs libobs)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
||||||
set(_lib_suffix 64)
|
|
||||||
else()
|
|
||||||
set(_lib_suffix 32)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(DEFINED CMAKE_BUILD_TYPE)
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
||||||
set(_build_type_base "debug")
|
|
||||||
else()
|
|
||||||
set(_build_type_base "release")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_path(LIBOBS_INCLUDE_DIR
|
|
||||||
NAMES obs.h
|
|
||||||
HINTS
|
|
||||||
ENV obsPath${_lib_suffix}
|
|
||||||
ENV obsPath
|
|
||||||
${obsPath}
|
|
||||||
PATHS
|
|
||||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
|
||||||
PATH_SUFFIXES
|
|
||||||
libobs
|
|
||||||
)
|
|
||||||
|
|
||||||
function(find_obs_lib base_name repo_build_path lib_name)
|
|
||||||
string(TOUPPER "${base_name}" base_name_u)
|
|
||||||
|
|
||||||
if(DEFINED _build_type_base)
|
|
||||||
set(_build_type_${repo_build_path} "${_build_type_base}/${repo_build_path}")
|
|
||||||
set(_build_type_${repo_build_path}${_lib_suffix} "${_build_type_base}${_lib_suffix}/${repo_build_path}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_library(${base_name_u}_LIB
|
|
||||||
NAMES ${_${base_name_u}_LIBRARIES} ${lib_name} lib${lib_name}
|
|
||||||
HINTS
|
|
||||||
ENV obsPath${_lib_suffix}
|
|
||||||
ENV obsPath
|
|
||||||
${obsPath}
|
|
||||||
${_${base_name_u}_LIBRARY_DIRS}
|
|
||||||
PATHS
|
|
||||||
/usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
|
||||||
PATH_SUFFIXES
|
|
||||||
lib${_lib_suffix} lib
|
|
||||||
libs${_lib_suffix} libs
|
|
||||||
bin${_lib_suffix} bin
|
|
||||||
../lib${_lib_suffix} ../lib
|
|
||||||
../libs${_lib_suffix} ../libs
|
|
||||||
../bin${_lib_suffix} ../bin
|
|
||||||
# base repo non-msvc-specific search paths
|
|
||||||
${_build_type_${repo_build_path}}
|
|
||||||
${_build_type_${repo_build_path}${_lib_suffix}}
|
|
||||||
build/${repo_build_path}
|
|
||||||
build${_lib_suffix}/${repo_build_path}
|
|
||||||
# base repo msvc-specific search paths on windows
|
|
||||||
build${_lib_suffix}/${repo_build_path}/Debug
|
|
||||||
build${_lib_suffix}/${repo_build_path}/RelWithDebInfo
|
|
||||||
build/${repo_build_path}/Debug
|
|
||||||
build/${repo_build_path}/RelWithDebInfo
|
|
||||||
)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
find_obs_lib(LIBOBS libobs obs)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
find_obs_lib(W32_PTHREADS deps/w32-pthreads w32-pthreads)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
find_package_handle_standard_args(Libobs DEFAULT_MSG LIBOBS_LIB LIBOBS_INCLUDE_DIR)
|
|
||||||
mark_as_advanced(LIBOBS_INCLUDE_DIR LIBOBS_LIB)
|
|
||||||
|
|
||||||
if(LIBOBS_FOUND)
|
|
||||||
if(MSVC)
|
|
||||||
if (NOT DEFINED W32_PTHREADS_LIB)
|
|
||||||
message(FATAL_ERROR "Could not find the w32-pthreads library" )
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(W32_PTHREADS_INCLUDE_DIR ${LIBOBS_INCLUDE_DIR}/../deps/w32-pthreads)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
|
|
||||||
set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
|
|
||||||
include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
|
|
||||||
|
|
||||||
# allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
|
|
||||||
if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${LIBOBS_INCLUDE_DIR}/../cmake/Modules/")
|
|
||||||
set(INCLUDED_LIBOBS_CMAKE_MODULES true)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Could not find the libobs library" )
|
|
||||||
endif()
|
|
188
cmake/legacy.cmake
Normal file
188
cmake/legacy.cmake
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
project(obs-websocket VERSION 5.5.0)
|
||||||
|
set(OBS_WEBSOCKET_RPC_VERSION 1)
|
||||||
|
|
||||||
|
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
|
||||||
|
|
||||||
|
add_library(obs-websocket-api INTERFACE)
|
||||||
|
add_library(OBS::websocket-api ALIAS obs-websocket-api)
|
||||||
|
|
||||||
|
target_sources(obs-websocket-api INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/lib/obs-websocket-api.h>
|
||||||
|
$<INSTALL_INTERFACE:${OBS_INCLUDE_DESTINATION}/obs-websocket-api.h>)
|
||||||
|
|
||||||
|
target_link_libraries(obs-websocket-api INTERFACE OBS::libobs)
|
||||||
|
|
||||||
|
target_include_directories(obs-websocket-api INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/lib>
|
||||||
|
$<INSTALL_INTERFACE:${OBS_INCLUDE_DESTINATION}>)
|
||||||
|
|
||||||
|
set_target_properties(obs-websocket-api PROPERTIES PUBLIC_HEADER lib/obs-websocket-api.h)
|
||||||
|
|
||||||
|
export_target(obs-websocket-api)
|
||||||
|
|
||||||
|
if(NOT ENABLE_WEBSOCKET OR NOT ENABLE_UI)
|
||||||
|
message(STATUS "OBS: DISABLED obs-websocket")
|
||||||
|
return()
|
||||||
|
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 qrcodegencpp
|
||||||
|
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
||||||
|
find_package(qrcodegencpp REQUIRED)
|
||||||
|
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG OFF)
|
||||||
|
|
||||||
|
# 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(src/plugin-macros.h.in 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_include_directories(obs-websocket PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
|
target_sources(
|
||||||
|
obs-websocket
|
||||||
|
PRIVATE src/obs-websocket.cpp
|
||||||
|
src/obs-websocket.h
|
||||||
|
src/Config.cpp
|
||||||
|
src/Config.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.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)
|
||||||
|
|
||||||
|
target_link_libraries(
|
||||||
|
obs-websocket
|
||||||
|
PRIVATE OBS::libobs
|
||||||
|
OBS::frontend-api
|
||||||
|
OBS::websocket-api
|
||||||
|
Qt::Core
|
||||||
|
Qt::Widgets
|
||||||
|
Qt::Svg
|
||||||
|
Qt::Network
|
||||||
|
nlohmann_json::nlohmann_json
|
||||||
|
Websocketpp::Websocketpp
|
||||||
|
Asio::Asio
|
||||||
|
qrcodegencpp::qrcodegencpp)
|
||||||
|
|
||||||
|
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)
|
||||||
|
target_link_options(obs-websocket PRIVATE "LINKER:/IGNORE:4099")
|
||||||
|
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
28
cmake/macos/Info.plist.in
Normal 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>
|
14
cmake/obs-websocket-api.cmake
Normal file
14
cmake/obs-websocket-api.cmake
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
add_library(obs-websocket-api INTERFACE)
|
||||||
|
add_library(OBS::websocket-api ALIAS obs-websocket-api)
|
||||||
|
|
||||||
|
target_sources(obs-websocket-api INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/lib/obs-websocket-api.h>
|
||||||
|
$<INSTALL_INTERFACE:${OBS_INCLUDE_DESTINATION}/obs-websocket-api.h>)
|
||||||
|
|
||||||
|
target_link_libraries(obs-websocket-api INTERFACE OBS::libobs)
|
||||||
|
|
||||||
|
target_include_directories(obs-websocket-api INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/lib>"
|
||||||
|
"$<INSTALL_INTERFACE:${OBS_INCLUDE_DESTINATION}>")
|
||||||
|
|
||||||
|
set_target_properties(obs-websocket-api PROPERTIES PREFIX "" PUBLIC_HEADER lib/obs-websocket-api.h)
|
||||||
|
|
||||||
|
target_export(obs-websocket-api)
|
8
cmake/obs-websocket-apiConfig.cmake.in
Normal file
8
cmake/obs-websocket-apiConfig.cmake.in
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
include(CMakeFindDependencyMacro)
|
||||||
|
|
||||||
|
find_dependency(libobs REQUIRED)
|
||||||
|
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
|
||||||
|
check_required_components("@PROJECT_NAME@")
|
@ -1,3 +0,0 @@
|
|||||||
files:
|
|
||||||
- source: /data/locale/en-US.ini
|
|
||||||
translation: /data/locale/%locale%.ini
|
|
35
data/locale/af-ZA.ini
Normal file
35
data/locale/af-ZA.ini
Normal file
@ -0,0 +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."
|
41
data/locale/ar-SA.ini
Normal file
41
data/locale/ar-SA.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="التحكم عن بعد في استوديو OBS من خلال WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="إعدادات خادم WebSocket"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="إعدادات الإضافات"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="تمكين خادم WebSocket"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="تمكين تنبيهات شريط النظام"
|
||||||
|
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 قطع الاتصال."
|
41
data/locale/be-BY.ini
Normal file
41
data/locale/be-BY.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Аддаленае кіраванне OBS Studio праз WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="Налады сервера WebSocket"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Налады плагіна"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Уключыць сервер WebSocket"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Уключыць апавяшчэнні ў вобласці апавяшчэнняў"
|
||||||
|
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="Паведамленні I/O"
|
||||||
|
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 адключаны."
|
41
data/locale/ca-ES.ini
Normal file
41
data/locale/ca-ES.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Control remot de l'OBS Studio mitjançant WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="Configuració del servidor WebSocket"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Configuració del complement"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Habilita el servidor WebSocket"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Habilita les notificacions a la barra de tasques"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Habilita l'informe de depuració"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Habilita l'informe de depuració només per a la instància actual de l'OBS. No persisteix en inicis posteriors.\nUtilitzeu --websocket_debug si us cal que el canvi sigui persistent."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Configuració del servidor"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Habilita l'autenticació"
|
||||||
|
OBSWebSocket.Settings.Password="Contrasenya del servidor"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Genera una contrasenya"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Port del servidor"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Mostra la informació de connexió"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Atenció: Actualment en directe"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Sembla que una sortida (retransmissió, gravació, etc.) està actualment activa."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Segur que voleu mostrar la vostra informació de connexió?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Atenció: Risc potencial de seguretat"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket emmagatzema la contrasenya del servidor com a text pla. És altament recomanable l'ús d'una contrasenya generada automàticament."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Segur que voleu utilitzar la vostra contrasenya?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Error: Configuració no vàlida"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Utilitzeu una contrasenya de 6 o més caràcters."
|
||||||
|
OBSWebSocket.SessionTable.Title="Sessions de WebSocket connectades"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Adreça remota"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Durada de la sessió"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Missatges d'entrada/sortida"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identificat"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Expulsar?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Expulsa"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Informació de connexió del servidor WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Copia"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="Adreça IP (més acurada)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Port"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Contrasenya"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autenticació inhabilitada]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR de la connexió"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Connexió nova de WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Client %1 identificat."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Ha fallat l'autenticació del servidor WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Ha fallat l'autenticació del client %1."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Client desconnectat del servidor WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Client %1 desconnectat."
|
41
data/locale/cs-CZ.ini
Normal file
41
data/locale/cs-CZ.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Vzdálené ovládání OBS Studia přes 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ě"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Povolit podrobné protokolování"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Zapne podrobné protokolování pro aktuální instanci OBS. Nastavení není zachováno mezi spuštěními.\nPoužijte --websocket_debug pro povlení při spuštění."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Nastavení serveru"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Povolit přihlašování"
|
||||||
|
OBSWebSocket.Settings.Password="Heslo serveru"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Vygenerovat heslo"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Port serveru"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Zobrazit info o připojení"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Varování: Aktuálně vysíláte"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Vypadá to, že výstup (vysílání, nahrávání etc.) je právě aktivní."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Opravdu si přejete zobrazit údaje k připojení?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Varování: Potencionální bezpečnostní problém"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket ukládá heslo jako prostý text. Důrazně doporučujeme použití hesla generovaného pomocí obs-websocket."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Opravdu si přejete použít vaše vlastní heslo?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Chyba: Neplatná konfigurace"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Musíte použít heslo o délce nejméně 6 znaků."
|
||||||
|
OBSWebSocket.SessionTable.Title="Připojené relace WebSocketu"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Vzdálená adresa"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Délka relace"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Zprávy do/z"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identifikované"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Vykopnout?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Vykopnout"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Připojení k WebSocket serveru"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Kopírovat"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP adresa serveru (nejlepší odhad)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Port serveru"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Heslo serveru"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Přihlášení zakázáno]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR pro připojení"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nové WebSocket připojení"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Klient %1 identifikován."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Chyba přihlášení k WebSocketu"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Klient %1 nebyl přihlášen"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket klient se odpojil"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Klient %1 se odpojil."
|
41
data/locale/da-DK.ini
Normal file
41
data/locale/da-DK.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Fjernstyring af OBS Studio via WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket-serverindstillinger"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Plugin-indstillinger"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Aktivér WebSocket-server"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Aktivér Systembakke Alarmer"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Aktivér Fejlfindingslogning"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Aktivér fejlfindingslogning for den aktuelle forekomst af OBS. Vedvarer ikke ved indlæsning.\nBrug --websocket_debug til at aktivere ved indlæsning."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Serverindstillinger"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Aktivér godkendelse"
|
||||||
|
OBSWebSocket.Settings.Password="Serveradgangskode"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Generér adgangskode"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Serverport"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Vis forbindelsesinfo"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Advarsel: Live i øjeblikket"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Det ser ud til, at et output (stream, optagelse mv.) pt. er aktiv."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Sikker på, at din forbindelsesinfo skal vises?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Advarsel: Potentielt sikkerhedsproblem"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket gemmer serverens adgangskode som alm. tekst. Det anbefales kraftigt at bruge en adgangskode genereret af obs-websocket."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Sikker på, at din egen adgangskoder skal bruges?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Fejl: Ugyldig opsætning"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="En adgangskode på mindst 6 tegn skal bruges."
|
||||||
|
OBSWebSocket.SessionTable.Title="Forbundne WebSocket-sessioner"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Fjernadresse"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Sessionsvarighed"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Beskeder Ind/Ud"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identificeret"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Fjern?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Fjern"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket-forbindelsesinfo"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Kopiér"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="Server-IP (bedste gæt)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Serverport"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Serveradgangskode"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Godk. deaktiveret]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Forbindelses-QR"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Ny WebSocket-forbindelse"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Klient %1 identificeret."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket godkendelsesfejl"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Klienten %1 kunne ikke godkendes."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket-klient frakoblet"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Klient %1 frakoblet."
|
41
data/locale/de-DE.ini
Normal file
41
data/locale/de-DE.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="OBS Studio per WebSocket fernsteuern"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket-Servereinstellungen"
|
||||||
|
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 Starten aktiviert wird."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Servereinstellungen"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Authentifizierung aktivieren"
|
||||||
|
OBSWebSocket.Settings.Password="Serverpasswort"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Passwort generieren"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Serverport"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Verbindungsinformationen anzeigen"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Achtung: Zurzeit live"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Derzeit ist eine Ausgabe (Stream, Aufnahme, etc.) aktiv."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Möchten Sie wirklich Ihre Verbindungsinformationen anzeigen?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Achtung: Mögliches Sicherheitsproblem"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket speichert das Serverpasswort unverschlüsselt, daher ist ein von obs-websocket generiertes Passwort sehr zu empfehlen."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Möchten Sie wirklich ein eigenes Passwort verwenden?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Fehler: Ungültige Konfiguration"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Sie müssen ein Passwort mit mindestens 6 Zeichen verwenden."
|
||||||
|
OBSWebSocket.SessionTable.Title="Verbundene WebSocket-Sitzungen"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Remote-Adresse"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Sitzungsdauer"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Nachrichten rein/raus"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identifiziert"
|
||||||
|
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.ServerPort="Serverport"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Serverpasswort"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="Authentifizierung deaktiviert"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR-Code zum Verbinden"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Neue WebSocket-Verbindung"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Client %1 identifiziert."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket-Authentifizierungsfehler"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Client %1 konnte sich nicht authentifizieren."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket-Client getrennt"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Client %1 getrennt."
|
41
data/locale/el-GR.ini
Normal file
41
data/locale/el-GR.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Απομακρυσμένος έλεγχος του OBS Studio μέσω WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="Ρυθμίσεις Διακομιστή 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 αποσυνδέθηκε."
|
1
data/locale/en-GB.ini
Normal file
1
data/locale/en-GB.ini
Normal file
@ -0,0 +1 @@
|
|||||||
|
#
|
@ -1,4 +1,6 @@
|
|||||||
OBSWebSocket.Settings.DialogTitle="obs-websocket Settings"
|
OBSWebSocket.Plugin.Description="Remote-control of OBS Studio through WebSocket"
|
||||||
|
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket Server Settings"
|
||||||
|
|
||||||
OBSWebSocket.Settings.PluginSettingsTitle="Plugin Settings"
|
OBSWebSocket.Settings.PluginSettingsTitle="Plugin Settings"
|
||||||
OBSWebSocket.Settings.ServerEnable="Enable WebSocket server"
|
OBSWebSocket.Settings.ServerEnable="Enable WebSocket server"
|
||||||
@ -18,6 +20,8 @@ OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Are you sure that you want
|
|||||||
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Warning: Potential Security Issue"
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Warning: Potential Security Issue"
|
||||||
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket stores the server password as plain text. Using a password generated by obs-websocket is highly recommended."
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket stores the server password as plain text. Using a password generated by obs-websocket is highly recommended."
|
||||||
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Are you sure you want to use your own password?"
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Are you sure you want to use your own password?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Error: Invalid Configuration"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="You must use a password that is 6 or more characters."
|
||||||
|
|
||||||
OBSWebSocket.SessionTable.Title="Connected WebSocket Sessions"
|
OBSWebSocket.SessionTable.Title="Connected WebSocket Sessions"
|
||||||
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Remote Address"
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Remote Address"
|
||||||
@ -41,6 +45,3 @@ OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket Authenticati
|
|||||||
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Client %1 failed to authenticate."
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Client %1 failed to authenticate."
|
||||||
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket Client Disconnected"
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket Client Disconnected"
|
||||||
OBSWebSocket.TrayNotification.Disconnected.Body="Client %1 disconnected."
|
OBSWebSocket.TrayNotification.Disconnected.Body="Client %1 disconnected."
|
||||||
|
|
||||||
OBSWebSocket.Server.StartFailed.Title="WebSocket Server Failure"
|
|
||||||
OBSWebSocket.Server.StartFailed.Message="The WebSocket server failed to start. TCP port %1 may already be in use elsewhere on this system by another application. Try setting a different TCP port in the WebSocket server settings, or stop any application that could be using this port.\n Error message: %2"
|
|
||||||
|
41
data/locale/es-ES.ini
Normal file
41
data/locale/es-ES.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Control remoto de OBS Studio a través de 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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Habilitar registro de depuración"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Habilita el registro de depuración para la instancia actual de OBS. No persiste al cargar.\nUse --websocket_debug para activar al cargar."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Ajustes del servidor"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Habilitar autenticación"
|
||||||
|
OBSWebSocket.Settings.Password="Contraseña del servidor"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Generar contraseña"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Puerto del servidor"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Mostrar información de conexión"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Advertencia: Actualmente en directo"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Parece que una salida (emisión, grabación, etc.) está activa."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="¿Estás seguro de que quieres mostrar tu información de conexión?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Advertencia: Problema potencial de seguridad"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket almacena la contraseña del servidor como texto plano. El uso de una contraseña generada por obs-websocket es altamente recomendable."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="¿Está seguro de que desea utilizar su propia contraseña?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Error: Configuración no válida"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Debe utilizar una contraseña de 6 o más caracteres."
|
||||||
|
OBSWebSocket.SessionTable.Title="Sesiones conectadas de WebSocket"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Dirección remota"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Duración de la sesión"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Entrada/Salida de mensajes"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identificado"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="¿Expulsar?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Expulsar"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Información de conexión de WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Copiar"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP del servidor (mejor propuesta)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Puerto del servidor"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Contraseña del servidor"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autenticación desactivada]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR de conexión"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nueva conexión WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Cliente %1 identificado."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Fallo de autenticación WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="El cliente %1 no se pudo autenticar."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Cliente WebSocket desconectado"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Cliente %1 desconectado."
|
41
data/locale/et-EE.ini
Normal file
41
data/locale/et-EE.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="OBS Studio kaugjuhtimine WebSocketi kaudu"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket serveri seaded"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Plugina seaded"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Luba WebSocket server"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Luba hoiatused tegumireal"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Luba silumislogimine"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Lubab OBS-i praeguse eksemplari silumislogimise. Ei püsi laadimisel.\nLaadimisel lubamiseks kasutage --websocket_debug."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Serveri seaded"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Luba autentimine"
|
||||||
|
OBSWebSocket.Settings.Password="Serveri salasõna"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Loo salasõna"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Serveri port"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Näita ühenduse infot"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Hoiatus: hetkel otseülekandes"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Näib, et väljund (voogedastus, salvestus jne) on hetkel aktiivne."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Kas oled kindel, et soovid oma ühenduse teavet näidata?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Hoiatus: võimalik turvaprobleem"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket salvestab serveri salasõna lihtsa tekstina. obs-websocket'i poolt loodud salasõna kasutamine on väga soovitatav."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Kas oled kindel, et soovid kasutada oma salasõna?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Viga: vigane konfiguratsioon"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Pead kasutama salasõna, mis koosneb 6 või enamast tähemärgist."
|
||||||
|
OBSWebSocket.SessionTable.Title="Ühendatud WebSocket'i seansid"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Kaugjuhtimise aadress"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Seansi kestvus"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Sõnumid sisse/välja"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Tuvastatud"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Eemalda?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Eemalda"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket'i ühenduse info"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Kopeeri"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="Serveri IP (parim oletus)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Sreveri port"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Serveri salasõna"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autentimine keelatud]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Ühenda QR"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Uus WebSocket'i ühendus"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Klient %1 tuvastatud."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket autentimise tõrge"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Kliendi %1 autentimine ebaõnnestus."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket kliendi ühendus katkenud"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Kliendi %1 ühendus katkenud."
|
40
data/locale/eu-ES.ini
Normal file
40
data/locale/eu-ES.ini
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
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."
|
41
data/locale/fa-IR.ini
Normal file
41
data/locale/fa-IR.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="کنترل از راه دور OBS Studio از طریق WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="تنظیمات سرور سوکت وب"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="تنظیمات پلاگین"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="سرور سوکت وب را فعال کنید"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="هشدارهای سینی سیستم را فعال کنید"
|
||||||
|
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="جلسات سوکت وب متصل"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="آدرس از راه دور"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="مدت زمان جلسه"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="پیام های ورودی/خارجی"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="تایید هویت شده"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="لگد زدن؟"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="اخراج"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="اطلاعات اتصال سوکت وب"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="رونوشت"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP سرور (بهترین حدس)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="پورت سرور"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="رمز سرور"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[احراز غیر فعال]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR را وصل کنید"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="اتصال سوکت وب جدید"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="سرویس گیرنده %1 شناسایی شد."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="خرابی تأیید اعتبار سوکت وب"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="سرویس گیرنده %1 احراز هویت نشد."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="سرویس گیرنده سوکت وب قطع شد"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="سرویس گیرنده %1 قطع شد."
|
41
data/locale/fi-FI.ini
Normal file
41
data/locale/fi-FI.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="OBS Studion etähallinta WebSocketin kautta"
|
||||||
|
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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Ota vianjäljityslokitus käyttöön"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Ottaa käyttöön OBS:n virheenkorjauksen lokin. Ei kuormituksen aikana.\nKäytä --websocket_debug ottaaksesi latauksen käyttöön."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Palvelimen asetukset"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Ota tunnistautuminen käyttöön"
|
||||||
|
OBSWebSocket.Settings.Password="Palvelimen salasana"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Luo salasana"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Palvelimen portti"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Näytä yhteyden tiedot"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Varoitus: Suora lähetys"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Näyttää siltä, että jokin lähetys (suoratoisto, tallennus jne.) on tällä hetkellä aktiivinen."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Oletko varma, että haluat näyttää sinun yhteyden tiedot?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Varoitus: Mahdollinen tietoturvaongelma"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket tallentaa palvelimen salasanan pelkkänä tekstinä. Obs-websocketin luoman salasanan käyttäminen on erittäin suositeltavaa."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Haluatko varmasti käyttää omaa salasanaasi?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Virhe: Virheellinen määritys"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Sinun täytyy käyttää salasanaa, jossa on vähintään 6 merkkiä."
|
||||||
|
OBSWebSocket.SessionTable.Title="Yhdistetyt WebSocket-istunnot"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Etäosoite"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Istunnon kesto"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Viestejä sisään/ulos"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Tunnistettu"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Potki?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Potki"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket-yhteystiedot"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Kopioi"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="Palvelimen IP (paras arvaus)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Palvelimen portti"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Palvelimen salasana"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Todennus poistettu]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Yhdistä QR"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Uusi WebSocket-yhteys"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Asiakas %1 tunnistettu."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket-tunnistusvirhe"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Asiakas %1 todennus epäonnistui."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket-asiakas katkaisi yhteyden"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Asiakas %1 on katkaistu."
|
37
data/locale/fil-PH.ini
Normal file
37
data/locale/fil-PH.ini
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
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."
|
41
data/locale/fr-FR.ini
Normal file
41
data/locale/fr-FR.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Contrôle à distance d'OBS Studio via WebSocket"
|
||||||
|
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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Activer les journaux de débogage"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Active la journalisation du débogage pour l'instance actuelle d'OBS. Ne persiste pas au chargement.\nUtilisez --websocket_debug pour l'activer lors du chargement."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Paramètres du serveur"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Utiliser l'authentification"
|
||||||
|
OBSWebSocket.Settings.Password="Mot de passe du serveur"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Générer un mot de passe"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Port du serveur"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Afficher les informations de connexion"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Avertissement : Actuellement en direct"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Il semble qu'une sortie (stream, enregistrement, etc.) soit actuellement active."
|
||||||
|
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(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 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"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Messages entrant/sortant"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identifié"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Expulser ?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Expulser"
|
||||||
|
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 du serveur"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Authentification désactivée]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR code de connexion"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nouvelle connexion WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Client %1 identifié."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Échec de l'authentification WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Échec d'authentification du client %1."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Client WebSocket déconnecté"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Client %1 déconnecté."
|
6
data/locale/gl-ES.ini
Normal file
6
data/locale/gl-ES.ini
Normal 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."
|
41
data/locale/he-IL.ini
Normal file
41
data/locale/he-IL.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="שליטה מרחוק על OBS Studio באמצעות WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="הגדרות שרת WebSocket"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="הגדרות תוסף"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="הפעלת שרת WebSocket"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="הפעלת התראות במגש המערכת"
|
||||||
|
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 התנתק."
|
41
data/locale/hi-IN.ini
Normal file
41
data/locale/hi-IN.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="WebSocket के माध्यम से OBS स्टूडियो का रिमोट-कंट्रोल"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="वेबसॉकेट सर्वर सेटिंग्स"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="प्लगइन सेटिंग्स"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="WebSocket सर्वर सक्षम करें"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="सिस्टम ट्रे अलर्ट सक्षम करें"
|
||||||
|
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="कनेक्टेड वेबसॉकेट सत्र"
|
||||||
|
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="वेबसॉकेट क्लाइंट डिस्कनेक्ट हो गया"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="क्लाइंट %1 डिस्कनेक्ट हो गया."
|
10
data/locale/hr-HR.ini
Normal file
10
data/locale/hr-HR.ini
Normal file
@ -0,0 +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"
|
41
data/locale/hu-HU.ini
Normal file
41
data/locale/hu-HU.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Az OBS Studio távvezérlése WebSocketen keresztül"
|
||||||
|
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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Hibakeresési naplózás bekapcsolása"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Bekapcsolja a hibakeresési naplózást a jelenlegi OBS-példánynál. Betöltéskor nem marad meg.\nA betöltéskor történő bekapcsoláshoz használja a --websocket_debug kapcsolót."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Kiszolgálóbeállítások"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Hitelesítés bekapcsolása"
|
||||||
|
OBSWebSocket.Settings.Password="Kiszolgáló jelszava"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Jelszó előállítása"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Kiszolgáló portja"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Kapcsolódási információ megjelenítése"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Figyelmeztetés: Élő adásban van"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Úgy néz ki, hogy egy kimenet (közvetítés, felvétel, stb.) jelenleg aktív."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Biztos, hogy megjeleníti a kapcsolódási információkat?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Figyelmeztetés: lehetséges biztonsági probléma"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="Az obs-websocket titkosítatlan szövegként tárolja a kiszolgáló jelszavát. Ajánlatos egy az obs-websocket általelőállított jelsztó használni."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Biztos, hogy a saját jelszavát használja?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Hiba: Érvénytelen konfiguráció"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Legalább 6 karakterből álló jelszót kell használnia."
|
||||||
|
OBSWebSocket.SessionTable.Title="Kapcsolódott WebSocket munkamenetek"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Távoli cím"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Munkamenet hossza"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Bejövő és kimenő üzenetek"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Azonosított"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Kirúgás?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Kirúgás"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="WebSocket kapcsolati információk"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Másolás"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="Kiszolgáló IP (legjobb tipp)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Kiszolgáló portja"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Kiszolgáló jelszava"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Hitelesítés kikapcsolva]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Kapcsolódási QR-kód"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Új WebSocket-kapcsolat"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="A(z) %1 kliens azonosítva."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket hitelesítési hiba"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="A(z) %1 kliens hitelesítése sikertelen."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="A WebSocket-kliens bontotta a kapcsolatot"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="A(z) %1 kliens bontotta a kapcsolatot"
|
41
data/locale/hy-AM.ini
Normal file
41
data/locale/hy-AM.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="OBS Studio-ի հեռակառավարումը WebSocket-ի միջոցով"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket Սպասարկչի Կարգավորումները"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Միացնիչի կարգավորումներ"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Միացնել WebSocket սերվերը"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Միացնել սկուտեղի ծանուցումները"
|
||||||
|
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-websock-ի կողմից ստեղծված գաղտնաբառը:"
|
||||||
|
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="Սերվերի ԻԱ (լավագույն ենթադրություն)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Սերվերի պորտ"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Սերվերի գաղտնաբառը"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Թույլտվությունն անջատված է]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Միացման ԱԱ կոդը"
|
||||||
|
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 հաճախորդն անջատվել է:"
|
41
data/locale/id-ID.ini
Normal file
41
data/locale/id-ID.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Kendali jarak jauh OBS Studio melalui 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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Aktifkan Pencatatan Awakutu"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Aktifkan pencatatan awakutu untuk permintaan OBS saat ini. Tidak terus aktif saat memuat.\nGunakan --websocket_debug agar diaktifkan saat memuat."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Pengaturan Server"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Aktifkan Autentikasi"
|
||||||
|
OBSWebSocket.Settings.Password="Kata Sandi Server"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Buat Kata Sandi"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Port Server"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Tampilkan Informasi Koneksi"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Peringatan: Saat Ini Siaran Langsung"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Sepertinya sebuah output (stream, rekaman, dll.) sedang aktif."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Anda yakin ingin melihat informasi koneksi Anda?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Peringatan: Potensi Masalah Keamanan"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket menyimpan kata sandi server sebagai teks biasa. Sangat disarankan untuk menggunakan kata sandi yang diciptakan oleh obs-websocket."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Apakah Anda yakin ingin menggunakan kata sandi sendiri?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Galat: Konfigurasi Tidak Berlaku"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Anda harus menggunakan kata sandi yang minimal 6 karakter atau lebih."
|
||||||
|
OBSWebSocket.SessionTable.Title="Sesi WebSocket yang Terhubung"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Alamat Kendali"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Durasi Sesi"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Pesan Masuk/Keluar"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Teridentifikasi"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Putuskan?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Putuskan"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Informasi Koneksi WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Salin"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP Server (Tebakan Terbaik)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Port Server"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Kata Sandi Server"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autentikasi Dinonaktifkan]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Hubungkan QR"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Koneksi WebSocket Baru"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Klien %1 teridentifikasi."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Autentikasi WebSocket Gagal"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Klien %1 gagal mengautentikasi."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Klien WebSocket Terputus"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Klien %1 terputus."
|
41
data/locale/it-IT.ini
Normal file
41
data/locale/it-IT.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Controllo remoto di OBS Studio tramite 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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Abilita registrazione debug"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Abilita la registrazione debug per l'istanza attuale di OBS.\nNon rimane attiva per il prossimo caricamento.\nUsa --websocket_debug per abilitarla al caricamento."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Impostazioni server"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Abilita autenticazione"
|
||||||
|
OBSWebSocket.Settings.Password="Password server"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Genera password"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Porta server"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Visualizza informazioni di connessione"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Attenzione: attualmente in diretta"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Sembra che sia attualmente attivo un output (stream, registrazione, ecc.)."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Sei sicuro di voler visualizzare le tue informazioni di connessione?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Avvertimento: potenziale problema di sicurezza"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket memorizza la password del server come testo normale.\nTi consigliamo vivamente di usare una password generata da obs-websocket."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Sei sicuro di voler usare la tua password?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Errore: configurazione non valida"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="È necessario usare una password di 6 o più caratteri."
|
||||||
|
OBSWebSocket.SessionTable.Title="Sessioni WebSocket connesse"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Indirizzo remoto"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Durata sessione"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Messaggi in entrata/uscita"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identificato"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Chiudere?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Chiudi"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Informazioni sulla connessione WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Copia"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP server (miglior ipotesi)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Porta server"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Password server"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autorizzazione disabilitata]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR connessione"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nuova connessione WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Identificato client %1."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Errore di autenticazione WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Il client %1 non è riuscito ad autenticarsi."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Client WebSocket disconnesso"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Client %1 disconnesso."
|
41
data/locale/ja-JP.ini
Normal file
41
data/locale/ja-JP.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="WebSocketを介したOBS Studioのリモートコントロール"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket サーバー設定"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="プラグイン設定"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="WebSocketサーバーを有効にする"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="システムトレイアラートを有効にする"
|
||||||
|
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="メッセージ In/Out"
|
||||||
|
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 が切断されました。"
|
41
data/locale/ka-GE.ini
Normal file
41
data/locale/ka-GE.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="OBS Studio-ს დაშორებულად მართვა WebSocket-ით"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket-სერვერის პარამეტრები"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="მოდულის პარამეტრები"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="WebSocket-სერვერის ჩართვა"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="სისტემური არეში ცნობების ჩართვა"
|
||||||
|
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 გამოთიშეულია."
|
41
data/locale/kmr-TR.ini
Normal file
41
data/locale/kmr-TR.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Rêveberina ji dûr ve ya OBS Studio bi riya 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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Têketinê serrastkirinê çalak bike"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Têketinê serrastkirinê çalak bike ji bo danişîna heyî ya OBS. Li ser barkirinê nadomîne.\nBikaranîna --websocket_debug rê dide bo çalakkirina barkirinê."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Sazkariyên rajekar"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Rastandinê çalak bike"
|
||||||
|
OBSWebSocket.Settings.Password="Borînpeyva rajekar"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Borînpeyvê çê bike"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Dergeha rajekar"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Zanyariyên girêdanê nîşan bide"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Hişyarî: Weşan zindî ye"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Xuye dike ku deraneke (weşan, tomarkirin, hwd.) niha çalak e."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Ma tu bi rastî dixwazî zanyariya girêdana xwe nîşan bidî?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Hişyarî: Pirsgirêka ewlekariya potansiyel"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket borînpeyva rajekarê wekî nivîsek sade hiltîne. Bikaranîna borînpeyva ku ji hêla obs-websocket ve hatî çêkirin pir tê pêşniyar kirin."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Ma tu dixwazî ku borînpeyva xwe bi kar bînî?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Çewtî: Pevsazkirin ne derbasdar e"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Divê tu borînpeyvekê bi kar bînî ku ji 6 an jî bêtir tîpan be."
|
||||||
|
OBSWebSocket.SessionTable.Title="Danişînên WebSocket ên girêdayî"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Navnîşana ji dûr ve"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Dirêjahiya danişînê"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Peyamên Çûyî/Hatî"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Naskirî"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Derxîne?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Derxîne"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Zanyariyên girêdanê WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Jê bigire"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP ya rajekar (Çêtirîn texmîn)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Dergeha rajekar"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Borînpeyva rajekar"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Rastandin neçalak e]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR girê bide"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Girêdana bû ya WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Rajegir %1 hate naskirin."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Rastandina WebSocket têk çû"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Rastandina rajegir %1 têk çû."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Girêdana rajegira WebSocket qut bû"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Girêdana rajegir %1 qut bû."
|
41
data/locale/ko-KR.ini
Normal file
41
data/locale/ko-KR.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="WebSocket으로 OBS Studio를 원격 제어"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket 서버 설정"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="플러그인 설정"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="WebSocket 서버 사용"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="시스템 트레이 알림 사용"
|
||||||
|
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 연결 해제됨."
|
41
data/locale/ms-MY.ini
Normal file
41
data/locale/ms-MY.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Benarkan Pegelogan Nyahpepijat"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Membenarkan pengelogan nyahpepijat bagi kejadian OBS semasa. Tidak ditetapkan ketika muat.\nGuna --websocket_debug untuk didayakan ketika muat."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Tetapan Pelayan"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Benarkan Pengesahihan"
|
||||||
|
OBSWebSocket.Settings.Password="Kata Laluan Pelayan"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Jana Kata Lauan"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Port Pelayan"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Tunjuk Maklumat Sambungan"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Amaran: Sedang Berlangsung"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Nampaknya ada output (strim, rakaman, dll.) masih aktif."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Anda pasti mahu menunjukkan maklumat sambungan anda?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Amaran: Isu Keselamatan Mungkin Ada"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket menyimpan kata laluan pelayan dalam bentuk teks biasa. Menggunakan kata laluan yang dijana oleh obs-websocket iadalah sangat disarankan."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Adakah anda pasti mahu menggunakan kata laluan anda sendiri?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Ralat: Konfigurasi Tidak Sah"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Anda mesti guna satu kata laluan yang terdiri daripada 6 atau lebih aksara."
|
||||||
|
OBSWebSocket.SessionTable.Title="Sesi WebSocket Bersambung"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Alamat Jauh"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Tempoh Sesi"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Mesej Masuk/Keluar"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Dikenal Pasti"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Tendang?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Tendang"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Maklumat Sambungan WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Salin"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP Pelayan (Tekaan Terbaik)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Port Pelayan"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Kata Laluan Pelayan"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Izin Dilumpuh]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR Sambungan"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Sambungan WebSocket Baharu"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Klien %1 dikenal past."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Kegagalan Pengesahihan WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Klien %1 gagal disahihkan."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Klien WebSocket Terputus"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Klien %1 terputus."
|
25
data/locale/nb-NO.ini
Normal file
25
data/locale/nb-NO.ini
Normal file
@ -0,0 +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."
|
41
data/locale/nl-NL.ini
Normal file
41
data/locale/nl-NL.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Op afstand bediening van OBS Studio via WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket Server Instellingen"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Plugin instellingen"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="WebSocket server inschakelen"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Systeemtray meldingen inschakelen"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Activeer debug logging"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Schakelt debug logboekregistratie in voor de huidige instantie van OBS. Blijft niet meer te laden.\nGebruik --websocket_debug om bij laden in te schakelen."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Serverinstellingen"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Authenticatie inschakelen"
|
||||||
|
OBSWebSocket.Settings.Password="Server wachtwoord"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Wachtwoord genereren"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Serverpoort"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Toon verbindingsinformatie"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Waarschuwing: Op dit moment live"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Het lijkt erop dat een output (stream, opname, etc.) momenteel actief is."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Weet je zeker dat je je verbindingsinformatie wilt laten zien?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Waarschuwing: potentieel beveiligingsprobleem"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket slaat het serverwachtwoord op als platte tekst. Het gebruik van een wachtwoord dat wordt gegenereerd door een obs-websocket wordt sterk aanbevolen."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Weet u zeker dat u uw eigen wachtwoord wilt gebruiken?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Fout: ongeldige configuratie"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="U moet een wachtwoord gebruiken van 6 of meer tekens."
|
||||||
|
OBSWebSocket.SessionTable.Title="Verbonden WebSocket Sessies"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Extern adres"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Sessie duur"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Berichten In/Uit"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Geïdentificeerd"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Verwijderen?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Verwijderen"
|
||||||
|
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"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Client %1 geïdentificeerd."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket Authenticatie Fout"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Authenticatie van client %1 mislukt."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket Client losgekoppeld"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Client %1 ontkoppeld."
|
41
data/locale/pl-PL.ini
Normal file
41
data/locale/pl-PL.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Zdalna kontrola OBS Studio przez 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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Włącz logowanie debugowania"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Włącza logowanie debugowania dla bieżącej instancji OBS. Opcja nie jest włączana przy ładowaniu aplikacji.\nUżyj --websocket_debug, aby włączyć logowanie debugowania przy ładowaniu aplikacji."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Ustawienia serwera"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Włącz uwierzytelnianie"
|
||||||
|
OBSWebSocket.Settings.Password="Hasło serwera"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Wygeneruj hasło"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Port serwera"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Pokaż informacje połączenia"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Ostrzeżenie: Trwa transmisja lub nagranie"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Wygląda na to, że trwa transmisja lub nagrywanie."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Czy na pewno chcesz pokazać informacje połączenia?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Ostrzeżenie: Potencjalny problem bezpieczeństwa"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket przechowuje hasło serwera jako zwykły tekst. Wysoce zalecane jest użycie hasła generowanego przez obs-websocket."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Czy na pewno chcesz użyć własnego hasła?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Błąd: Nieprawidłowa konfiguracja"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Hasło musi zawierać 6 lub więcej znaków."
|
||||||
|
OBSWebSocket.SessionTable.Title="Podłączone sesje WebSocket"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Adres zdalny"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Czas trwania sesji"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Wiadomości przychodzące/wychodzące"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Zidentyfikowany"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Odłączyć?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Odłącz"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Informacje o połączeniu WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Kopiuj"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP serwera (ustalone w miarę możliwości)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Port serwera"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Hasło serwera"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autoryzacja wyłączona]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Kod QR połączenia"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nowe połączenie WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Klient %1 zidentyfikowany."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Błąd uwierzytelniania WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Klient %1 nie został uwierzytelniony."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Klient WebSocket odłączony"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Klient %1 odłączony."
|
41
data/locale/pt-BR.ini
Normal file
41
data/locale/pt-BR.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Controle remoto do OBS Studio através de 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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Habilitar log de depuração"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Ativa o registro de depuração para a instância atual do OBS. Não persiste ao carregar.\nUse --websocket_debug para ativar no carregamento."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Configurações de Servidor"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Habilitar Autenticação"
|
||||||
|
OBSWebSocket.Settings.Password="Senha de Servidor"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Gerar Senha"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Porta de Servidor"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Mostrar Informações de Conexão"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Aviso: Atualmente Ao Vivo"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Parece que uma saída (stream, gravação, etc.) está atualmente ativa."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Tem certeza de que deseja mostrar suas informações de conexão?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Aviso: Problema de Segurança Potencial"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket armazena a senha do servidor como texto sem formatação. Usar uma senha gerada pela obs-websocket é altamente recomendada."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Tem certeza de que deseja usar a sua própria senha?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Erro: Configuração Inválida"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Você deve usar uma senha que tenha 6 ou mais caracteres."
|
||||||
|
OBSWebSocket.SessionTable.Title="Sessões WebSocket Conectadas"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Endereço Remoto"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Duração de Sessão"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Mensagens"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identificada"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Expulsar?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Expulsar"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Informação de Conexão WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Copiar"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP do servidor (Melhor Chute)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Porta de Servidor"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Senha de Servidor"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autenticação Desativada]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR da conexão"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nova Conexão de WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Cliente %1 identificado."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Falha na Autenticação de WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Cliente %1 falhou na autenticação."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Cliente WebSocket Desconectado"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Cliente %1 desconectado."
|
41
data/locale/pt-PT.ini
Normal file
41
data/locale/pt-PT.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Controlo remoto do OBS Studio através de WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="Definições do servidor WebSocket"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Configurações do plugin"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Ativar servidor WebSocket"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Ativar alertas da bandeja do sistema"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Ativar registo de depuração"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Ativa o registro de depuração para a instância atual do OBS. Não persiste no arranque.\nUse --websocket_debug para ativar no arranque."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Configurações do servidor"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Ativar autenticação"
|
||||||
|
OBSWebSocket.Settings.Password="Senha do servidor"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Gerar senha"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Porta do servidor"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Mostrar informações de conexão"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Aviso: Atualmente ao vivo"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Parece que uma saída (transmissão, gravação, etc.) está atualmente ativa."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Tem certeza de que deseja mostrar as suas informações de ligação?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Aviso: Possível problema de segurança"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="O obs-websocket armazena a senha do servidor como texto sem formatação. É altamente recomendado usar uma senha gerada pelo obs-websocket ."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Tem a certeza de que deseja usar as suas próprias senhas?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Erro: Configuração inválida"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Deve usar uma senha que tenha 6 ou mais caracteres."
|
||||||
|
OBSWebSocket.SessionTable.Title="Sessões WebSocket ligadas"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Endereço remoto"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Duração da sessão"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Entrada/Saída de mensagens"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identificado"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Expulsar?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Expulsar"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Informação de ligação WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Copiar"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP do servidor (melhor cálculo)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Porta do servidor"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Senha do servidor"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autenticação desativada]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Código QR de ligação"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nova conexão de WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Cliente %1 identificado."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Falha na autenticação de WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Cliente %1 falhou na autenticação."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Cliente WebSocket desligado"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Cliente %1 desligado."
|
41
data/locale/ro-RO.ini
Normal file
41
data/locale/ro-RO.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Control de la distanță pentru OBS Studio prin 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 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 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?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Avertisment: Potențială problemă de securitate"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket stochează parola serverului ca text simplu. Este foarte recomandat să folosiți o parolă generată de obs-websocket."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Sigur vrei să-ți folosești propria parolă?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Eroare: Configurație invalidă"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Trebuie să folosești o parolă care să aibă 6 sau mai multe caractere."
|
||||||
|
OBSWebSocket.SessionTable.Title="Sesiuni WebSocket conectate"
|
||||||
|
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ături?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Înlătură"
|
||||||
|
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="QR de conectare"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="O nouă conexiune WebSocket"
|
||||||
|
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"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Clientul %1 s-a deconectat."
|
41
data/locale/ru-RU.ini
Normal file
41
data/locale/ru-RU.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Удалённое управление OBS Studio по WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="Настройки сервера WebSocket"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Настройки плагина"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Включить сервер WebSocket"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Включить оповещения в трее"
|
||||||
|
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-websock."
|
||||||
|
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 отключился."
|
22
data/locale/si-LK.ini
Normal file
22
data/locale/si-LK.ini
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="පේනුවේ සැකසුම්"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="නිදොස්කරණ සටහන් තැබීම සබල කරන්න"
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="සේවාදායකයේ සැකසුම්"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="සත්යාපනය සබල කරන්න"
|
||||||
|
OBSWebSocket.Settings.Password="සේවාදායකයේ මුරපදය"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="මුරපදය උත්පාදනය"
|
||||||
|
OBSWebSocket.Settings.ServerPort="සේවාදායකයේ තොට"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="සබඳතාවේ තොරතුරු පෙන්වන්න"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="අවවාදයයි: දැනට සජීවයි"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="දුරස්ථ ලිපිනය"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="වාරයේ පරාසය"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="පණිවිඩ එන/යන"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="හඳුනා ගැනිණි"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="පිටපතක්"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="සේවාදායකයේ අ.ජා.කෙ. (අනුමානය)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="සේවාදායකයේ තොට"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="සේවාදායකයේ මුරපදය"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[සත්යාපනය අබලයි]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="සබැඳුමට QR"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="දැන් %1 අනුග්රාහකය හඳුනයි."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="%1 අනුග්රාහකය සත්යාපනයට අසමත්!"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="%1 අනුග්රාහකය විසන්ධියි."
|
41
data/locale/sk-SK.ini
Normal file
41
data/locale/sk-SK.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Vzdialené ovládanie OBS Štúdia cez 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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Zapnúť debug logovanie"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Zapne debug logovanie pre momentálnu inštanciu OBS. Nezotrvá po načítaní.\nPoužite --websocket_debug pre zapnutie pri načítaní."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Nastavenia servera"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Zapnúť autentifikáciu"
|
||||||
|
OBSWebSocket.Settings.Password="Serverové heslo"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Vygenerovať heslo"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Serverový port"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Zobraziť info pripojenia"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Varovanie: Momentálne naživo"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Zdá sa, že nejaký výstup (stream, nahrávanie, atď.) je momentálne aktívny."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Ste si istí, že chcete zobraziť info vašeho pripojenia?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Varovanie: Potenciálny bezpečnostný problém"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket ukladá serverové heslo ako obyčajný text. Použitie vygenerovaného hesla pre obs-websocket je vysoko odporúčané."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Ste si istí, že chcete použiť svoje vlastné heslo?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Chyba: Neplatná konfigurácia"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Musíte zadať heslo, ktoré má 6 alebo viac znakov."
|
||||||
|
OBSWebSocket.SessionTable.Title="Pripojené WebSocket relácie"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Vzdialená adresa"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Travnie relácie"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Správy dnu/von"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identifikovaný"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Vyhodiť?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Vyhodiť"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Info WebSocket pripojenia"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Kopírovať"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP servera (najlepší odhad)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Serverový port"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Serverové heslo"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autentifikácia vypnutá]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR kód pripojenia"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nové WebSocket pripojenie"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Klient %1 identifikovaný."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Zlyhanie WebSocket autentifikácie"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Klientovi %1 sa nepodarilo autentifikovať."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket klient odpojený"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Klient %1 odpojený."
|
41
data/locale/sl-SI.ini
Normal file
41
data/locale/sl-SI.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Oddaljeni nadzor OBS Studia prek WebSocketa"
|
||||||
|
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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Omogoči beleženje napak"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Omogoči beleženje dogodkov za potrebe razhroščevanja v trenutno zagnani inačici OBS. Ne vztraja ob nalaganju.\nUporabbite --websocket_debug, da to možnost omogočite ob nalaganju."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Nastavitve strežnika"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Omogoči overjanje"
|
||||||
|
OBSWebSocket.Settings.Password="Geslo strežnika"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Tvori geslo"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Vrata strežnika"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Pokaži podatke o povezavi"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Opozorilo: trenutno v živo"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Kaže, da je izhod (tok, posnetek itn.) trenutno dejaven."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Ali ste prepričani, da želite pokazati svoje podatke za povezavo?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Opozorilo: potencialna varnostna težava"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket hrani geslo strežnika kot navadno besedilo. Uporaba gesla, ki ga ustvari obs-websocket je zato zelo priporočena."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Ali ste prepričani, da želite uporabiti lastno geslo?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Napaka: neveljavna prilagoditev"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Uporabiti morate geslo z vsaj 6 znaki."
|
||||||
|
OBSWebSocket.SessionTable.Title="Povezane seje WebSocket"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Oddaljen naslov"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Trajanje seje"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Sporočila V/I"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identificirano"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Odvrzi?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Odvrzi"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Podatki o povezavi WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Kopiraj"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP strežnika (naj-domneva)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Vrata strežnika"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Geslo strežnika"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Overjanje onemog.]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Koda QR za povezavo"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Nova povezava WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Odjemalec %1 identificiran."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Spodletelo ovetjanje WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Odjemalec %1 ni prestal overjanja."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Odjemalec WebSocket je prekinil povezavo"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Odjemalec %1 ni več povezan."
|
41
data/locale/sv-SE.ini
Normal file
41
data/locale/sv-SE.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Fjärrkontroll av OBS Studio via WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket-serverinställningar"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Insticksmodulsinställningar"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Aktivera WebSocket-server"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Aktivera systemfältsmeddelanden"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Aktivera felsökningsloggning"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Aktiverar felsökningsloggning för den aktuella instansen av OBS. Stannar inte igång vid inläsning.\nAnvänd --websocket_debug för att aktivera vid inläsning."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Serverinställningar"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Aktivera autentisering"
|
||||||
|
OBSWebSocket.Settings.Password="Serverlösenord"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Generera lösenord"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Serverport"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Visa anslutningsinformation"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Varning: Sänder för närvarande"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Det verkar som om en utmatning (ström, inspelning, etc.) är för närvarande aktiv."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Är du säker på att du vill visa din anslutningsinformation?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Varning: Potentiellt säkerhetsproblem"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket lagrar serverns lösenord som vanlig text. Det kommenderas starkt att använda ett lösenord som genereras av obs-websocket."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Är du säker på att du vill använda ditt eget lösenord?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Fel: Ogiltig konfiguration"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Du måste använda ett lösenord som har 6 eller fler tecken."
|
||||||
|
OBSWebSocket.SessionTable.Title="Anslutna WebSocket-sessioner"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Fjärradress"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Sessionens varaktighet"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Meddelanden in/ut"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Identifierad"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Sparka ut?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Sparka ut"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Anslutningsinfo för WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Kopiera"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="Server-IP (uppskattad)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Serverport"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Serverlösenord"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Autentisering inaktiverad]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="QR för anslutning"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Ny WebSocket-anslutning"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Klient %1 har identifierats."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Autentisering av WebSocket misslyckades"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Klient %1 misslyckades att autentiseras."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket-klient frånkopplades"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Klient %1 frånkopplades."
|
41
data/locale/tr-TR.ini
Normal file
41
data/locale/tr-TR.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="WebSocket aracılığıyla uzaktan OBS Studio"
|
||||||
|
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"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Hata Ayıklama Günlüğünü Etkinleştir"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="OBS'in geçerli örneği için hata ayıklama günlüğünü etkinleştirir. Yüklemede kalıcı değildir.\nYüklemede etkinleştirmek için -- websocket_debug kullanın."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Sunucu Ayarları"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Kimlik Doğrulamasını Etkinleştir"
|
||||||
|
OBSWebSocket.Settings.Password="Sunucu Parolası"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Parola oluştur"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Sunucu Portu"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Bağlanma Bilgilerini Göster"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Uyarı: Şu Anda Canlı"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Şu anda bir çıkış (yayın, kayıt, vb.) aktif görünüyor."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Bağlanma bilgilerinizi göstermek istediğinizden emin misiniz?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Uyarı: Olası Güvenlik Sorunu"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket sunucu parolasını düz metin olarak saklar. Obs-websocket tarafından oluşturulan bir parola kullanılması şiddetle tavsiye edilir."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Kendi parolanızı kullanmak istediğinizden emin misiniz?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Hata: Geçersiz Yapılandırma"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="6 veya daha fazla karakterden oluşan bir şifre kullanmalısınız."
|
||||||
|
OBSWebSocket.SessionTable.Title="Bağlı WebSocket Oturumları"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Uzaktaki Adres"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Oturum Süresi"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Gelen/Giden Mesajlar"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Tanımlandı"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Çıkarılsın mı?"
|
||||||
|
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 Portu"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Sunucu Parolası"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPasswordPlaceholderText="[Doğrulama Devre Dışı]"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Kare Kod ile Bağlan"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Yeni WebSocket Bağlantısı"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="%1 istemcisi tanımlandı."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="WebSocket Kimlik Doğrulama Hatası"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="%1 istemcisinin kimlik doğrulaması başarısız oldu."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="WebSocket İstemcisinin Bağlantısı Kesildi"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="%1 istemcisinin bağlantısı kesildi."
|
9
data/locale/tt-RU.ini
Normal file
9
data/locale/tt-RU.ini
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Сервер көйләүләре"
|
||||||
|
OBSWebSocket.Settings.Password="Сервер серсүзе"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Серсүзне ясау"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Сервер порты"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonColumnTitle="Чыгарыргамы?"
|
||||||
|
OBSWebSocket.SessionTable.KickButtonText="Чыгару"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="Күчермә алу"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Сервер порты"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Сервер серсүзе"
|
2
data/locale/ug-CN.ini
Normal file
2
data/locale/ug-CN.ini
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
OBSWebSocket.Settings.GeneratePassword="ئىم ھاسىللا"
|
||||||
|
OBSWebSocket.ConnectInfo.CopyText="كۆچۈر"
|
41
data/locale/uk-UA.ini
Normal file
41
data/locale/uk-UA.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Віддалене керування OBS Studio через WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="Налаштування WebSocket сервера"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Налаштування плагіна"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Увімкнути сервер WebSocket"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Увімкнути сповіщення у системному лотку"
|
||||||
|
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 від'єднаний."
|
37
data/locale/vi-VN.ini
Normal file
37
data/locale/vi-VN.ini
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="Điều khiển từ xa OBS Studio thông qua WebSocket"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="Cài đặt máy chủ WebSocket"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="Thiết đặt trình cắm"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="Bật máy chủ WebSocket"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="Bật cảnh báo khay hệ thống"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="Bật ghi nhật ký gỡ lỗi"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="Cho phép ghi nhật ký gỡ lỗi cho phiên bản OBS hiện tại. Không tồn tại khi tải.\nUde --websocket gỡ lỗi để bật khi tải."
|
||||||
|
OBSWebSocket.Settings.ServerSettingsTitle="Thiết đặt máy chủ"
|
||||||
|
OBSWebSocket.Settings.AuthRequired="Bật xác thực"
|
||||||
|
OBSWebSocket.Settings.Password="Mật khẩu máy chủ"
|
||||||
|
OBSWebSocket.Settings.GeneratePassword="Tạo mật khẩu"
|
||||||
|
OBSWebSocket.Settings.ServerPort="Cổng máy chủ"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfo="Hiện thông tin kết nối"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningTitle="Cảnh báo: Hiện đang chạy"
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningMessage="Có vẻ như một đầu ra (luồng, bản ghi, v.v.) hiện đang hoạt động."
|
||||||
|
OBSWebSocket.Settings.ShowConnectInfoWarningInfoText="Bạn có chắc chắn muốn hiển thị thông tin kết nối của mình không?"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningTitle="Cảnh báo: Vấn đề bảo mật tiềm ẩn"
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningMessage="obs-websocket lưu trữ mật khẩu máy chủ dưới dạng văn bản thuần túy. Bạn nên sử dụng mật khẩu được tạo bởi obs-websocket."
|
||||||
|
OBSWebSocket.Settings.Save.UserPasswordWarningInfoText="Bạn có chắc bạn muốn sử dụng mật khẩu của mình?"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorTitle="Lỗi: Thiết lập không hợp lệ"
|
||||||
|
OBSWebSocket.Settings.Save.PasswordInvalidErrorMessage="Bạn phải sử dụng mật khẩu có 6 ký tự trở lên."
|
||||||
|
OBSWebSocket.SessionTable.Title="Các phiên WebSocket được kết nối"
|
||||||
|
OBSWebSocket.SessionTable.RemoteAddressColumnTitle="Địa chỉ từ xa"
|
||||||
|
OBSWebSocket.SessionTable.SessionDurationColumnTitle="Thời lượng phiên"
|
||||||
|
OBSWebSocket.SessionTable.MessagesInOutColumnTitle="Tin nhắn vào/ra"
|
||||||
|
OBSWebSocket.SessionTable.IdentifiedTitle="Định dạng"
|
||||||
|
OBSWebSocket.ConnectInfo.DialogTitle="Thông tin kết nối WebSocket"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerIp="IP Máy chủ (Gợi ý tốt nhất)"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPort="Cổng máy chủ"
|
||||||
|
OBSWebSocket.ConnectInfo.ServerPassword="Mật khẩu máy chủ"
|
||||||
|
OBSWebSocket.ConnectInfo.QrTitle="Kết nối bằng mã QR"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Title="Tạo cổng kết nối WebSocket mới"
|
||||||
|
OBSWebSocket.TrayNotification.Identified.Body="Máy khách %1 được xác định."
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Title="Lỗi xác thực WebSocket"
|
||||||
|
OBSWebSocket.TrayNotification.AuthenticationFailed.Body="Máy khách %1 không xác thực được."
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Title="Máy khách WebSocket bị ngắt kết nối"
|
||||||
|
OBSWebSocket.TrayNotification.Disconnected.Body="Máy khách %1 bị ngắt kết nối."
|
41
data/locale/zh-CN.ini
Normal file
41
data/locale/zh-CN.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="通过 WebSocket 远程控制 OBS Studio"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket 服务器设置"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="插件设置"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="开启 WebSocket 服务器"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="开启系统托盘提醒"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="开启调试日志"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="开启当前 OBS 实例的调试日志。下次启动时需重新设置。\n使用 --websocket_debug 在启动 OBS 时开启日志。"
|
||||||
|
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 客户端已断开。"
|
41
data/locale/zh-TW.ini
Normal file
41
data/locale/zh-TW.ini
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
OBSWebSocket.Plugin.Description="透過 WebSocket 遠端控制 OBS Studio"
|
||||||
|
OBSWebSocket.Settings.DialogTitle="WebSocket 伺服器設定"
|
||||||
|
OBSWebSocket.Settings.PluginSettingsTitle="外掛程式設定"
|
||||||
|
OBSWebSocket.Settings.ServerEnable="啟用 WebSocket 伺服器"
|
||||||
|
OBSWebSocket.Settings.AlertsEnable="啟用系統匣通知"
|
||||||
|
OBSWebSocket.Settings.DebugEnable="啟用除錯日誌"
|
||||||
|
OBSWebSocket.Settings.DebugEnableHoverText="啟用目前 OBS 實體的除錯日誌。下次啟動時需重新設定。\n使用 --websocket_debug 在啟動 OBS 時啟用日誌。"
|
||||||
|
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 用戶端已斷線。"
|
1
deps/asio
vendored
1
deps/asio
vendored
Submodule deps/asio deleted from b84e6c16b2
1
deps/json
vendored
1
deps/json
vendored
Submodule deps/json deleted from a34e011e24
1
deps/qr
vendored
1
deps/qr
vendored
Submodule deps/qr deleted from 8518684c0f
1
deps/websocketpp
vendored
1
deps/websocketpp
vendored
Submodule deps/websocketpp deleted from 56123c8759
@ -1,11 +0,0 @@
|
|||||||
[*]
|
|
||||||
end_of_line = lf
|
|
||||||
charset = utf-8
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
|
|
||||||
[*.md, *.mustache]
|
|
||||||
trim_trailing_whitespace = false
|
|
||||||
insert_final_newline = false
|
|
5
docs/.gitignore
vendored
5
docs/.gitignore
vendored
@ -1,4 +1 @@
|
|||||||
node_modules
|
work
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
|
149
docs/README.md
149
docs/README.md
@ -1,21 +1,140 @@
|
|||||||
## Installation
|
# obs-websocket documentation
|
||||||
|
|
||||||
Install node and update npm if necessary.
|
## If you're looking for the documentation page, it's [here](generated/protocol.md)
|
||||||
|
|
||||||
```sh
|
This is the documentation for obs-websocket. Run `build_docs.sh` to auto generate the latest docs from the `src` directory. There are 3 components to the docs generation:
|
||||||
cd obs-websocket/docs
|
|
||||||
npm install
|
- `comments/comments.js`: Generates the `work/comments.json` file from the code comments in the src directory.
|
||||||
|
- `docs/process_comments.py`: Processes `work/comments.json` to create `generated/protocol.json`, which is a machine-readable documentation format that can be used to create obs-websocket client libraries.
|
||||||
|
- `docs/generate_md.py`: Processes `generated/protocol.json` to create `generated/protocol.md`, which is the actual human-readable documentation.
|
||||||
|
|
||||||
|
Some notes about documenting:
|
||||||
|
|
||||||
|
- The `complexity` comment line is a suggestion to the user about how much knowledge about OBS's inner workings is required to safely use the associated feature. `1` for easy, `5` for megadeath-expert.
|
||||||
|
- The `rpcVersion` comment line is used to specify the latest available version that the feature is available in. If a feature is deprecated, then the placeholder value of `-1` should be replaced with the last RPC version that the feature will be available in. Manually specifying an RPC version automatically adds the `Deprecated` line to the entry in `generated/protocol.md`.
|
||||||
|
- The description can be multiple lines, but must be contained above the first documentation property (the lines starting with `@`).
|
||||||
|
- Value types are in reference to JSON values. The only ones you should use are `Any`, `String`, `Boolean`, `Number`, `Array`, `Object`.
|
||||||
|
- `Array` types follow this format: `Array<subtype>`, for example `Array<String>` to specify an array of strings.
|
||||||
|
|
||||||
|
Formatting notes:
|
||||||
|
|
||||||
|
- Fields should have their columns aligned. So in a request, the columns of all `@requestField`s should be aligned.
|
||||||
|
- We suggest looking at how other enums/events/requests have been documented before documenting one of your own, to get a general feel of how things have been formatted.
|
||||||
|
|
||||||
|
## Creating enum documentation
|
||||||
|
|
||||||
|
Enums follow this code comment format:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/**
|
||||||
|
* [description]
|
||||||
|
*
|
||||||
|
* @enumIdentifier [identifier]
|
||||||
|
* @enumValue [value]
|
||||||
|
* @enumType [type]
|
||||||
|
* @rpcVersion [latest available RPC version, use `-1` unless deprecated.]
|
||||||
|
* @initialVersion [first obs-websocket version this is found in]
|
||||||
|
* @api enums
|
||||||
|
*/
|
||||||
```
|
```
|
||||||
|
|
||||||
## Build
|
Example code comment:
|
||||||
|
|
||||||
```sh
|
```js
|
||||||
# Just extract the comments.
|
/**
|
||||||
npm run comments
|
* The initial message sent by obs-websocket to newly connected clients.
|
||||||
|
*
|
||||||
# Just render the markdown.
|
* @enumIdentifier Hello
|
||||||
npm run docs
|
* @enumValue 0
|
||||||
|
* @enumType WebSocketOpCode
|
||||||
# Do both comments and markdown.
|
* @rpcVersion -1
|
||||||
npm run build
|
* @initialVersion 5.0.0
|
||||||
|
* @api enums
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
- This is the documentation for the `WebSocketOpCode::Hello` enum identifier.
|
||||||
|
|
||||||
|
## Creating event documentation
|
||||||
|
|
||||||
|
Events follow this code comment format:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/**
|
||||||
|
* [description]
|
||||||
|
*
|
||||||
|
* @dataField [field name] | [value type] | [field description]
|
||||||
|
* [... more @dataField entries ...]
|
||||||
|
*
|
||||||
|
* @eventType [type]
|
||||||
|
* @eventSubscription [EventSubscription requirement]
|
||||||
|
* @complexity [complexity rating, 1-5]
|
||||||
|
* @rpcVersion [latest available RPC version, use `-1` unless deprecated.]
|
||||||
|
* @initialVersion [first obs-websocket version this is found in]
|
||||||
|
* @category [event category]
|
||||||
|
* @api events
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
Example code comment:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/**
|
||||||
|
* Studio mode has been enabled or disabled.
|
||||||
|
*
|
||||||
|
* @dataField studioModeEnabled | Boolean | True == Enabled, False == Disabled
|
||||||
|
*
|
||||||
|
* @eventType StudioModeStateChanged
|
||||||
|
* @eventSubscription General
|
||||||
|
* @complexity 1
|
||||||
|
* @rpcVersion -1
|
||||||
|
* @initialVersion 5.0.0
|
||||||
|
* @category general
|
||||||
|
* @api events
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Creating request documentation
|
||||||
|
|
||||||
|
Requests follow this code comment format:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/**
|
||||||
|
* [description]
|
||||||
|
*
|
||||||
|
* @requestField [optional flag][field name] | [value type] | [field description] | [value restrictions (only include if the value type is `Number`)] | [default behavior (only include if optional flag is set)]
|
||||||
|
* [... more @requestField entries ...]
|
||||||
|
*
|
||||||
|
* @responseField [field name] | [value type] | [field description]
|
||||||
|
* [... more @responseField entries ...]
|
||||||
|
*
|
||||||
|
* @requestType [type]
|
||||||
|
* @complexity [complexity rating, 1-5]
|
||||||
|
* @rpcVersion [latest available RPC version, use `-1` unless deprecated.]
|
||||||
|
* @initialVersion [first obs-websocket version this is found in]
|
||||||
|
* @category [request category]
|
||||||
|
* @api requests
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
- The optional flag is a `?` that prefixes the field name, telling the docs processor that the field is optionally specified.
|
||||||
|
|
||||||
|
Example code comment:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/**
|
||||||
|
* Gets the value of a "slot" from the selected persistent data realm.
|
||||||
|
*
|
||||||
|
* @requestField realm | String | The data realm to select. `OBS_WEBSOCKET_DATA_REALM_GLOBAL` or `OBS_WEBSOCKET_DATA_REALM_PROFILE`
|
||||||
|
* @requestField slotName | String | The name of the slot to retrieve data from
|
||||||
|
*
|
||||||
|
* @responseField slotValue | String | Value associated with the slot. `null` if not set
|
||||||
|
*
|
||||||
|
* @requestType GetPersistentData
|
||||||
|
* @complexity 2
|
||||||
|
* @rpcVersion -1
|
||||||
|
* @initialVersion 5.0.0
|
||||||
|
* @category config
|
||||||
|
* @api requests
|
||||||
|
*/
|
||||||
```
|
```
|
||||||
|
9
docs/build_docs.sh
Executable file
9
docs/build_docs.sh
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cd comments
|
||||||
|
npm install
|
||||||
|
npm run comments
|
||||||
|
|
||||||
|
cd ../docs
|
||||||
|
python3 process_comments.py
|
||||||
|
python3 generate_md.py
|
104
docs/comments.js
104
docs/comments.js
@ -1,104 +0,0 @@
|
|||||||
const fs = require('fs');
|
|
||||||
const path = require('path');
|
|
||||||
const glob = require('glob');
|
|
||||||
const parseComments = require('parse-comments');
|
|
||||||
const config = require('./config.json');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Read each file and call `parse-comments` on it.
|
|
||||||
*
|
|
||||||
* @param {String|Array} `files` List of file paths to read from.
|
|
||||||
* @return {Object|Array} Array of `parse-comments` objects.
|
|
||||||
*/
|
|
||||||
const parseFiles = files => {
|
|
||||||
let response = [];
|
|
||||||
files.forEach(file => {
|
|
||||||
const f = fs.readFileSync(file, 'utf8').toString();
|
|
||||||
response = response.concat(parseComments(f));
|
|
||||||
});
|
|
||||||
|
|
||||||
return response;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filters/sorts the results from `parse-comments`.
|
|
||||||
* @param {Object|Array} `comments` Array of `parse-comments` objects.
|
|
||||||
* @return {Object} Filtered comments sorted by `@api` and `@category`.
|
|
||||||
*/
|
|
||||||
const processComments = comments => {
|
|
||||||
let sorted = {};
|
|
||||||
let errors = [];
|
|
||||||
|
|
||||||
comments.forEach(comment => {
|
|
||||||
if (comment.typedef) {
|
|
||||||
comment.comment = undefined;
|
|
||||||
comment.context = undefined;
|
|
||||||
sorted['typedefs'] = sorted['typedefs'] || [];
|
|
||||||
sorted['typedefs'].push(comment);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof comment.api === 'undefined') return;
|
|
||||||
let validationFailures = validateComment(comment);
|
|
||||||
|
|
||||||
if (validationFailures) {
|
|
||||||
errors.push(validationFailures);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Store the object based on its api (ie. requests, events) and category (ie. general, scenes, etc).
|
|
||||||
comment.category = comment.category || 'miscellaneous';
|
|
||||||
|
|
||||||
// Remove some unnecessary properties to avoid result differences in travis.
|
|
||||||
comment.comment = undefined;
|
|
||||||
comment.context = undefined;
|
|
||||||
|
|
||||||
// Create an entry in sorted for the api/category if one does not exist.
|
|
||||||
sorted[comment.api] = sorted[comment.api] || {};
|
|
||||||
sorted[comment.api][comment.category] = sorted[comment.api][comment.category] || [];
|
|
||||||
|
|
||||||
// Store the comment in the appropriate api/category.
|
|
||||||
sorted[comment.api][comment.category].push(comment);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (errors.length) {
|
|
||||||
throw JSON.stringify(errors, null, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
return sorted;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Rudimentary validation of documentation content, returns an error object or undefined.
|
|
||||||
const validateComment = comment => {
|
|
||||||
let errors = [];
|
|
||||||
[].concat(comment.params).concat(comment.returns).filter(Boolean).forEach(param => {
|
|
||||||
if (typeof param.name !== 'string' || param.name === '') {
|
|
||||||
errors.push({
|
|
||||||
description: `Invalid param or return value name`,
|
|
||||||
param: param
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof param.type !== 'string' || param.type === '') {
|
|
||||||
errors.push({
|
|
||||||
description: `Invalid param or return value type`,
|
|
||||||
param: param
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (errors.length) {
|
|
||||||
return {
|
|
||||||
errors: errors,
|
|
||||||
fullContext: Object.assign({}, comment)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const files = glob.sync(config.srcGlob);
|
|
||||||
const comments = processComments(parseFiles(files));
|
|
||||||
|
|
||||||
if (!fs.existsSync(config.outDirectory)){
|
|
||||||
fs.mkdirSync(config.outDirectory);
|
|
||||||
}
|
|
||||||
|
|
||||||
fs.writeFileSync(path.join(config.outDirectory, 'comments.json'), JSON.stringify(comments, null, 2));
|
|
2
docs/comments/.gitignore
vendored
Normal file
2
docs/comments/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
node_modules
|
||||||
|
npm-debug.log*
|
24
docs/comments/comments.js
Normal file
24
docs/comments/comments.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
const glob = require('glob');
|
||||||
|
const parseComments = require('parse-comments');
|
||||||
|
const config = require('./config.json');
|
||||||
|
|
||||||
|
const parseFiles = files => {
|
||||||
|
let response = [];
|
||||||
|
files.forEach(file => {
|
||||||
|
const f = fs.readFileSync(file, 'utf8').toString();
|
||||||
|
response = response.concat(parseComments(f));
|
||||||
|
});
|
||||||
|
|
||||||
|
return response;
|
||||||
|
};
|
||||||
|
|
||||||
|
const files = glob.sync(config.srcGlob);
|
||||||
|
const comments = parseFiles(files);
|
||||||
|
|
||||||
|
if (!fs.existsSync(config.outDirectory)){
|
||||||
|
fs.mkdirSync(config.outDirectory);
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.writeFileSync(path.join(config.outDirectory, 'comments.json'), JSON.stringify(comments, null, 2));
|
4
docs/comments/config.json
Normal file
4
docs/comments/config.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"srcGlob": "./../../src/**/*.@(cpp|h)",
|
||||||
|
"outDirectory": "./../work"
|
||||||
|
}
|
15
docs/comments/package.json
Normal file
15
docs/comments/package.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"name": "obs-websocket-comments",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "comments.js",
|
||||||
|
"scripts": {
|
||||||
|
"comments": "node ./comments.js"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"glob": "^7.1.2",
|
||||||
|
"parse-comments": "^0.4.3"
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"srcGlob": "./../src/**/*.@(cpp|h)",
|
|
||||||
"srcTemplate": "./protocol.hbs",
|
|
||||||
"outDirectory": "./generated"
|
|
||||||
}
|
|
37
docs/docs.js
37
docs/docs.js
@ -1,37 +0,0 @@
|
|||||||
const fs = require('fs');
|
|
||||||
const path = require('path');
|
|
||||||
const toc = require('markdown-toc');
|
|
||||||
const handlebars = require('handlebars');
|
|
||||||
const config = require('./config.json');
|
|
||||||
|
|
||||||
const helpers = require('handlebars-helpers')({
|
|
||||||
handlebars: handlebars
|
|
||||||
});
|
|
||||||
|
|
||||||
// Allows pipe characters to be used within markdown tables.
|
|
||||||
handlebars.registerHelper('depipe', (text) => {
|
|
||||||
return typeof text === 'string' ? text.replace('|', '\\|') : text;
|
|
||||||
});
|
|
||||||
|
|
||||||
const insertHeader = (text) => {
|
|
||||||
return '<!-- This file was generated based on handlebars templates. Do not edit directly! -->\n\n' + text;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes `protocol.md` using `protocol.mustache`.
|
|
||||||
*
|
|
||||||
* @param {Object} `data` Data to assign to the mustache template.
|
|
||||||
*/
|
|
||||||
const generateProtocol = (templatePath, data) => {
|
|
||||||
const template = fs.readFileSync(templatePath).toString();
|
|
||||||
const generated = handlebars.compile(template)(data);
|
|
||||||
return insertHeader(toc.insert(generated));
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!fs.existsSync(config.outDirectory)){
|
|
||||||
fs.mkdirSync(config.outDirectory);
|
|
||||||
}
|
|
||||||
|
|
||||||
const comments = fs.readFileSync(path.join(config.outDirectory, 'comments.json'), 'utf8');
|
|
||||||
const markdown = generateProtocol(config.srcTemplate, JSON.parse(comments));
|
|
||||||
fs.writeFileSync(path.join(config.outDirectory, 'protocol.md'), markdown);
|
|
312
docs/docs/generate_md.py
Normal file
312
docs/docs/generate_md.py
Normal file
@ -0,0 +1,312 @@
|
|||||||
|
import logging
|
||||||
|
logging.basicConfig(level=logging.INFO, format="%(asctime)s [generate_md.py] [%(levelname)s] %(message)s")
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import json
|
||||||
|
|
||||||
|
enumTypeOrder = [
|
||||||
|
'WebSocketOpCode',
|
||||||
|
'WebSocketCloseCode',
|
||||||
|
'RequestBatchExecutionType',
|
||||||
|
'RequestStatus',
|
||||||
|
'EventSubscription',
|
||||||
|
'ObsMediaInputAction',
|
||||||
|
'ObsOutputState'
|
||||||
|
]
|
||||||
|
|
||||||
|
categoryOrder = [
|
||||||
|
'General',
|
||||||
|
'Config',
|
||||||
|
'Sources',
|
||||||
|
'Scenes',
|
||||||
|
'Inputs',
|
||||||
|
'Transitions',
|
||||||
|
'Filters',
|
||||||
|
'Scene Items',
|
||||||
|
'Outputs',
|
||||||
|
'Stream',
|
||||||
|
'Record',
|
||||||
|
'Media Inputs',
|
||||||
|
'Ui',
|
||||||
|
'High-Volume'
|
||||||
|
]
|
||||||
|
|
||||||
|
requestFieldHeader = """
|
||||||
|
**Request Fields:**
|
||||||
|
|
||||||
|
| Name | Type | Description | Value Restrictions | ?Default Behavior |
|
||||||
|
| ---- | :---: | ----------- | :----------------: | ----------------- |
|
||||||
|
"""
|
||||||
|
|
||||||
|
responseFieldHeader = """
|
||||||
|
**Response Fields:**
|
||||||
|
|
||||||
|
| Name | Type | Description |
|
||||||
|
| ---- | :---: | ----------- |
|
||||||
|
"""
|
||||||
|
|
||||||
|
dataFieldHeader = """
|
||||||
|
**Data Fields:**
|
||||||
|
|
||||||
|
| Name | Type | Description |
|
||||||
|
| ---- | :---: | ----------- |
|
||||||
|
"""
|
||||||
|
|
||||||
|
fragments = []
|
||||||
|
|
||||||
|
# Utils
|
||||||
|
#######################################################################################################################
|
||||||
|
|
||||||
|
def read_file(fileName):
|
||||||
|
with open(fileName, 'r') as f:
|
||||||
|
return f.read()
|
||||||
|
|
||||||
|
def get_fragment(name, register = True):
|
||||||
|
global fragments
|
||||||
|
testFragmentName = name.replace(' ', '-').replace(':', '').lower()
|
||||||
|
if testFragmentName in fragments:
|
||||||
|
testFragmentName += '-1'
|
||||||
|
increment = 1
|
||||||
|
while testFragmentName in fragments:
|
||||||
|
increment += 1
|
||||||
|
testFragmentName[:-1] = str(increment)
|
||||||
|
if register:
|
||||||
|
fragments.append(testFragmentName)
|
||||||
|
return testFragmentName
|
||||||
|
|
||||||
|
def get_category_items(items, category):
|
||||||
|
ret = []
|
||||||
|
for item in requests:
|
||||||
|
if item['category'] != category:
|
||||||
|
continue
|
||||||
|
ret.append(item)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def get_enums_toc(enums):
|
||||||
|
ret = ''
|
||||||
|
for enumType in enumTypeOrder:
|
||||||
|
enum = None
|
||||||
|
for enumIt in enums:
|
||||||
|
if enumIt['enumType'] == enumType:
|
||||||
|
enum = enumIt
|
||||||
|
break
|
||||||
|
if not enum:
|
||||||
|
continue
|
||||||
|
typeFragment = get_fragment(enumType, False)
|
||||||
|
ret += '- [{}](#{})\n'.format(enumType, typeFragment)
|
||||||
|
for enumIdentifier in enum['enumIdentifiers']:
|
||||||
|
enumIdentifier = enumIdentifier['enumIdentifier']
|
||||||
|
enumIdentifierHeader = '{}::{}'.format(enumType, enumIdentifier)
|
||||||
|
enumIdentifierFragment = get_fragment(enumIdentifierHeader, False)
|
||||||
|
ret += ' - [{}](#{})\n'.format(enumIdentifierHeader, enumIdentifierFragment)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def get_enums(enums):
|
||||||
|
ret = ''
|
||||||
|
for enumType in enumTypeOrder:
|
||||||
|
enum = None
|
||||||
|
for enumIt in enums:
|
||||||
|
if enumIt['enumType'] == enumType:
|
||||||
|
enum = enumIt
|
||||||
|
break
|
||||||
|
if not enum:
|
||||||
|
continue
|
||||||
|
typeFragment = get_fragment(enumType)
|
||||||
|
ret += '## {}\n\n'.format(enumType)
|
||||||
|
for enumIdentifier in enum['enumIdentifiers']:
|
||||||
|
enumIdentifierString = enumIdentifier['enumIdentifier']
|
||||||
|
enumIdentifierHeader = '{}::{}'.format(enumType, enumIdentifierString)
|
||||||
|
enumIdentifierFragment = get_fragment(enumIdentifierHeader, False)
|
||||||
|
ret += '### {}\n\n'.format(enumIdentifierHeader)
|
||||||
|
ret += '{}\n\n'.format(enumIdentifier['description'])
|
||||||
|
ret += '- Identifier Value: `{}`\n'.format(enumIdentifier['enumValue'])
|
||||||
|
ret += '- Latest Supported RPC Version: `{}`\n'.format(enumIdentifier['rpcVersion'])
|
||||||
|
if enumIdentifier['deprecated']:
|
||||||
|
ret += '- **⚠️ Deprecated. ⚠️**\n'
|
||||||
|
if enumIdentifier['initialVersion'].lower() == 'unreleased':
|
||||||
|
ret += '- Unreleased\n'
|
||||||
|
else:
|
||||||
|
ret += '- Added in v{}\n'.format(enumIdentifier['initialVersion'])
|
||||||
|
if enumIdentifier != enum['enumIdentifiers'][-1]:
|
||||||
|
ret += '\n---\n\n'
|
||||||
|
else:
|
||||||
|
ret += '\n'
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def get_requests_toc(requests):
|
||||||
|
ret = ''
|
||||||
|
for category in categoryOrder:
|
||||||
|
requestsOut = []
|
||||||
|
for request in requests:
|
||||||
|
if request['category'] != category.lower():
|
||||||
|
continue
|
||||||
|
requestsOut.append(request)
|
||||||
|
if not len(requestsOut):
|
||||||
|
continue
|
||||||
|
categoryFragment = get_fragment(category, False)
|
||||||
|
ret += '- [{} Requests](#{}-requests)\n'.format(category, categoryFragment)
|
||||||
|
for request in requestsOut:
|
||||||
|
requestType = request['requestType']
|
||||||
|
requestTypeFragment = get_fragment(requestType, False)
|
||||||
|
ret += ' - [{}](#{})\n'.format(requestType, requestTypeFragment)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def get_requests(requests):
|
||||||
|
ret = ''
|
||||||
|
for category in categoryOrder:
|
||||||
|
requestsOut = []
|
||||||
|
for request in requests:
|
||||||
|
if request['category'] != category.lower():
|
||||||
|
continue
|
||||||
|
requestsOut.append(request)
|
||||||
|
if not len(requestsOut):
|
||||||
|
continue
|
||||||
|
categoryFragment = get_fragment(category)
|
||||||
|
ret += '## {} Requests\n\n'.format(category)
|
||||||
|
for request in requestsOut:
|
||||||
|
requestType = request['requestType']
|
||||||
|
requestTypeFragment = get_fragment(requestType)
|
||||||
|
ret += '### {}\n\n'.format(requestType)
|
||||||
|
ret += '{}\n\n'.format(request['description'])
|
||||||
|
ret += '- Complexity Rating: `{}/5`\n'.format(request['complexity'])
|
||||||
|
ret += '- Latest Supported RPC Version: `{}`\n'.format(request['rpcVersion'])
|
||||||
|
if request['deprecated']:
|
||||||
|
ret += '- **⚠️ Deprecated. ⚠️**\n'
|
||||||
|
if request['initialVersion'].lower() == 'unreleased':
|
||||||
|
ret += '- Unreleased\n'
|
||||||
|
else:
|
||||||
|
ret += '- Added in v{}\n'.format(request['initialVersion'])
|
||||||
|
|
||||||
|
if request['requestFields']:
|
||||||
|
ret += requestFieldHeader
|
||||||
|
for requestField in request['requestFields']:
|
||||||
|
valueType = requestField['valueType'].replace('<', "<").replace('>', ">")
|
||||||
|
valueRestrictions = requestField['valueRestrictions'] if requestField['valueRestrictions'] else 'None'
|
||||||
|
valueOptional = '?' if requestField['valueOptional'] else ''
|
||||||
|
valueOptionalBehavior = requestField['valueOptionalBehavior'] if requestField['valueOptional'] and requestField['valueOptionalBehavior'] else 'N/A'
|
||||||
|
ret += '| {}{} | {} | {} | {} | {} |\n'.format(valueOptional, requestField['valueName'], valueType, requestField['valueDescription'], valueRestrictions, valueOptionalBehavior)
|
||||||
|
|
||||||
|
if request['responseFields']:
|
||||||
|
ret += responseFieldHeader
|
||||||
|
for responseField in request['responseFields']:
|
||||||
|
valueType = responseField['valueType'].replace('<', "<").replace('>', ">")
|
||||||
|
ret += '| {} | {} | {} |\n'.format(responseField['valueName'], valueType, responseField['valueDescription'])
|
||||||
|
|
||||||
|
if request != requestsOut[-1]:
|
||||||
|
ret += '\n---\n\n'
|
||||||
|
else:
|
||||||
|
ret += '\n'
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def get_events_toc(events):
|
||||||
|
ret = ''
|
||||||
|
for category in categoryOrder:
|
||||||
|
eventsOut = []
|
||||||
|
for event in events:
|
||||||
|
if event['category'] != category.lower():
|
||||||
|
continue
|
||||||
|
eventsOut.append(event)
|
||||||
|
if not len(eventsOut):
|
||||||
|
continue
|
||||||
|
categoryFragment = get_fragment(category, False)
|
||||||
|
ret += '- [{} Events](#{}-events)\n'.format(category, categoryFragment)
|
||||||
|
for event in eventsOut:
|
||||||
|
eventType = event['eventType']
|
||||||
|
eventTypeFragment = get_fragment(eventType, False)
|
||||||
|
ret += ' - [{}](#{})\n'.format(eventType, eventTypeFragment)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def get_events(events):
|
||||||
|
ret = ''
|
||||||
|
for category in categoryOrder:
|
||||||
|
eventsOut = []
|
||||||
|
for event in events:
|
||||||
|
if event['category'] != category.lower():
|
||||||
|
continue
|
||||||
|
eventsOut.append(event)
|
||||||
|
if not len(eventsOut):
|
||||||
|
continue
|
||||||
|
categoryFragment = get_fragment(category)
|
||||||
|
ret += '## {} Events\n\n'.format(category)
|
||||||
|
for event in eventsOut:
|
||||||
|
eventType = event['eventType']
|
||||||
|
eventTypeFragment = get_fragment(eventType)
|
||||||
|
ret += '### {}\n\n'.format(eventType)
|
||||||
|
ret += '{}\n\n'.format(event['description'])
|
||||||
|
ret += '- Complexity Rating: `{}/5`\n'.format(event['complexity'])
|
||||||
|
ret += '- Latest Supported RPC Version: `{}`\n'.format(event['rpcVersion'])
|
||||||
|
if event['deprecated']:
|
||||||
|
ret += '- **⚠️ Deprecated. ⚠️**\n'
|
||||||
|
if event['initialVersion'].lower() == 'unreleased':
|
||||||
|
ret += '- Unreleased\n'
|
||||||
|
else:
|
||||||
|
ret += '- Added in v{}\n'.format(event['initialVersion'])
|
||||||
|
|
||||||
|
if event['dataFields']:
|
||||||
|
ret += dataFieldHeader
|
||||||
|
for dataField in event['dataFields']:
|
||||||
|
valueType = dataField['valueType'].replace('<', "<").replace('>', ">")
|
||||||
|
ret += '| {} | {} | {} |\n'.format(dataField['valueName'], valueType, dataField['valueDescription'])
|
||||||
|
|
||||||
|
if event != eventsOut[-1]:
|
||||||
|
ret += '\n---\n\n'
|
||||||
|
else:
|
||||||
|
ret += '\n'
|
||||||
|
return ret
|
||||||
|
|
||||||
|
# Actual code
|
||||||
|
#######################################################################################################################
|
||||||
|
|
||||||
|
# Read versions json
|
||||||
|
try:
|
||||||
|
with open('../versions.json', 'r') as f:
|
||||||
|
versions = json.load(f)
|
||||||
|
except IOError:
|
||||||
|
logging.error('Failed to get global versions. Versions file not configured?')
|
||||||
|
os.exit(1)
|
||||||
|
|
||||||
|
# Read protocol json
|
||||||
|
with open('../generated/protocol.json', 'r') as f:
|
||||||
|
protocol = json.load(f)
|
||||||
|
|
||||||
|
output = "<!-- This file was automatically generated. Do not edit directly! -->\n"
|
||||||
|
output += "<!-- markdownlint-disable no-bare-urls -->\n"
|
||||||
|
|
||||||
|
# Insert introduction partial
|
||||||
|
output += read_file('partials/introduction.md')
|
||||||
|
logging.info('Inserted introduction section.')
|
||||||
|
|
||||||
|
output += '\n'
|
||||||
|
|
||||||
|
# Generate enums MD
|
||||||
|
output += read_file('partials/enumsHeader.md')
|
||||||
|
output += '\n'
|
||||||
|
output += get_enums_toc(protocol['enums'])
|
||||||
|
output += '\n'
|
||||||
|
output += get_enums(protocol['enums'])
|
||||||
|
logging.info('Inserted enums section.')
|
||||||
|
|
||||||
|
# Generate events MD
|
||||||
|
output += read_file('partials/eventsHeader.md')
|
||||||
|
output += '\n'
|
||||||
|
output += get_events_toc(protocol['events'])
|
||||||
|
output += '\n'
|
||||||
|
output += get_events(protocol['events'])
|
||||||
|
logging.info('Inserted events section.')
|
||||||
|
|
||||||
|
# Generate requests MD
|
||||||
|
output += read_file('partials/requestsHeader.md')
|
||||||
|
output += '\n'
|
||||||
|
output += get_requests_toc(protocol['requests'])
|
||||||
|
output += '\n'
|
||||||
|
output += get_requests(protocol['requests'])
|
||||||
|
logging.info('Inserted requests section.')
|
||||||
|
|
||||||
|
if output.endswith('\n\n'):
|
||||||
|
output = output[:-1]
|
||||||
|
|
||||||
|
# Write new protocol MD
|
||||||
|
with open('../generated/protocol.md', 'w') as f:
|
||||||
|
f.write(output)
|
||||||
|
|
||||||
|
logging.info('Finished generating protocol.md.')
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user