..|''||   '||'  '|' '||' '||    ||' '||'  '|' '||''|.
    .|'    ||   ||    |   ||   |||  |||   ||    |   ||   ||
    ||      ||  ||    |   ||   |'|..'||   ||    |   ||...|'
    '|.  '. '|  ||    |   ||   | '|' ||   ||    |   ||
      '|...'|.   '|..'   .||. .|. | .||.   '|..'   .||.

    QUIMUP
    version 2.1.1
    December 2024

    Johan Spee
    oubliettep@xs4all.nl
    __________________________________________________________________________

    QUIMUP is a client for the Music Player Daemon (MPD) written in c++ and
    QT6. The program can be used with most Linux desktops (KDE, GNOME, XFCE)
    and is covered by the General Public License (see LICENSE below).

    The simple interface makes controlling MPD's features easy and intuitive.
    The focus is on mouse handling: playlist management is done entirely by
    drag-&-drop; all playback functions are accessible from the system tray.
    Quimup aims to turn MPD into a perfect desktop music player, but also
    supports controlling MPD remotely.

    Copyright (C) 2008 - 2024 Johan Spee
    __________________________________________________________________________

    LICENSE

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program (the file named COPYING).
    If not, see http://www.gnu.org/licenses/

    __________________________________________________________________________

    DEPENDENCIES

    Debian:
    libqt6widgets6, libmpdclient2, libqt6gui6, libqt6network6, libqt6core6,
    libstdc, libc6, libgccc-s1, libqt6svg6,

    Fedora:
    qt6-qtbase-gui, qt6-qtbase, libmpdclient, libstdc++, glibc, libgcc,
    qt6-qtsvg

    openSuse:
    libQt6Widgets6, libQt6Gui6, libQt6Network6, libQt6Core6,libmpdclient2,
    glibc, libgcc_s1, libQt6Svg6

    MPD is NOT a dependency. Quimup can be used to operate MPD remotely,
    when MPD is not installed on the local system.

    Without qt6-wayland quimup runs in X11 mode, without any limitations.

    __________________________________________________________________________


    To COMPILE from source additionally install the QT6, and libmpdclient
    development files:

    Debian / Kubuntu   : qt6-base-dev, libmpdclient-dev, (qtcreator)

    Fedrora / openSUSE : qt6-(qt)base-devel, libmpdclient-devel, (qtcreator)


    Plus the usual tools:
    make, gcc, cpp, g++ (gcc-c++ in oSuse),pkg-config, autoconf

    [1] To create the makefile run: qmake6

    [2] To compile, next run: make.

    __________________________________________________________________________

    KDE, GNOME and XFCE

    Altough the program depends on some QT libraries it does not require KDE
    or depend on other KDE libraries, nor is it integrated with KDE in any way.

    __________________________________________________________________________

    WAYLAND

    Wayland reads the program's .desktop file to find out what icon to use.
    Quimup points wayland at "Quimup.desktop". If a different name is used
    for the .desktop file a 'W' will appear in upper left corner of the window.

    Wayland does not allow a program to handle its screen p[osition in
    any way, i.e the program cannot move itself. Consequently when the
    program is hidden from the system tray it will reappear in the center
    of the screen. When the program is minimized Wayland will restore the
    program to its former position, but not when it was hidden.

    To avoid this problem start quimup from the command line like this:
      quimup -platform xcb
    Or add the following 'environment variable' to the start menu item:
      QT_QPA_PLATFORM=xcb
    This will make the program run in X compatibility mode.


    __________________________________________________________________________


    >>>>>>>>>>>>>>>>>>>>>>>>>>> USING QUIMUP <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    __________________________________________________________________________

    EXTERNAL FILES

    Files that are not in the database can be dropped on the player or on the
    playlist. Alternatively use the 'send to' or 'open with' command in your
    file manager or create a custom 'action'(pass %U not %u).

    But ..this will only work if the connection with MPD is established through
    a so called socket. In MPD's configuration file a 'bind_to_address' must
    point to "[your_mpd_config_path]/socket" In Quimup's login profile
    (in the settings window) 'Host' must be set exactly the same.

    It may be necessary to associate relevant file types to 'open with'
    Quimup (this is usually done in the file's 'properties' tab). Make sure
    to use 'quimup %U' rather than 'quimup %u' or just 'quimup' or as command.
    This can bet set in the Quimup.desktop file.

    __________________________________________________________________________

    ALBUM ART

    From version 0.21 (2018) MPD supports albumart files.
    Put the file in the album folder. The name must be 'cover.jpg' or 'cover.png'.
    This is not configurable and the size limit is 5 MB.

    From version 0.22 (2020) MPD supports embedded (tagged) albumart.
    Only the first image is read and the size limit is 5 MB.

    When MPD fails to find albumart Quimup kicks in - if it has access to MPD's
    music directory (so this does not work remotely).
    It will search in the album directory for files with extension .jpg, .png,
    .gif, .bmp, .svg or.jpeg and a basename starting with (case insensitive):
    cover, albumart, folder, front, booklet, portada, couverture or capa, or
    a basename that contains the album name.
    In that order. The first found is shown. No size limit.

    __________________________________________________________________________

    EXTERNAL APPLICATIONS

    Right-clicking the player brings up a menu where you can, for instance, choose to
    show (local) albumart in 'eog' or open de album directory in 'kid3' or 'dolphin'.
    The applications used can be set in the settings window (Actions tab).
    To do this Quimup must be able to access MPD's music directory, the current status
    of which is shown in the 'Connect' tab. The directory is retrieved from MPD's config
    file. To avoid problems set MPDCONF to [path to your]/mpd.conf in /etc/default/mpd.
    If the music directory is not accessible the R-click menu items are disabled.

    __________________________________________________________________________

    REMOTE CONNECTIONS

    Find the IP of the computer that MPD is running on:
        hostname -I | awk '{print $1}'

    The output will be something like 192.168.178.20

    Add that address to mpd.conf:
        bind_to_address "192.168.178.20"

    Restart MPD.

    On the remote computer, in quimup, create a connection profile
    with host 192.168.178.20 and click 'connect now' (apply to save).

    bind_to_address "any" will also work but makes the kernel spit out
    an error about the socket being in use.
    __________________________________________________________________________

    DARK THEMES

    Quimup has an alternative set of icons that are better suited for dark
    themes. To use these icons chech the box in the 'Style' tab in the settings
    window and restart the program.

    __________________________________________________________________________

    TRANSLATIONS

    This is a work in progress. You would have to make your own translation
    and load it like this:
        quimup -l quimup_xx.qm
    where 'quimup_xx.qm' is the translation for language xx.
    It might work, you never know.