kmbmpdc is a macOS menubar application for controlling music player daemon playback.
- 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
kmbmpdc requires 10.11 or newer.
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
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 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:
- cover.jpg in music file directory
- cover.png in music file directory
- ID3v2 embedded cover art
- imeji
- libmpdclient
- forked MediaKeyTap
The following tools/packages are required for building kmbmpdc and its dependencies.
-
Clone the repository with submodules
git clone --recursive https://github.com/arttuperala/kmbmpdc.git
-
Download and build Carthage dependencies
carthage bootstrap
-
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 toglibtoolize
, since the Homebrew version prepends "g" in front of the tools to prevent conflicts with system tools. -
Build imeji
cd Frameworks/imeji make cd ../..
-
Build kmbmpdc
xcodebuild -target kmbmpdc -configuration Release
SwiftLint is used to enforce code style and conventions.
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.