mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
docs: update README and BUILDING
This commit is contained in:
parent
a1c5bc00bc
commit
fb616b4b53
20
BUILDING.md
20
BUILDING.md
@ -1,21 +1,26 @@
|
||||
# Compiling obs-websocket
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You'll need [Qt 5.10.x](https://download.qt.io/official_releases/qt/5.10/),
|
||||
[CMake](https://cmake.org/download/), and a working [development environment for
|
||||
OBS Studio](https://obsproject.com/wiki/install-instructions) installed on your
|
||||
[CMake](https://cmake.org/download/), [Boost](https://www.boost.org/) 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 :
|
||||
```
|
||||
sudo apt-get install libqt5websockets5-dev
|
||||
|
||||
```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
|
||||
@ -25,7 +30,8 @@ sudo make install
|
||||
```
|
||||
|
||||
## OS X
|
||||
As a prerequisite, you will need Xcode for your current OSX version, the command line tools, and [Homebrew](https://brew.sh/).
|
||||
|
||||
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 Travis macOS CI scripts is recommended. Please note that these
|
||||
@ -38,7 +44,7 @@ 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
|
||||
@ -46,8 +52,10 @@ cd obs-websocket
|
||||
./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
|
||||
|
||||
- Windows : [](https://ci.appveyor.com/project/Palakis/obs-websocket/history)
|
||||
- Linux & OS X : [](https://travis-ci.org/Palakis/obs-websocket)
|
||||
|
98
README.md
98
README.md
@ -4,7 +4,7 @@ Remote control of OBS Studio made easy.
|
||||
|
||||
Follow the project on Twitter for news & updates : [@obswebsocket](https://twitter.com/obswebsocket)
|
||||
|
||||
[](https://gitter.im/obs-websocket/obs-websocket) [](https://ci.appveyor.com/project/Palakis/obs-websocket/history) [](https://travis-ci.org/Palakis/obs-websocket)
|
||||
[](https://ci.appveyor.com/project/Palakis/obs-websocket/history) [](https://travis-ci.org/Palakis/obs-websocket)
|
||||
|
||||
## Downloads
|
||||
Binaries for Windows and Linux are available in the [Releases](https://github.com/Palakis/obs-websocket/releases) section.
|
||||
@ -20,6 +20,7 @@ It is **highly recommended** to protect obs-websocket with a password against un
|
||||
- Automate scene switching with a third-party program (e.g. : auto-pilot, foot pedal, ...)
|
||||
|
||||
### For developers
|
||||
|
||||
The server is a typical Websockets server running by default on port 4444 (the port number can be changed in the Settings dialog).
|
||||
The protocol understood by the server is documented in [PROTOCOL.md](docs/generated/protocol.md).
|
||||
|
||||
@ -29,37 +30,92 @@ Here's a list of available language APIs for obs-websocket :
|
||||
- Python 2 and 3: [obs-websocket-py](https://github.com/Elektordi/obs-websocket-py) by Guillaume Genty a.k.a Elektordi
|
||||
- Python 3.5+ with asyncio: [obs-ws-rc](https://github.com/KirillMysnik/obs-ws-rc) by Kirill Mysnik
|
||||
|
||||
I'd like to know what you're building with or for obs-websocket. If you do something in this fashion, feel free to drop me an email at `contact at slepin dot fr` !
|
||||
I'd like to know what you're building with or for obs-websocket. If you do something in this fashion, feel free to drop me an email at `stephane /dot/ lepin /at/ gmail /dot/ com` !
|
||||
|
||||
## Compiling obs-websocket
|
||||
|
||||
See the [build instructions](BUILDING.md).
|
||||
|
||||
## Contributing
|
||||
|
||||
### Branches
|
||||
|
||||
The two main development branches are:
|
||||
|
||||
- `4.x-current`: actively-maintained codebase for 4.x releases. Backwards-compatible (unless stated otherwise) with existing clients until 5.0.
|
||||
- `5.x`: upcoming 5.0 version
|
||||
|
||||
**New features and fixes must be based off and contributed to `4.x-current`**, as obs-websocket 5.0 is not in active development yet.
|
||||
|
||||
### Pull Requests
|
||||
|
||||
Pull Requests must never be based off your fork's main branch (in our case, `4.x-current` or `5.x`). Start your work in a new branch
|
||||
based on the main one (e.g.: `cool-new-feature`, `fix-palakis-mistakes`, ...) and open a Pull Request once you feel ready to show your work.
|
||||
|
||||
If your Pull Request is not ready to merge yet, tag it with the `work in progress` label. You can also use the `help needed` label if you have questions, need a hand or want to ask for input.
|
||||
|
||||
### Code style & formatting
|
||||
|
||||
Source code is indented with tabs, with spaces allowed for alignment.
|
||||
|
||||
Regarding protocol changes: new and updated request types / events must always come with accompanying documentation comments (see existing protocol elements for examples).
|
||||
These are using to automatically generate the [protocol specification](docs/generated/protocol.md).
|
||||
|
||||
Among other recommendations: favor return-early code and avoid wrapping huge portions of code in conditionals. As an example, this:
|
||||
|
||||
```cpp
|
||||
if (success) {
|
||||
return req->SendOKResponse();
|
||||
} else {
|
||||
return req->SendErrorResponse("something went wrong");
|
||||
}
|
||||
```
|
||||
|
||||
is better like this:
|
||||
|
||||
```cpp
|
||||
if (!success) {
|
||||
return req->SendErrorResponse("something went wrong");
|
||||
}
|
||||
return req->SendOKResponse();
|
||||
```
|
||||
|
||||
|
||||
## Translations
|
||||
**We need your help on translations**. Please join the localization project on Crowdin: https://crowdin.com/project/obs-websocket
|
||||
|
||||
**Your help is welcome on translations**. Please join the localization project on Crowdin: https://crowdin.com/project/obs-websocket
|
||||
|
||||
## Special thanks
|
||||
In order of appearance:
|
||||
- [Brendan H.](https://github.com/haganbmj) : Code contributions and gooder English in the Protocol specification
|
||||
- [Mikhail Swift](https://github.com/mikhailswift) : Code contributions
|
||||
- [Tobias Frahmer](https://github.com/Frahmer) : German localization
|
||||
- [Genture](https://github.com/Genteure) : Simplified Chinese and Traditional Chinese localizations
|
||||
- [Larissa Gabilan](https://github.com/laris151) : Portuguese localization
|
||||
- [Andy Asquelt](https://github.com/asquelt) : Polish localization
|
||||
- [Marcel Haazen](https://github.com/inpothet) : Dutch localization
|
||||
- [Peter Antonvich](https://github.com/pantonvich) : Code contributions
|
||||
- [yinzara](https://github.com/yinzara) : Code contributions
|
||||
- [Chris Angelico](https://github.com/Rosuav) : Code contributions
|
||||
- [Guillaume "Elektordi" Genty](https://github.com/Elektordi) : Code contributions
|
||||
- [Marwin M](https://github.com/dragonbane0) : Code contributions
|
||||
- [Logan S.](https://github.com/lsdaniel) : Code contributions
|
||||
- [RainbowEK](https://github.com/RainbowEK) : Code contributions
|
||||
- [RytoEX](https://github.com/RytoEX) : CI script and code contributions
|
||||
- [Theodore Stoddard](https://github.com/TStod) : Code contributions
|
||||
- [Philip Loche](https://github.com/PicoCentauri) : Code contributions
|
||||
|
||||
In (almost) order of appearance:
|
||||
|
||||
- [Brendan H.](https://github.com/haganbmj): Code contributions and gooder English in the Protocol specification
|
||||
- [Mikhail Swift](https://github.com/mikhailswift): Code contributions
|
||||
- [Tobias Frahmer](https://github.com/Frahmer): Initial German localization
|
||||
- [Genture](https://github.com/Genteure): Initial Simplified Chinese and Traditional Chinese localizations
|
||||
- [Larissa Gabilan](https://github.com/laris151): Initial Portuguese localization
|
||||
- [Andy Asquelt](https://github.com/asquelt): Initial Polish localization
|
||||
- [Marcel Haazen](https://github.com/nekocentral): Initial Dutch localization
|
||||
- [Peter Antonvich](https://github.com/pantonvich): Code contributions
|
||||
- [yinzara](https://github.com/yinzara): Code contributions
|
||||
- [Chris Angelico](https://github.com/Rosuav): Code contributions
|
||||
- [Guillaume "Elektordi" Genty](https://github.com/Elektordi): Code contributions
|
||||
- [Marwin M](https://github.com/dragonbane0): Code contributions
|
||||
- [Logan S.](https://github.com/lsdaniel): Code contributions
|
||||
- [RainbowEK](https://github.com/RainbowEK): Code contributions
|
||||
- [RytoEX](https://github.com/RytoEX): CI script and code contributions
|
||||
- [Theodore Stoddard](https://github.com/TStod): Code contributions
|
||||
- [Philip Loche](https://github.com/PicoCentauri): Code contributions
|
||||
- [Patrick Heyer](https://github.com/PatTheMav): Code contributions and CI fixes
|
||||
- [Alex Van Camp](https://github.com/Lange): Code contributions
|
||||
- [Freddie Meyer](https://github.com/DungFu): Code contributions
|
||||
- [Casey Muller](https://github.com/caseymrm): CI fixes
|
||||
- [Chris Angelico](https://github.com/Rosuav): Documentation fixes
|
||||
|
||||
And also: special thanks to supporters of the project!
|
||||
|
||||
## Supporters
|
||||
|
||||
They have contributed financially to the project and made possible the addition of several features into obs-websocket. Many thanks to them!
|
||||
|
||||
---
|
||||
|
Loading…
x
Reference in New Issue
Block a user