Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • ec09d8e4e00078e58bcbba3c5fdd7f799cd8b1a3
  • master par défaut protégée
  • rust-playlist-sync
  • rust
  • fix-qt-deprecated-qvariant-type
  • fix-mpris-qtwindow-race-condition
  • rust-appimage-wayland
  • windows-build-rebased
  • v2.5 protégée
  • v2.4 protégée
  • v2.3-1 protégée
  • v2.3 protégée
  • v2.2 protégée
  • v2.1 protégée
  • v2.0 protégée
  • v1.8-3 protégée
  • v1.8-2 protégée
  • v1.8-1 protégée
  • v1.8 protégée
  • v1.7 protégée
  • v1.6 protégée
  • v1.5 protégée
  • v1.4 protégée
  • v1.3 protégée
  • v1.2 protégée
  • v1.1 protégée
  • v1.0 protégée
27 résultats

lektor

  • Cloner avec SSH
  • Cloner avec HTTPS
  • Avatar de Kubat
    Kubat authored
    AMADEUS: Directly handle the keyboard event in the subscription, mapping directly the playback request out of the subscription
    ec09d8e4
    Historique

    Lektor

    pipeline status matrix chat platform support stable version

    A Karaoke player made to replace the old bash scripts on Sakura.

    Table of content

    Building the player

    Prerequisites

    • rust compiler with version >= 1.70
    • cmake at least the version 3.18
    • C++ compiler with C++17 support
    • mpv development library
    • Qt6 development library: QtCore, QtWidgets, QtOpenGL, QtOpenGLWidgets.

    To visualize dependencies of the rust part of lektor, you can call the script utils/scripts/print-cargo-deps.bash from the workspaces. You will also need to have dot utility from the graphviz package to be installed for that script to work.

    Building instructions

    The manual way of installing and setting up lektor. We will suppose that cargo will place all the binaries inside the target folder and that you have all the libraries installed correctly.

    cargo build --release
    install -CD -m 0755 utils/scripts/kagary.py $HOME/.local/bin/kagary
    cp target/release/{lektord,liblektor_c.so,lkt,amadeus} $HOME/.local/bin/

    To develop, you can use cargo run --bin $BINARY to run the desired binary without installing it.

    To change the used c++ compiler, you must export the CXX variable that indicates the correct compiler: CXX=clang++ cargo build --release. By default the build artifacts for the c++ code are placed in the .build folder at the root of the project. If you specify another compiler they will be placed in the .build.$(basename "$CXX") folder.

    You can use podman (must be configured) or docker, with podman you don't need a root daemon and privileges, it will run as your current user. In the former case your container registry config file /etc/containers/registries.conf must contains the following content:

    [registries.search]
    registries = ['docker.io']

    When everything is configured you can run the following commands, using either docker or podman:

    # AppImage build
    podman build -t lektor_appimage -f Dockerfile.appimage
    podman run -v $PWD/build:/build -v $PWD:/src lektor_appimage
    
    # Windows build
    podman build -t lektor_windows -f Dockerfile.windows
    podman run -v $PWD/build:/build -v $PWD:/src lektor_windows

    Note that the generated AppImages won't be signed, you can signed them by extracting them, and repacking them with you gpg key, here with Amadeus as an example. You will need to have downloaded the appimage utility.

    ./Amadeus-x86_64.AppImage --appimage-extract
    mv squashfs-root Amadeus
    appimagetool --comp xz --sign --sign-key $YOUR_SIGN_KEY Amadeus

    How to use lektor

    Important note: Upgrading the database from version 2.4 to version 3 is not possible. You need to delete the database and re-dl all the karas from kurisu.

    Launch instructions

    To run lektor, you can simply run the binary like: ./lektord. Be sure to place the liblektor_c.so shared library next to the lektord binary before executing it. If lektord did not exit normally. 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.

    How to update the lektord database

    To update the lektor database, you first need to launch lektord, then use the lkt -Au to update the database and import users' favorite lists as playlists. You can also perform the update action from the amadeus client, in the search section.

    While connected to kurisu, you need to obtain a token, it can be achieved by visiting the page https://kurisu.iiens.net/api/download.php?token while being connected. You must copy this token in the token field of the repo section. For amadeus you can also use the link in the settings section.

    How to send commands to lektor

    To send commands to lektor, you can use lkt or build your own by calling directly the REST API with curl or other things. For graphical things, you can use amadeus which is a client written in iced.

    The lektord daemon and the amadeus client implements the MPRIS Specification. As such you can use any MPRIS-able client to control them (playerctl, directly calling dbus things, etc.) By default lektord enables MPRIS while amadeus doesn't, this behaviour can be changed in the config files.

    How to configure lektor

    Lektor uses a single configuration file per tool, you will find those files in the folder:

    • $XDG_CONFIG_HOME/lektor if XDG_CONFIG_HOME is defined
    • $HOME/.config/lektor otherwise

    The default configuration file will be created on the first launch of the tool. In this configuration folder the lektord program will store its configuration in lektord.toml, lkt in lkt.toml, amadeus in amadeus.toml, etc.

    For amadeus, you can edit its configuration file in the settings section.

    Misc

    The lektord and related binaries and source code are under the MIT license. Please, refer to the [CONTRIBUTING.md] file for any contributions.

    TODO List

    • Finish Amadeus.
      • Query state from lektord in a sensible way.
    • Implements a kurisu server in lektord to be able to synchronize with other lektord instances.