Skip to content

arttuperala/kmbmpdc

Repository files navigation

kmbmpdc Travis Meido GitHub release Github All Releases Website

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

Features

  • Menubar icon indicating playback
  • Popout window with playback controls and cover art
  • Media key support
  • Upcoming track queue
  • Track search
  • Playlist support
  • Stop after current track
  • Track change notifications with cover art

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.