<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>PMP Updates</title>
		<link>https://blackilykat.dev/blog/pmp</link>
		<description>Development updates about PMP</description>
		<language>en-us</language>
		<managingEditor>contact@blackilykat.dev</managingEditor>
		<webMaster>contact@blackilykat.dev</webMaster>
		<lastBuildDate>Sat, 27 Jun 2026 12:20:06 +0100</lastBuildDate>
		
		<item>
			<dc:creator>Blackilykat</dc:creator>
			<title>State of PMP: 2026-06-27</title>
			<link>https://blackilykat.dev/blog/pmp-update-2026-06-27</link>
			<description>&lt;h1&gt;State of PMP: 2026-06-27&lt;/h1&gt;&lt;p&gt;Since this is the first update I&#39;m posting here, I thought I&#39;d give a broad overview of the current state of the project.&lt;/p&gt;
&lt;p&gt;First off, the project is still in pre-alpha. It works well enough for me to use it as my only music player, both on desktop and mobile, but it is not ready for public usage yet. I will explain in more detail below.&lt;/p&gt;
&lt;h2 id=&#34;programs&#34;&gt;Programs&lt;/h2&gt;
&lt;p&gt;Since the project started, there have been two main programs: the server and the desktop client. After some abstractions there are a few new additions to this list. The project is mainly composed of four parts now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The server, mostly untouched for a few months;&lt;/li&gt;
&lt;li&gt;The original desktop client built with Java Swing;&lt;/li&gt;
&lt;li&gt;An Android client built with Compose and Material 3;&lt;/li&gt;
&lt;li&gt;A new desktop client built with QT.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The QT client is currently kept in its separate development branch and is not fully feature-complete. I find it to be a lot easier to work with compared to Swing, which is why I am attempting to replace the original client with the QT one in the first place, but I think I&#39;ll play with some other alternatives before I fully commit to switching.&lt;/p&gt;
&lt;h2 id=&#34;implementedfeatures&#34;&gt;Implemented features&lt;/h2&gt;
&lt;p&gt;Being a music player, it plays music. Of course. But as basic as it sounds, playback did get updated quite often so far, both by fixing issues and adding audio backends. There&#39;s actually still &lt;a href=&#34;https://github.com/Blackilykat/PMP/issues/14&#34;&gt;some work&lt;/a&gt; to do here.&lt;/p&gt;
&lt;p&gt;Library related features are mostly implemented as well. You can add and remove tracks and all updates are recognized and applied on all other devices. You can narrow your track selection based on metadata using filters and you can sort tracks as you&#39;d expect.&lt;/p&gt;
&lt;p&gt;Controlling playback is also implemented. This means that you can start playing on one device and pause, skip, change track or really do anything you would want from any other connected device.&lt;/p&gt;
&lt;p&gt;All big important features of the project are implemented. What is now missing is polish. Support for customization is under the ground right now. There are no settings, when a client starts it tries to connect to my computer and will fail on any network other than mine. UI needs work, there&#39;s features I straight up forgot to implement in the logic and protocol, you can&#39;t add any track that isn&#39;t in the right format, and there&#39;s many bugs to iron out. These and many more issues on their own are not a big deal but add up to making the project not usable yet by the average person. This is why the project is in pre-alpha, and why I&#39;m still working on it despite it being good enough for me to use daily.&lt;/p&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;A very recent change is related to documentation. I just finished running through all non-UI code and properly documenting it. I realized keeping little documentation works while you&#39;re alone and have it all in your head, but it makes it a lot harder for others trying to contribute. By the way! Contributions are accepted and appreciated. I try to keep &lt;a href=&#34;https://github.com/Blackilykat/PMP/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22&#34;&gt;some open issues to get familiar with the codebase&lt;/a&gt; while I focus on more complex tasks. See the repository README for an overview on code structure.&lt;/p&gt;
&lt;h2 id=&#34;demo&#34;&gt;Demo&lt;/h2&gt;
&lt;p&gt;I recorded a short demo video for the project a while ago which I never released publicly, but I&#39;m taking the opportunity as I think it does a pretty good job at showing the currently implemented features. What you see is the Swing and Android clients and the server on local network.&lt;/p&gt;
&lt;p&gt;&lt;video controls=&#34;&#34; loading=&#34;lazy&#34; src=&#34;https://files.blackilykat.dev/blog/pmp-update-2026-06-27/demo.mp4&#34; alt=&#34;demo video&#34;&gt;&lt;/video&gt;&lt;/p&gt;
&lt;h2 id=&#34;upnext&#34;&gt;Up next&lt;/h2&gt;
&lt;p&gt;In the short term I will likely keep playing with desktop UI frameworks and finish making the QT client if I don&#39;t change my mind on it being the best one for the project. Longer term, I&#39;ll likely work on settings after closing the issues that bug me the most. Settings will play a pretty big role in pushing the project out of pre-alpha.&lt;/p&gt;</description>
			<author>contact@blackilykat.dev</author>
			<pubDate>1782559206</pubDate>
		</item>

	</channel>
</rss> 
