Skip to content
Snippets Groups Projects
Commit 27976b05 authored by Christoph Stahl's avatar Christoph Stahl
Browse files

Updated readme to prepare for 2.0 release

parent 10239e42
Branches main
No related tags found
No related merge requests found
...@@ -18,9 +18,9 @@ To host a karaoke event, you only need to use the playback client. You can use t ...@@ -18,9 +18,9 @@ To host a karaoke event, you only need to use the playback client. You can use t
## Installation ## Installation
For a clean installation we recommend installing syng inside a virtualenv. Syng can be installed via the _Python Package Index_ (PyPI). When installing the client it is mandatory to include the `client` flag:
pip install "syng[client] @ git+https://github.com/christofsteel/syng.git" pip install 'syng[client]'
This installs both the playback client (`syng client`) and a configuration GUI (`syng gui`). This installs both the playback client (`syng client`) and a configuration GUI (`syng gui`).
...@@ -37,7 +37,7 @@ Webclients should connect to the server using a room code, that can be configure ...@@ -37,7 +37,7 @@ Webclients should connect to the server using a room code, that can be configure
You can either configure Syng using the GUI or via a text editor by editing `~/.config/syng/config.yaml`. There are the following settings: You can either configure Syng using the GUI or via a text editor by editing `~/.config/syng/config.yaml`. There are the following settings:
* `server`: URL of the server to connect to. * `server`: URL of the server to connect to.
* `room`: The room code for your karaoke event. Can be chose arbitrarily. _Note:_ Everyone, that has access to the room code can join the karaoke event. * `room`: The room code for your karaoke event. Can be chosen arbitrarily, but must be unique. Unused rooms will be deleted after some time. _Note:_ Everyone, that has access to the room code can join the karaoke event.
* `secret`: The admin password for your karaoke event. If you want to reconnect with a playback client to a room, these must match. Additionally, this unlocks admin capabilities to a web client, when given under "Advanced" in the web client. * `secret`: The admin password for your karaoke event. If you want to reconnect with a playback client to a room, these must match. Additionally, this unlocks admin capabilities to a web client, when given under "Advanced" in the web client.
* `waiting_room_policy`: One of `none`, `optional`, `forced`. When a performer wants to be added to the playback queue, but has already a song queued, they can be added to the _waiting room_. `none` disables this behavior and performers can have multiple songs in the queue, `optional` gives the performer a notification, and they can decide for themselves, and `forced` puts them in the waiting room every time. Once the current song of a performer leaves the queue, the song from the waiting room will be added to the queue. * `waiting_room_policy`: One of `none`, `optional`, `forced`. When a performer wants to be added to the playback queue, but has already a song queued, they can be added to the _waiting room_. `none` disables this behavior and performers can have multiple songs in the queue, `optional` gives the performer a notification, and they can decide for themselves, and `forced` puts them in the waiting room every time. Once the current song of a performer leaves the queue, the song from the waiting room will be added to the queue.
* `last_song`: `none` or a time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). When a song is added to the queue, and its ending time exceeds this value, it is rejected. * `last_song`: `none` or a time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). When a song is added to the queue, and its ending time exceeds this value, it is rejected.
...@@ -48,16 +48,16 @@ In addition to the general config, has its own configuration under the `sources` ...@@ -48,16 +48,16 @@ In addition to the general config, has its own configuration under the `sources`
### YouTube ### YouTube
Configuration is done under `sources` -> `youtube` with the following settings: Configuration is done under `sources` `youtube` with the following settings:
* `enabled`: `true` or `false`. * `enabled`: `true` or `false`.
* `channels`: list of youtube channels. If this is a nonempty list, Syng will only search these channels, otherwise YouTube will be searched as a whole. * `channels`: list of YouTube channels. If this is a nonempty list, Syng will only search these channels, otherwise YouTube will be searched as a whole.
* `tmp_dir`: YouTube videos will be downloaded before playback. This sets the direcory, where YouTube videos are stored. * `tmp_dir`: YouTube videos will be downloaded before playback. This sets the directory, where YouTube videos are stored.
* `start_streaming`: `true` or `false`. If `true`, videos will be streamed directly using `mpv`, if the video is not cached beforehand. Otherwise Syng waits for the video to be downloaded. * `start_streaming`: `true` or `false`. If `true`, videos will be streamed directly using `mpv`, if the video is not cached beforehand. Otherwise, Syng waits for the video to be downloaded.
### S3 ### S3
Configuration is done under `sources` -> `s3` with the following settings: Configuration is done under `sources` `s3` with the following settings:
* `enabled`: `true` or `false`. * `enabled`: `true` or `false`.
* `extensions`: List of extensions to be searched. For karaoke songs, that separate audio and video (e.g cdg files), you can use `mp3+cdg` to signify, that the audio part is a `mp3` file and the video is a `cdg` file. For karaoke songs, that do not separate this (e.g. mp4 files), you can simply use `mp4`. * `extensions`: List of extensions to be searched. For karaoke songs, that separate audio and video (e.g cdg files), you can use `mp3+cdg` to signify, that the audio part is a `mp3` file and the video is a `cdg` file. For karaoke songs, that do not separate this (e.g. mp4 files), you can simply use `mp4`.
...@@ -71,23 +71,58 @@ Configuration is done under `sources` -> `s3` with the following settings: ...@@ -71,23 +71,58 @@ Configuration is done under `sources` -> `s3` with the following settings:
### Files ### Files
Configuration is done under `sources` -> `files` with the following settings: Configuration is done under `sources` `files` with the following settings:
* `enabled`: `true` or `false`. * `enabled`: `true` or `false`.
* `extensions`: List of extensions to be searched. For karaoke songs, that separate audio and video (e.g cdg files), you can use `mp3+cdg` to signify, that the audio part is a `mp3` file and the video is a `cdg` file. For karaoke songs, that do not separate this (e.g. mp4 files), you can simply use `mp4`. * `extensions`: List of extensions to be searched. For karaoke songs, that separate audio and video (e.g. cdg files), you can use `mp3+cdg` to signify, that the audio part is a `mp3` file and the video is a `cdg` file. For karaoke songs, that do not separate this (e.g. mp4 files), you can simply use `mp4`.
* `dir`: Directory, where the karaoke files are stored. * `dir`: Directory, where the karaoke files are stored.
* `index_file`: Cache file, that contains the filenames of the karaoke files in the s3. * `index_file`: Cache file, that contains the filenames of the karaoke files in the s3.
### Default configuration
```
config:
key: ''
last_song: null
preview_duration: 3
room: <Random room code>
secret: <Random secret>
server: https://syng.rocks
waiting_room_policy: none
sources:
files:
dir: .
enabled: false
extensions:
- mp3+cdg
index_file: ~/.cache/syng/files-index
s3:
access_key: ''
bucket: ''
enabled: false
endpoint: ''
extensions:
- mp3+cdg
index_file: ~/.cache/syng/s3-index
secret_key: ''
secure: true
tmp_dir: /tmp/syng
youtube:
channels: []
enabled: true
start_streaming: false
tmp_dir: /tmp/syng
```
# Server # Server
If you want to host your own Syng server, you can do that, but you can also ust the publicly available Syng instance at https://syng.rocks. If you want to host your own Syng server, you can do that, but you can also use the publicly available Syng instance at https://syng.rocks.
## Installation ## Installation
Installation is done via pip. Installation is done via pip.
pip install "syng[server] @ git+https://github.com/christofsteel/syng.git" pip install 'syng[server]'
## Running ## Running
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment