After some initial try-outs with the swift package manager some months ago, I came back to it today to see if it’s possible to run it side-by-side with cocoapods, and gradually migrate packages over.
To begin with, I took out the libmpdclient sources of the mpdconnector framework, and put it into a framework of its own which can be built and included using swift package manager. While doing this I ran into various workspace and build issues, including a point at which the Xcode build server would crash every time I opened the workspace. But in the end I managed to get it all working again.
The framework is called libmpdclient-swift and is available on GitHub (I will gradually move over all sources from bitbucket). It’s based on the latest 0.21.17 version of the original libmpdclient.
Most Rigelian support questions are related to cover art not displaying correctly. Unfortunately mpd supports cover art retrieval only in recent versions (since 0.21) and the support is still basic.
To let the users get the best cover art under these constraints, the cover art assistant in Rigelian is updated with new functions, like selecting which sources are used, the order in which those sources are accessed, and a description how each of these sources work. Also added is the possibility to clear the cover art cache, forcing that all images are reloaded.
Recently version 2.17 of libmpdclient was released which adds support for binary responses, like for the ‘albumart’ command that was added to mpd a while ago. Using this new library version Rigelian can now read local cover art without requiring a http server on the player.
There are still two major limitations with this approach:
It only works with mpd version 0.20.10 and up. Many players are still on older versions.
It requires that the artwork file is named cover.jpg or cover.png.
Support for this will be in the next Rigelian version, along with some other improvements in the artwork department.
With macOS Catalina Apple has released catalyst, which makes it possible to port an iPad app to a Mac app with limited effort. A few months ago I had a first look at this, but ran into too many problems. Yesterday I tried again with the latest versions of all frameworks, and was able to get a version running on my Macbook in less than 4 hours.
The main issue I ran into is how to make existing subscriptions work on Mac as well.