5月31日時点の進捗状況について
5月24日付けのものとあまり変わっていません。
ただし、mpd_song_get_audio_formatに代わり、mpd_status_get_audio_format関数で当初予定と同じものが取得できることが判明しましたので、これに簡易対応しました。
具体的には画面イメージの通り、再生中はカバーアート領域にマウスカーソルを乗せるとbitsとsample_rateが表示されます。
(bitについてはFloat変換している場合は「Float」、DSDの場合は「DSD」と表示されます。)
また、先行になりますが、v1.0で報告された「ラジオ局で曲が変わった際に通知されない」に対応しました。
(具体的には現バージョンのmpdではラジオで曲が変わっても内部のsong_idが変わらないため
これを検知出来なくなった。
ただし、ラジオで曲が変わった場合はキューのバージョンが上がるため、その場合は強引に曲が変わったという通知を内部でさせています。
ただし、本当にキューに変更が加えられたのと違いがわからないため、現在の楽曲と新しい楽曲名に違いがあるかを比較して書換させています。)
後は24日付で報告した事項は一応全て盛り込んでいます。
なお、今の時点でいくつか潰しきれていないバグがあります。
・同梱した04-webuiプラグインですが、実行に成功しても必ず「error」と報告されます。
・既にWebUIを開いている場合、リロードすると思いますがこの場合に表示されるキュー・ディレクトリ表示では最大数は反映されません。
・FireFoxによるスクロールバー制御について。Windowsの最新版ではこのコーディングではスクロールバーの幅が合わなく充分潰しきれていないようです。

エンジニアリングサンプル
以下のリンクよりダウンロード願います。
ympd_2020-05-31_2.zip ympd_2020-05-31.zip
インストール方法
・添付のファイルをRaspberry-Piに転送して下さい。
(v1.0からは「FILE UPLOAD」プラグインが増設されましたので、これをお使いになる前提で説明します)
・添付ファイルを転送後、sshでRaspberry-Piに接続します。
・以下の通りコマンドを入れて、ZIPファイルを解凍します。
cd /var/lib/mpd/music/RAM
unzip ympd_2020-05-31.zip
・当該ディレクトリには「ympd.release.out」と「04-webui」ディレクトリの2つが追加されたと思います。
・次に以下のコマンドでympdを入れ替えします。
cd /usr/bin
cp ympd ympd.org
systemctl stop ympd.socket
systemctl stop ympd.service
cp /var/lib/mpd/music/RAM/ympd.release.out ympd
systemctl start ympd.socket
systemctl start ympd.service
・最後にプラグインの転送と有効化です
以下の通り、コマンドを入れます。
cd /opt/plugins
cp -p /var/lib/mpd/music/RAM/04-webui .
cd attach
ln -s ../04-webui 04-webui
*6/2プラグインインストールコマンドの修正済
04-webuiプラグインについて
以下の2点を制御出来ます。
・カバーアートの読込制御
添付のwebui.cfgの場合は現状のWebUIの標準設定で作り込んであります。
当方環境がなかったため作り込みが甘い可能性がありますが、NASにHTTPサーバの機能がある場合はそちらのパスを入力することによりRaspberryPiを経由しないように出来るように設計しました。
また、現状の総当りではなく、既に指定名称でカバーアートをディレクトリに格納した場合はその名前だけ参照するように出来ます。
・キュー・ディレクトリでの最大表示数
標準では500項目ですが、グリッド表示での動作を軽くするため利用者が調節できるようにしました。
私の環境では50項目に制限して使っていますが、残念ながらipad mini2でのsafari・chrome共に動作が重いと感じるためグリッド表示自体のチューニングが必要かなぁと思っています。
今後のネタについて
mpdで現在登録中の楽曲・アルバム・アーティスト数を返す関数があることが分かりました。
これに対応するプラグインを整備したいと思います。
あとは、ympdのプロセス安定化をもう一段進めたいと思います。
(併せて可能ならば、埋め込みカバーアート対応をリベンジで復活させたい...)
また、個人的には労力の割に効果が薄いかもしれないと思いますが、現状使っている各種ライブラリ(jquery・bootstrap)のバージョンが古いため、刷新することを検討してみようかと。