2025-10-20:Ver0.9 機能追加&操作系変更&不具合修正
今回の対応で前バージョンとかなり変更している。
現バージョンは単体端末を対象としているが、再生状況が変わった場合の対応と安定性を高める対応が主となっている。
Playlistをクリアするようにしたが本来は。Playlistをレンダラー単位で共有することだが、リソースと機能のトレードオフを考えている。
 1.upmpdcliからと限定できるか分からないが、再生状況レスポンスが安定しないことがある。
   upmpdcli-qobuzであるPlaylist再生時にAlbumループが停止することがあった。
   minidlnaのStatusによる可能性もあるが、Requestの応答の抜け、再生Timeが抜け。
   どちらもAlubm/PlayListの再生時次の曲を再生しないので手動でPlayする必要があったのを修正。
   対応するため、Eventの回り方をRendererを中心にしていたが、DMC(本HTML)をメインにした。
     これにより、Alubum/Playlist再生時停止が少なくなった。
     upmpdcli-Qobuzの効果が大きい。

 2.MinimServerを使用できるようにした
   Transfer-Encoding:chunkedのDecodeを追加した
   DLNAServer:MinimServerを検出したときPortがDefaultの場合,WebUIをLinkできるようにした
   Scan中は,SSDPのResponseが暫くないことに注意

 3.ServerPlayも同様な修正とPlayBoxに"ServerPlay"を表示するようにした。
   同様な修正、NextMusicの決定とStatusの回り方をDMC(本HTML)メインにした。
   ServerPlay時、Webが、Blackoutしても再生を継続できるようにしいた。
     将来はレンダラーごとにTaskかForkで行うようにしたい。(無駄に起動しないようにして)
     現在は、リソースを消費を控え、Webとのコネクションが切れるか全て再生すれば終了している。

 4.DLNA Imageコンテンツがあればレンダラで対応できるようにした。
   レンダラーのMIMETypeを見てImage対応かを判断している。
   ServerPlay時Web側と表示している画像が同期しないことがある。
   スライドショーには影響ないので対応予定なし。

 5.ServerPlayをデフォルトにした。
   WebClient側Jspでの監視は、Sleepなどで連続しない,Webの条件に引っ張られるのを考慮した。
   JSPでのPlayEndTimingなどEventとTransferが取れないケースがトリッキーになるのを防ぎたい目的もある。
   ハイレゾの場合意外とTransferが永かった。１曲/1動画はJSPモードでも制度は影響しない。現在,ImageのSlidshowは同期しない。

 6.Playボタンの動作変更
   Pauseに対するPlayだったが、停止時にPlayをクリックしたときは、先頭からPlayするようにした。

 7.起動方法にSSDPCast結果File化を使用しない指定をできるようにした・
   http://{Host}mpddirettamp.php{?frame=on}{&makessdp=on|off} : makessdp:offで使用しない。onまたは、未設定時使用する

 8.Play中のPlaylistが変わったときの対処(他PCで同じレンダラーを操作)
   Playlistをクリアする。(複数端末の使用を可能としたものではない)
   ServerPlayの場合、プロセス間通信(System V IPC使用)を使用する。
   ※ディストリビュージョンもあるが未対応の場合
    ArchLinuxは公式リポジトリに php-sysvmsg パッケージが存在しないので制限付きでの実行となる
    複数端末でのエラーPlaylist不一致時は手操作でPlaylistを削除して再度行うようにして下さい。

 9.STOPタイマに入った後、PlayTimeは、タイマ解除まで開始しなかったが、実害なしとしていたのを対応
   Timer解除し、イニシャルに戻すようにした。(画像対応のため)

10.ServerPlayのときPlaylistの再生が終了、または停止状態になった場合Processを終了するための問題を解除。
   ServerPlayのProcessを終了後、直接Playlistトラックを選択すると連続Playできたかったのを修正。
   ServerPlayのProcesに再生ポジションを指定して途中から開始できうようにした。

11. upmpdcli-qobuzでSTOP状態からの Next Music に遷移を改善した。
    部分でSTOPPEDのStausが帰ってくるタイミングを次の曲にPlayさせるように修正。(アクロバチックになってきた)

12 ServerPlay時1曲だけのときはPlayさせていなかった。(Resource節約)
   操作が不明瞭なのでServerPlayでなくPlayさせた(1曲だけだと同じ動作をするため)

13.MiniDLNAのD/B:Updateを作成し、minidlna.conf/DMC(本HTML)がある場合使用できる。
   mpdminidlnadb.phpを新規作成し、外部モジュール組み込み機能を追加した。
   コンテンツサーバーを選択たとき右上に[UP]ボタンが表示されSubWindowで表示
   mpdwebで、Minidlna(dsd)をBUildするケースがあるので追加した。
   NASをMountして使用する場合、Linux inotifyは変更Eventを取らないことがほとんど。
   これを対応してもメモリの使用が増大するため、Minidlnaにsignalを通知してFilesystemをもとにD/BUpdateする機能を使用
    kill -1をminidlnaに送るがWEBからsudoを実行するようにする必要がある。
    MiniServerも同様にできると思うが、未テスト。

 ※現在固定値で組み込んでいるが,関数:GetCommonConfig()内でconfigファイルを作成し読み込めばできるようにしている。
   DLNA Imageをスライドショーにする場合も、同じようにしている。
 
   現在の未対応
 ・Playboxで再生時間のカウントが崩れることがあるが不明。判り次第対応。
   upmpdcli-qobuzで曲の時間が間違っているかない(?)ことがある(?)次の曲を自動で再生しないので手動で曲をクリックし再生する。
 ・mpdに複数Queue対応したいが、方法を計画。
   mpdの再生QueueにPort6600を使用して追加方法は判るのでMetaの問題
   これを追加すればupmpdcliのレンダラーは不要。upmpdcli-qobuz部分のみ使用するようになる。
 ・ipv6のSSDPRequestに対応したいが、安定の後で対応を予定。
   ipv4とのダブり排除方法が判れば対応できる。
 ・HeOSのバージョンアップ後、連続再生が止まるまた、負荷(?)SSDPデバイス検出できなくなるときがある。
   WIFI環境しかないが、ハイレゾが転送中で止まる様子。(専用Softは可能なのでTimeout/Bufferの取り方?)
   WebUiはコントローラなので考えていなかったが、設定ができるかも知れない。
   QobuzAmazonなどHeOSスマートフォン版の使用ができるので、調査は止める。
 ・ServerPlay時，複数端末を可能に。
   種としては、Process間通信を組み込んだ。現在は,後操作から"Kill"を送信。
   Playlist要求,Status要求をServerPlayProcessに組み込めば可能
 ・Qobuz:Playlist:"An Introduction to Qobuz"が開けない。BubbleUPnPも開けないので対応を止めた。

2025-08-24:Ver0.8 不具合修正(バージョンは同じ)
・window.outerWidthが0となることがあり,ViewPortの設定ができないケースを修正

2025-07-21:Ver0.8 初版:修正2
 1.mpdwebをインストールに含まれる,mpdconfig.phpを同封 mpd.conf:ALSA Deviceの設定を起動できる。
   mpdupnp.php(本php)にmpdがある場合に設定可能
 2.UPnP WebUi(mpdupnp.php) socket_createが失敗した場合,freezeしていたので修正
   /etc/php/php.ini Dynamic Extensions Section中で extension=sockets が設定されていない場合で失敗する。(ARM版Archの対応)
   ARM版Archでupmpdcli-qobuzが有効にできない問題がある。

2025-06-10:Ver0.7 初版:修正
 バージョンは同じ
 1.mpdwebをインストールに含まれる,mpdcliconf.phpを同封 upmpdcliの設定を起動できる。
   upmpdcli-Quboz , Renderer mpdとのコネクションを設定。
   mpdupnp.php(本php)にupmpdcliがある場合に設定可能

2025-05-30:Ver0.7 初版:修正
 1.FrameModeを追加 : Frameで使用するとき閉じるボタンを追加した。
   起動時URL:/mpdupnp.php?frame=on ←追加する
 2.SSDP Requset Result File"mpdupnp_config.txt" 20Byte以下はFileがないものと扱う。
 3.DIGAの場合,DMR許可されていない場合のメッセージを追加
   "Please check your DIGA DMR Permission Settings.!"
   エラーとの区別が明確ではないが、なぜエラーか迷うため。
2025-05-28:Ver0.5 初版:修正
 バージョンは同じ
 1.PHP8アップデートに対応。型形式が厳密になりFatalErrorを修正

2025-05-25:Ver0.5 初版
今回の作成でバックログとして
 1.アルバム再生で、本URLを終了すると継続再生できない。
 2.mpdでアルバムをQueue出力できない。
 3.ssdpリクエストのResultファイルを編集機能
 4.レンダラー種と関連して画像を表示
