From d446eb0ad6026b05eacadb552a63878130abbaee Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Wed, 27 Jan 2021 18:39:51 +0100 Subject: [PATCH] MISC: Update doc [skip-ci] --- CHANGELOG.md | 3 +- README.md | 131 ++++++++++++++++++++++----------------------------- 2 files changed, 59 insertions(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5814d240..2c6f0cc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ - Fix dl process with the repo module - Add window icon - Add the Klkt client (notification for desktops) to the lektor project -- Add AppImage builds +- Add AppImage builds for lektord, lkt and klkt +- Add basic controls to klkt (play, pause, next, previous, shuffle) - Remove archlinux package support (replaced by AppImage) - Bug fix: reduce libs to link to lkt (dear autoconf...) - Bug fix: fix #84, next and prev commands didn't worked correctly diff --git a/README.md b/README.md index 8dcdfdfb..2a1c203d 100644 --- a/README.md +++ b/README.md @@ -19,11 +19,10 @@ A Karaoke player made to replace the old bash scripts on Sakura. ### Prerequisites -- [autotools](https://www.gnu.org/software/autoconf/), libtool, autoconf, - automake, etc +- [autotools](https://www.gnu.org/software/autoconf/), libtool, autoconf, automake, etc - a C compiler with C11 support -- the [sqlite3](https://www.sqlite.org/) development library, version 3.31.0 or - newer for [generated columns](https://www.sqlite.org/gencol.html) support +- the [sqlite3](https://www.sqlite.org/) development library, version 3.31.0 or newer for + [generated columns](https://www.sqlite.org/gencol.html) support - a POSIX.1-2008 compatible system (i.e. not MS Windows) For the module sdl2, you will need the folowing prerequisites: @@ -41,33 +40,29 @@ To build Klkt, you will need: - glib-2.0, the developpement package - qmake and Qt5 developpement libraries (Qt5Core Qt5Gui Qt5Network Qt5Widgets) -You will also need the following executables, with their path setted in the -configuration file: +You will also need the following executables, with their path setted in the configuration file: - mkvpropedit from [mkvtoolnix](https://gitlab.com/mbunkus/mkvtoolnix) - the bourn shell again: [bash](https://git.savannah.gnu.org/cgit/bash.git) - the command line tool xxd, is distributed in the [vim](https://www.archlinux.org/packages/extra/x86_64/vim/) and - [gvim](https://www.archlinux.org/packages/extra/x86_64/gvim/) packages on - archlinux, seems to be distributed in its own package on debian: - [xxd](https://packages.debian.org/sid/xxd) + [gvim](https://www.archlinux.org/packages/extra/x86_64/gvim/) packages on archlinux, seems to be + distributed in its own package on debian: [xxd](https://packages.debian.org/sid/xxd) -If you use the configure with the `--with-depends` option (needed on debian -10), you will need the following dependencies: +If you use the configure with the `--with-depends` option (needed on debian 10), you will need the +following dependencies: -- the [curl](https://curl.haxx.se/) command line utility. It can be replaced by - the wget command line utility. -- the [wget](https://www.gnu.org/software/wget/) command line utility. Can be - replaced by curl command line utility. +- the [curl](https://curl.haxx.se/) command line utility. It can be replaced by the wget command + line utility. +- the [wget](https://www.gnu.org/software/wget/) command line utility. Can be replaced by curl + command line utility. - the [git](https://git-scm.com/) command line utility -Note that because of the use of `curl` and `get`, building behind a proxy may -be challenging. +Note that because of the use of `curl` and `get`, building behind a proxy may be challenging. If you are developping for lektor, you will need: -- the [astyle](http://astyle.sourceforge.net/) command line utility, for a - beautifull and uniform coding style. +- the [astyle](http://astyle.sourceforge.net/) command line utility, for a beautifull and uniform coding style. > If you are having problems build lektor (AC macros not defined), try copy the > `.m4` files from `/usr/share/aclocal` to `config/m4`. @@ -77,8 +72,8 @@ If you are developping for lektor, you will need: The manual way of installing and setting up lektor: ```sh -# Setup files, you can also change the default kara folder and database path in -# the config file. +# Setup files, you can also change the default kara folder and database path +# in the config file. sudo mkdir /home/kara && sudo chown USER:USER /home/kara # Install, typical with libtool. @@ -99,84 +94,72 @@ The recommended `configure` command is the following: CC=clang CXX=clang++ # I prefer clang over gcc ``` -The sqlite database and the config file will be created automatically if -needed, i.e. on the first run. If you are upgrading lektor, the config might -not be correct. You can delete the config file or use the `lkt admin config` to -generate the config file again. +The sqlite database and the config file will be created automatically if needed, i.e. on the first +run. If you are upgrading lektor, the config might not be correct. You can delete the config file +or use the `lkt admin config` to generate the config file again. -> **Important note**: Upgrading the config or the database scheme automatically -is not supported yet. If you are experiencing weird things with lektord, please -try first to delete the database and config and regenerate them. There are -currently no way of doing a backup of playlists and stickers with lektor, this -is WIP. +> **Important note**: Upgrading the config or the database scheme automatically is not supported +yet. If you are experiencing weird things with lektord, please try first to delete the database +and config and regenerate them. There are currently no way of doing a backup of playlists and +stickers with lektor, this is WIP. -If you are using special modules or are compiling lektor without static modules, -you may set their **absolute path** inside the lektor's config file. +If you are using special modules or are compiling lektor without static modules, you may set their +**absolute path** inside the lektor's config file. -To generate AppImages, add `enable-appimage` to the `configure` line. Note that -the only supported distribution methode is AppImage. +To generate AppImages, add `enable-appimage` to the `configure` line. Note that the only supported +distribution methode is AppImage. -> **Important note**: if you are building using WSL, `lektord` will likely not -launch, because `XDG_RUNTIME_DIR` is not defined here. This folder is -important, this is where most of your deamons are puttings theirs sockets and -so. Blame Microsoft for that. A workaround is to export one: `export -XDG_RUNTIME_DIR=$(mktemp -d)` before launching lektord. Be aware that you will -have issues with sound and videos becouse you will need to set up a X server... +> **Important note**: if you are building using WSL, `lektord` will likely not launch, because +`XDG_RUNTIME_DIR` is not defined here. This folder is important, this is where most of your +deamons are puttings theirs sockets and so. Blame Microsoft for that. A workaround is to export +one: `export XDG_RUNTIME_DIR=$(mktemp -d)` before launching lektord. Be aware that you will have +issues with sound and videos becouse you will need to set up a X server... -> Currently, supported compilers are: `icc` 19.1.2.254 and above, `gcc` 8.3.0 and -above, `clang` 7.0.1 and above. It compiles on debian, thus it must compiles on -your system (apport from CentOS, because I never tested on it, and it no longer -exists...). +> Currently, supported compilers are: `icc` 19.1.2.254 and above, `gcc` 8.3.0 and above, +`clang` 7.0.1 and above. It compiles on debian, thus it must compiles on your system (apport from +CentOS, because I never tested on it, and it no longer exists...). ## Preparing a kara for lektor -The ideal way of populating lektor is using *Kurisu*. The `update` and `rescan` -commands are here for that. To import the favorites and playlists from -*Kurisu*, use the `import` command. +The ideal way of populating lektor is using *Kurisu*. The `update` and `rescan` commands are here +for that. To import the favorites and playlists from *Kurisu*, use the `import` command. ## How to use lektor ### Launch instructions -To run lektor, you can simply run the binary like: `./lektord`. If lektord did -not exited normally (i.e. without the `lkt adm kill` command), the database -will still store the fact that lektord is running. To by-pass it, you will need -to launch lektord with the `-F` (forced) option, like `lektord -F`. +To run lektor, you can simply run the binary like: `./lektord`. If lektord did not exited normally +(i.e. without the `lkt adm kill` command), the database will still store the fact that lektord is +running. To by-pass it, you will need to launch lektord with the `-F` (forced) option, like `lektord -F`. -It is not recommended to launch always lektord with the `-F` option, because that -way you could launch multiple instances of the lektod daemon, which could results -in undefined behaviours. +It is not recommended to launch always lektord with the `-F` option, because that way you could launch +multiple instances of the lektod daemon, which could results in undefined behaviours. -Lektor will use specialized software (hwdec set to yes), if you have an nvidia -card with optimus (in almose every laptop), please use `optirun` or `primusrun`: -`optirun ./lektord` +Lektor will use specialized software (hwdec set to yes), if you have an nvidia card with optimus (in +almose every laptop), please use `optirun` or `primusrun`: `optirun ./lektord` ### How to send commands to lektor -Lektor is compatible with mpd, which means that you can use any client (only -mpc is tested) to interact with lektor. Some functions are not *really* -compatible (somme work to be done) because mpc *really* makes some assumptions. -The ideal way is to use `lkt`. +Lektor is compatible with mpd, which means that you can use any client (only mpc is tested) to interact +with lektor. Some functions are not *really* compatible (somme work to be done) because mpc *really* +makes some assumptions. The ideal way is to use `lkt`. ### How to configure lektor -Lektor configuration is done with an INI file. Modules' configuration is also -done by the same INI file using diferent sections. Lektor searches for the -configuration file in that order: +Lektor configuration is done with an INI file. Modules' configuration is also done by the same INI +file using diferent sections. Lektor searches for the configuration file in that order: 1. `$PWD/lektor.ini` -2. if `XDG_CONFIG_HOME` defined then `$XDG_CONFIG_HOME/lektor/lektor.ini` else - `$HOME/.config/lektor/lektor.ini` +2. if `XDG_CONFIG_HOME` defined? `$XDG_CONFIG_HOME/lektor/lektor.ini` : `$HOME/.config/lektor/lektor.ini` 3. `/opt/lektor/lektor.ini` 4. `/usr/local/etc/lektor.ini` 5. `/etc/lektor.ini` -To get the default config file, you can use the `lkt adm conf` command. If no -config file is found, lektord will try to create the -`$HOME/.config/lektor/lektor.ini` config file with the default content. +To get the default config file, you can use the `lkt adm conf` command. If no config file is found, +lektord will try to create the `$HOME/.config/lektor/lektor.ini` config file with the default content. -Be aware that if the home directory or the `XDG_CONFIG_HOME` are too long they -will be ignored and truncated. You may then get uncomprehensible errors. +Be aware that if the home directory or the `XDG_CONFIG_HOME` are too long they will be ignored and +truncated. You may then get uncomprehensible errors. ## Contributing @@ -184,6 +167,6 @@ Please, refer to the [CONTRIBUTING](CONTRIBUTING.md) file. ## MPD -Lektor is almost MPD compatible, at least it uses the same protocol, which can -be gotten [here](https://www.musicpd.org/doc/html/protocol.html#). The full -support for MPD clients (like mpc) is still WIP. +Lektor is almost MPD compatible, at least it uses the same protocol, which can be gotten +[here](https://www.musicpd.org/doc/html/protocol.html#). The full support for MPD clients (like mpc +and ncmpc) is still WIP. -- GitLab