MPDWEB 紹介/特徴

MPDWEB 紹介/特徴
MPDWEB 紹介/特徴

2025年11月29日土曜日

RaspberryPi4 arcklinux RT USB イメージをアップロード:2025-11-29:RT版のアップ

ArchLinux Realtime化バージョンとしてRelease kerne:6.17.8-rt7-v8+
Linuxの機能自体はRT化意外の拡張はなく、各同封アプリのバージョンアップ
USBデバイスでのみBootできます。SDCradはBootできません。
 1.RaspberryPi4版Arch RT(Realtime)化
   ・kernel:6.17.8までUpdate後,kernel:6.17.8-rt7-v8+ に差し替え
   kernelModuleをBuildできるようにLinux-Headerまで含めた。
   RaspberryPi4版のRT版はBinaryがないための対応
 2.mpdwebをバージョンUp;mpdweb_1.49a_20251120.tar.gz
   mpdweb/mpdweb_readme/Correction history.txtを確認
 3.mpdwebの機能に"at"Commandを含Schedule:Taskを登録できる追加をした
   mpdのD/BUpdateの予約:0300
   RoonBridgeのLog最新4件を残し削除
   (USBMemoryの書込み抑制:LogsをShardMemoryに移動できるようにした)
 4.RoonBridgeのLogをSharedMemoryに移動できるようにServiceUnit&Shellを追加
 5.UPnP(DLNA)DMC WebUIをmpdupnp2025-10-20:Ver0.9 を同封
  ・起動方法にSSDPCast結果File化を使用しない指定をできるようにした
  ・miniServer,ServerPlayをデフォルト,Playlist再生の向上,Image対応など大幅Update
 6.DMS(DLNAServer)としてminiserverを含めた
 7.DirettaAlsaHost_0_147_17/MemoryPlayHostLinux_0_147_9にした
 8.RoonBridgeのunique_idをセットを変更するShellを作成

インストールパッケージ

Linux             : ARM archlinux RT kernel:6.17.8-rt7-v8+
Package         : mpd , upmpdcli/upmpdcli-qobuz, miniServer
                       roon-bridge , deritta-alsahost , deretta-memoryPlay
Minimal LEMP : nginx , php-fpm , php8.4 , perl , at
WeB Ui          : mpdweb , mpdsetting , mpdupnp , mpdderettamp
 

ダウンロードリンク :  pi4arch usbイメージ (Google) (2025-11-28:Ver1.0s RT)

ダウンロードリンク :  pi4arch Setting pdf (Google) 

2025-11-28:Ver1.0S ArchLinux RealTime化

2025年8月24日日曜日

RaspberryPi4 arcklinux USB イメージをアップロード:2025-08-29:初版の修正

 



Pi4Archのスクリーンショット

RaspberryPi4用のarcklinuxのUSBイメージをアップロードしました。
Rpi4のarchlinuxは見かけますが、mpd&WebUiを組み込んだUSBイメージを作成しました。
USBデバイスでのみBootできます。SDCradはBootできません。

1.mpd Remote WebUi
   mpdwebを使用してmpdを操作
2.UPnP(DLNA)コントローラ WebUi
   qobuz Accuntがあればupmpdcli-qobuzを使用してWebUiでPlay
3.Direttaを使用している場合、ALSA Host、MemoryPlayが使用できる。
   MemoryPlayはmpdのメタタグで アップロード
4.Bridge
   RoonbridgeをインストールしたのでRoonからDirettaALSAHostも使用できる 
   AoE(AudioOverEthernet)はBuildまで、Servcie設定すれば使用できRoondで使用可能。

インストールパッケージ
Linux             : ARM archlinux rolling
Package         : mpd , upmpdcli/upmpdcli-qobuz 
                       roon-bridge , deritta-alsahost , deretta-memoryPlay
Minimal LEMP : nginx , php-fpm , php8.4 , perl
WeB Ui          : mpdweb , mpdsetting , mpdupnp , mpdderettamp
 
ダウンロードリンク :  pi4arch usbイメージ (Google) (2025-08-29:Ver1.0Sに修正)

ダウンロードリンク :  pi4arch Setting pdf (Google) 

2025-08-29:Ver1.0S 初版の修正
libupnppの低いバージョンとBuildしていたためQobuzからPlayできない修正を行った

2025-08-24:Ver1.49 不具合修正(バージョンは同じ)

 ・window.outerWidthが0となることがあり,ViewPortの設定ができないケースを修正

2025年8月19日火曜日

2025-08-10:Ver1.49 機能追加&ARM版Arch&PHP8.4対応

2025-08-10:Ver1.49 機能追加&ARM版Arch&PHP8.4対応
Arch(rolling)でセキュリーティが強化された対応 & PHP8.4は曖昧な記述が厳しくなったための強化
  1.MpdTask Server機能をHereDocument対応にしたがPearlの記載もできるようになった。
     Arch(rolling)でShell Pipe"|"ができないケースあり,HereDocumentを使用可能にして対応した。
     Pearlをphp組み込みにできるようにして、他HTTPDとmpdを分けたときのメンテナンス性の向上
     mpdtask serviceの再起動を行うこと。
  2.upmpdcliの設定を一部可能にした。
     RendererのConnect,upmpdcli-qobuzを行う
  3.init.d/Serviceの混在環境でTask SettingでTask表示が誤っていたのを修正
  4.Arch LinuxにインストールしたときArch/Versionを取るようにした。
       設定: mpdtask.xml<IFString_mpdos>でシステム的に設定&mpdsetting.phpで判定
  5.mpd.conf audio_outputの生成をできるようにした
       設定: mpdsetting.xml<MpdExtend><OpenMod>で設定モジュールを定義
  6.mpdmyset.xml.sample:mpddirettamp.phpのURLをExtGetPath関数の存在チェックを入れた
     URL:/mpdweb/mpddirettamp.php?frame=on&amp;path='+ (typeof ExtGetPath === 'function' ? encodeURIComponent(ExtGetPath('%DOCROOT%')) : '')+'となる
  7.UPnP WebUi(mpdupnp.php)でmpd.conf audio_output/upmpdcliの設定の一部を呼び出せるようにした。
     mpd/upmpdcliがインストールされているとき可能になる
     ARM版Archでupmpdcli-qobuzが有効にできない問題がある。
  8.UPnP WebUi(mpdupnp.php) socket_createが失敗した場合,freezeしていたので修正
      /etc/php/php.ini Dynamic Extensions Section中で extension=sockets が設定されていない場合で失敗する。(ARM版Archの対応)
  9.mpdDirettaMPのConfigurationで設定ファイルを作成しないとき、mpdweb連携でMPD_DOCROOTが誤っていた
     php旧版では動作するが、phpが強化されたための対応
 10.DirettaMemoryPlay Archの場合,phpからShell実行時bashで記述した場合"#!/bin/bash"で実行させる必要があるための修正
 11.ArtListの外部ビューワの起動方法を変更
      evalをやめ堅牢差を上げるためcall_user_funcにした。
      evalのエラーキャッチが、他と混じってしまい、デバックが困難となるため純粋に拡張部のエラーをハンドルした。
 12.mpdweb Config MountのArch&PHP8.4対応に合わせ速度アップを行った
 13.mpdweb Config MountでNetworkComputerをブラウザにDropして取得する機能をセキュリーが強化されたため廃止
     IE時代に作成した機能が残っていた。現在はセキュリティ強化のため機能を停止させた。
     セキュリティを下げる設定で有効にでくるため<Mount_Config><PCDrop>でoff設定にした。
     代替としてPCの検索ができる
 14.mpdweb Config MountでAliasの候補をリストできるようにした。
     MountのPathから検索する。存在しないディレクトリを入力時ディレクトリを作成する。
     複数NASを使用に /mnt/NAS/下にmusicがあるが更に作成できる。

Version1.49版に合わせて更新

・オペレーションガイド:mpdweb_Operation_Guide_ver1.49.zip
・インストール・シェル:mpdweb_inst_1.49_20250811.zip
・Backup/Restore・シェル:mpdweb_backup_1.49_20250731.zip

mpdweb Series:DirettaMemorPlay WebUI

2025-07-31:Ver0.7 不具合修正&ARM版Arch&PHP8.4対応
  1.Configurationで設定ファイルを作成しないとき、mpdweb連携でMPD_DOCROOTが誤っていた

mpdweb Series:UPnP(DLNA) WebUI

2025-07-21:Ver0.8 初版:修正2&ARM版Arch&PHP8.4対応

 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年6月9日月曜日

2025-06-10:Ver1.48 次に向けて修正&機能追加

2025-06-10:Ver1.48 次に向けて修正&機能追加
 1.mpdweb Version InfomastionにLibXMLを追加
 2.Moduleにmpdupnp.php , mpdderettamp.phpを追加した
   mpdmyset.xml.sampleに呼び出しをRemarksで追加した。(Frame/SubWindow)
 3.mpdmulti Host のTimeOutが正しくないにのを修正 (mpdhost_multi.php : Mpd Multi collection)
  おなじNASをマウント時に複数のmpdに指示を送る機能。現在はmpd D/Bに使用している。
 4.upmpdcliの設定を追加,mpdsetting.xmlに設定
    mpdweb設定URLのHeader配置を修正
 5.mpdsetting:Mount/Task のColorを整理
 6.mpd to Roon Playlist 変換Shellを追加
    必須ではないので手動にて設定。
 7.mpd D/B Update Batchを組み込んだ
    /setting/mpddayli.cron  : cron.dの Sample : 
    /start.d/startp_mpddayli.conf.sample    : 起動時cron.dにコピーかまたは、実行時にコピー
     mpddayli.phpを追加してcron.dで起動しmpd D/B Update

夜間にUpdateを仕込んで翌日反映とした。
通常、ディレクトリ監視は、inotifyを使用するがNASではイベントが発生しない、また、監視メモリはアルバム数により無理があるために夜間にAll Updateを採用した。

※ pearlでC Libraryを引き込んでみたがこれもNASではイベントが発生しない。
  Cで書いた方が楽だが、環境ごとにコンパイルしたくない部分では苦労する。

追伸)今回モジュール追加で、upmpdcli.confの最低限の編集、mpdupdateこれは、複数PCのmpdにupdate指示を可能にするなどを組み込んだ。
・upmpdcli.confのUpdateは、httpdのPCに限定しているので、mpdのPCをUpdate対応
・ALSA Dviceから、mpd.confを編集
があれば、自己メンテができるようになる。

2025年5月26日月曜日

2025-05-26: mpdweb_inst インストーラ修正

2025-05-26:Ver1.47 mpdweb_inst インストーラ修正
  1.同封:mpdweb_plslist_{Date}.tar.gz→ mpdwebplslist_{Date}.tar.gz : Rename
    install_mpdweb.shがアーカイブファイルの取得に失敗するためinstall_pls.shを修正
    アーカイブファイル:mpdweb_{Version}.tar.gzのためmpdweb_*で複数ファイルを検索してしますのを修正
不注意でした。
 

2025年5月22日木曜日

2025-05-24: mpdweb Ver1.47 追加 / mpdDirettaMP 機能修正 / mpdupnp アップロード

纏めてアップロードしました。
HomePageもアップデートしてます。
mpdweb Series:UPnP(DLNA)DMC WebUI
2025-05-25:Ver0.5 初版 (公開Web準備のためフライング)
今回の作成でバックログとして
 1.アルバム再生で、本URLを終了すると継続再生できない。
 2.mpdでアルバムをQueue出力できない。
 3.ssdpリクエストのResultファイルを編集機能
 4.レンダラー種と関連して画像を表示


mpdweb Series:DirettaMemorPlay WebUI
2025-05-10:Ver0.5 ViewPortを修正
この修正でタブレットのサイズを計算しているので機器によらず画面にフィットして表示

mpdweb アップロード
2025-04-01:Ver1.47 Serviceを追加
バージョンは変わらず、Serviceのみ追加しました。
init.dが廃止されているArchLinuxでテストしています。
./service
+-- mpdmount.service   : MountのStartUp
+-- mpdstartup.service : mpdwebなどのTaskをStartupする
+-- mpdtask.service    : RemoteShell的なTaskService mpdwebシリーズとのShell実行
Installシリーズより先にUpしてます。
systemd-networkd-wait-online.serviceをインストールすれば精度が上がりますが、
インストールパッケージを増やさないことからの内容です。
mountもArchLinuxで最新となり、他の環境ともmpdmountでシリーズ共通としています。




2025年3月11日火曜日

MPDWEBシリーズはWebUI(2):Windows、Mac、Linuxの場合,「Google Chome」でアプリ化

 

MPDWEBシリーズはWebUI(2):Windows、Mac、Linuxの場合「Google Chome」でアプリ化

Google Chomeで見ているサイㇳをアプリとしてインストールできる。
Webのコンテンツをアプリのように使用できるようになります。

簡単に手順は、
・アプリ化したいサイトを開く。
・右上「:」をクリックし、「キャスト、保存、共有」を選択
・ページを「アプリとしてインスト―ル…」を選択
・このぺージをアプリとしてインストール」ウィンドウの画面を「インストール」をクリックする
・目的のサイトが開くので、ウィンドウサイズを調整する。
ディスクトップにアイコンが出来ている。インストール完了
※「Microsoft Edge」にも同じような機能があるが、GoogleChomeは、Mac、Linux版もありマルチプラットホームとして使用できる。

MPDWEBシリーズはWebUI(1):Androidの場合,「Hermit」というソフトがあります。

MPDWEBシリーズはWebUIです。

Androidの場合,「Hermit」というソフトがあります。


Androidのストアから「Hermit」(無償版)をインストールします。
Webのコンテンツをアプリのように使用できるようになります。

簡単に手順は、
・Hermitをインストール(Google Play ストアで「Hermit」を検索してインストール)
・Hermitを起動し、「+」ボタンをタップ
・アドレスバーにローカルサーバーのURLを入力(例:http://192.168.1.100:8080)
・「Lite Appを作成」ボタンを押す
・アイコンや名称を設定し、「作成」をタップ
・ホーム画面に追加すれば、アプリのように起動可能!

カスタマイズ(オプション)
・フルスクリーン表示(余計なUIを省略)
・ダークモード(テーマ変更)
できます。

Windows、Mac、Linuxの「Google Chrome」「Microsoft Edge」でアプリ化できます。
webをアプリ的に使用できるからこそのWebUIです。

2025年3月5日水曜日

mpd web製作の日々 別館: ダウンロードサイトを移行中

約1年ぶりのバージョンアップを行いました。
今まで、PlalaのH/Pオプションで別館:ダウンロードサイトを運営してましたが、昨年Plalaより、サービス終了のお知らせが来ました。何とか、新H/Pを作ろうと計画してましたが、基本部を切り替えアップしました。
サービス終了のお知らせより、バージョンアップの公開を停止していましたがやっと続行できるようになりました。
httpsに移行したいのですが、正式なサーバーが見つかったらごっそり移動します。
まだ、移行しないといけないページが残っていますが、徐々にこちら新サイトに持ってきます。
 時代よりいくつか廃止を考えています。
 ・USBI/Fのタイミング調整 回路:すでに廃止
 ・ubuntu & epgrec REGZAの日々 : 廃止予定
 ・ubuntu & epgrec REGZAの日々 別館 ハード編 : 廃止予定
  PT3を使用して録画ではなく、iepegをREGZAに送信して予約を作成する一連ですが時代に合わず廃止します。
  自作メール送受ソフトからの作成なのでセキュリティ的に廃止します。
 まだPlalaにアクセスできるようです。

新規計画のWebUiも予定しています。
Music関連、DirettaMemoryPlay WebUI
DLNA(UPnP)WebUIも近いうち公開できればと考えています。
このブログ公開時は、C/C++は書けましたが、WebUIも何とか作成し続けています。

※iRemoconWebUIも作成しましたが、設定がダサいのでどなたか引き継いでくれれば続行できるのですが…
iRemocon Wapperはマルチコネクトにしたので使えます。

2025-03-05:Ver1.47 PHP8対応 と機能追加&修正

 2025-03-01:Ver1.47 PHP8対応
1.PHP8対応
 Classを指す変数リテラルが""|''で括るように強化された対応 (mpdweb.playlist.php)
 addChild("PLS",$XML_DETAILE[SortExc])→addChild("PLS",$XML_DETAILE['SortExc']);

2. defineの定義が""|''で括るように強化された対応
 define(PLEPOS_NMPos, 'top')→define('PLEPOS_NMPos', 'top');(mpdweb.php)

3.UBUNTU24.04で「DOCUMENT_URI」が使用できなので代わりの変数を使用

4.エラー検出強化し、調査時の補助になるようにした。
 XML設定「$XML_CONF」をXML展開(get_object_vars)のエラー検知   
    (mpdweb.lib.php,mpdweb.lib_appli.php)

5.SharedMemoryClassの変更による対応(mpdweb.lib_mpdshm.php)
 shm_const['id']がStringがObjectになっていた。
 ObjectCreate後,SharedMemoryR/Wでのディスクプリタを修正。
 ScreenOutで使用できなくなったため、デバッグは"proj"(Project)にした。
 伴い、Open後のチェックを強化した。
  sshでSharedMemory AllDelete方法をコメントに残した。
  ipcs -m | awk '{print $2}' | grep -E '^[0-9]+$' | xargs -I {} ipcrm -m {}

6.Striming再生でServerがLocalhostの場合、自ServerIPを示すようにした(mpdplayer.php)

7.Glib:imagemagickInstallコメント追加(mpdartlist_gdlib.php)
 (インストールしなくても動作するので単なるコメント)

8.Post:PostSendUpdate関数(mpd Update)を修正
 マルチPCのアップデートの引数の型が一致していなかったのを修正。

9.MpdHost(下段のHost切り替え/お気に入り)の色を変えた。
 Frame/MpdALSAデバイス切り替えはと,他ページに遷移する設定と区別できるようにした。

10.TaskServerとのI/FでTimeoutになることが解決していない。
 MoOdeAudioに設定したTaskServerの場合,5秒掛かるが未決。現対応としては,
 mpdtask.xml<TaskServer><Timeout>10</Timeout>に設定
 Ubuntu PHP7では速度は問題ない。コマンド送信後、最初の受信のレスポンスが長い。
 影響としては「:」Functionの「Reboot」「mpd:Auto/Man」切り替え。
 Mount/Task/mpdの設定が遅くなる

11.mpdweblinkのURL取得方法に追加設定Last.FM/WikiのFrame表示時に有効
 curlをインストールしなくても使用できるようにした。
 MusicPlayの負荷を軽減するため使用できるように設定できる。
      mpdweblink/setting:<GetHTML><Use_curl>on|off</Use_curl>
         "on":Get Urlをcurlで行うのが従来設定。デフォルトでoffに設定している。
         ArchLinux上では,セキュリティーが高く,ResponseがMaskされている。(対応済)   

12.setTimeoutのUnLoad時TimerClearを入れた。
  長い秒数のセットがあった場合,次回のSetで不要にUnloadのケースがあった
  (5秒程度では次回までにClearされている。)

13.下部拡張の「Favorites」バーのiFrameのheightの設定でJspを可能にした。
  (widthはFrame内に作成の意味で現行のまま)
 設定ファイルmpdmyset.xml TAg:<Favorites><frame>height:'{jsp}'; :'
 window.innerHeightでResizeを可能にした。

14.Album内容表示機能に先頭のMusicファイルを代表としてDirectoryを隠し項目として追加した。
  外部連携用項目