arttuperala / kmbmpdc

kawaii menu bar music player daemon controller
https://kmbmpdc.perala.me
Apache License 2.0
46 stars 6 forks source link
controller macos menubar mpd mpd-client music music-player-daemon

kmbmpdc Travis Meido GitHub release Github All Releases Website

kmbmpdc is a macOS menubar application for controlling music player daemon playback.

Features

System requirements

kmbmpdc requires 10.11 or newer.

Installation

Release builds can be found in Github releases. Development builds based on the master branch are uploaded to Meido. All builds are unsigned.

If you are using Homebrew-Cask, you can install the official build with the command:

brew install --cask kmbmpdc

Usage

If you are running MPD on the local machine with the default port and without a password, kmbmpdc should connect automatically to the server on initial start. If this is not the case, you can edit the host, port and password in the application preferences.

Controlling MPD is done via the media keys or by opening the controller from the menubar icon. Media keys support play/pause, next track and previous track. The menubar controller supports the same functions as the media keys plus stop, stop after current track, playlists and different MPD modes.

Track search is opened by clicking on the magnifying glass icon in the controller. The search is performed when the input field on the top of the UI is given a string and Enter is pressed. Individual tracks can be appended at the end of the queue by double-clicking on them. Multiple selections can be added to the beginning or end of the queue by right-clicking the selection and choosing the appropriate action.

Track change notifications are enabled by default. They can be disabled in the preferences. To enable cover art, specify the media library root that is being used by mpd, as the cover art is obtained from the media files themselves.

If you are connecting to a password-protected server, make sure that the client has read and control permissions.

Cover art in notifications

Cover art in notifications currently supports ID3v2 embedded art (ID3v2.3 and ID3v2.4 only) or artwork stored in the same directory as the track in question. In order for the feature to work, media library path must be set in kmbmpdc preferences.

The following priority is used for cover art images:

  1. cover.jpg in music file directory
  2. cover.png in music file directory
  3. ID3v2 embedded cover art

Development

Building

Dependencies

Requirements

The following tools/packages are required for building kmbmpdc and its dependencies.

Build instructions

  1. Clone the repository with submodules

    git clone --recursive https://github.com/arttuperala/kmbmpdc.git
  2. Download and build Carthage dependencies

    carthage bootstrap
  3. Build libmpdclient

    cd Frameworks/libmpdclient
    ./autogen.sh --disable-documentation
    make
    cd ../..

    Note: if you are using libtool installed with Homebrew, you'll want to change libtoolize commands in autogen.sh to glibtoolize, since the Homebrew version prepends "g" in front of the tools to prevent conflicts with system tools.

  4. Build imeji

    cd Frameworks/imeji
    make
    cd ../..
  5. Build kmbmpdc

    xcodebuild -target kmbmpdc -configuration Release

Code style

SwiftLint is used to enforce code style and conventions.

License

kmbmpdc is licensed under Apache License 2.0. See LICENSE for more details.

libmpdclient is licensed under the revised BSD License. See libmpdclient/COPYING for more details.