﻿********************************************************************************
   mpdweb Module編
                                                              2023.07.15 Ver1.44
                                                              by.Mikio.Shiratori
********************************************************************************

1.配布ファイル(downloadファイル)
  mpdweb_{Version}_{Date}.tar.gz (アーカイブファイル)

2.アーカイブファイル
  +./setting --- mpdconfig.xml -- XML設定ファイル
                 mpdconfig.xml.light - 外部機能非連携設定 軽量/速度アップ版 
              mpdweb拡張機能設定
                 mpdartlist.xml-- mpdartlist.php XML設定ファイル
                 mpdtask.xml   -- mpdTaskServer XML設定ファイル
                 mpdsetting.xml-- mpdsetting.php XML設定ファイル
                 mpdmyset.xml.sample ---- MPD Host切り替え/Favorites(お気に入り)設定サンプル
              mpdwebオリジナル機能を拡張する設定
                 mpdweb_file.xml.sample - mpdweb Series Func File Add Library設定サンプル
                 mpdweb_list.xml -------- mpdweb拡張機能ListArtXML設定ファイル
                 mpdweb_list.xml.sumple - mpdweb拡張機能ListArtXML Order List MySet設定サンプル
                 mpdweb_playlist.xml    - mpdweb拡張機能PLSPlaylist設定ファイル
                 mpdweb_playlist_myset.xml.moodeaudio - mpdweb拡張機能PLSPlaylist moOdeAudioで使用する場合の設定
              利用時作成されるまたは，個別設定XMLファイル
                 mpdmyset.xml        ------- MPD Host切り替え/Favorites(お気に入り) MySet
                 mpdweb_file.xml      ------ mpdweb Series Func File Add Library設定
                 mpdweb_list_myset.xml    -- mpdweb拡張機能ListArtXML Order List MySet
                 mpdweb_playlist_myset.xml - mpdweb拡張機能PLSPlaylist MySet
              Extend 利用時作成される，個別設定ファイル
                 mpddiretta_config.php ----- mpdweb Extend DirettaMemory Play 設定PHP
                 mpdupnp_config.txt  ------- mpdweb Extend UPnP(DLNA)DMR WebUI SSDP Request Reslut File
                 mpddayli.cron  ------------ mpdweb Extend /etc/cron.d登録サンプル3時実行startp_mpddayli.conf.sampleでCopy
                 mpd2roon.conf ------------- mpd to Roon Playlist変換
              Extend Test時使用できる 個別設定ファイル(作成不要)
                 mpdsetting_mpd.xml -------- mpdconfig.php : mpdweb Extend ALSA Device to mpd.conf
              Extend at Commandの予約実行定義
                 mpdatjobs.conf

  +./mpdweb.php       ----------- mpdwebプログラム本体
     mpdweb.lib_appli.php ------- mpdweb Series Application Common Library
     mpdweb.lib.php   ----------- Common Library
     mpdweb.lib_mpd.php --------- mpd Library (Non Shared Memory版)
     mpdweb.lib_mpdshm.php ------ mpd Library (Shared Memory版)
     mpdweb.common.css ---------- mpdweb Series common style sheet
     mpdweb.common.js ----------- mpdweb Series common jsp
     mpdweb.lib.sort.js --------- mpdweb Series Sort Jsp JsItemSort不要設定では,モジュール不要
     mpdweb.file.lib.php -------- mpdweb Series Func File Add Library (Extend)
     mpdcmnses.lib.php ------- -- mpdweb Common Session Library

     以上の基本モジュールでは/viewerjs/jquery/pdfjsは使用していない。  
     以下の拡張モジュールを設定で結合すると使用できるようになる
     設定で拡張部を削除すると/viewerjs/jquery/pdfjsは不要。

     mpdsetting.php ------------- Mpdweb設定
     mpdsetting_hostcnf.php ----- MPD Host切り替え/お気に入り設定
     mpdsetting_Extendmod.php --  mpdweb拡張機能ListArt/PLSPlaylist使用未使用設定Web
     mpdxmlconfig.php ----------- XML設定
     mpdxmlupdate.lib.php ------- XMLファイルUpdateLibrary
     mpdpclist.php -------------- Port使用PCList

     mpdartlist.php  ------------ mpd Art List
     mpdartlist_extend.php ------ 内部拡張Viewerモジュール jquery/jquery-uiをLinkしている
     mpdartlist_external.php ---- 外部Viewer I/F モジュール
     mpdartlist_gdlib.php ------- 外部Image Encoder GD/Imagic Library

     mpdtask.php ---------------- mpdweb Make Function & Taskserver Client
     mpdtask.if.lib.php --------- mpdtask Task ServerClient Library
     mpdtask.sock.lib.php ------- Soket Library
     mpdilist.php --------------- Input補助機能 IndexList
     mpdclock.php --------------- mpdclock
     mpdtool.php  --------------- mpdwebシリーズ Tool集(2020/05/01現在1機能)
     mpdhost.php ---------------- MPD Host切り替え/お気に入り
     mpdhost.lib.php ------------ MPD Host Common library
     mpdhost_multi.php ---------- Mpd Multi Host library
     mpdweb.libcajax.js --------- mpdwebシリーズ Ajax共通関数
     mpdweb.list.php ------------ mpdweb拡張機能ListArt
     mpdweb.list.setting.php ---- mpdweb拡張機能ListArt設定
     mpdweb.playlist.php -------- mpdweb拡張機能PLSPlaylist
     mpdplayer.php -------------- mpdweb拡張機能mpd HTTP Striming
     mpddayli.php --------------- mpdweb拡張機能mpd D/B Update
     mpdwebfavicon.ico  --------- Favicon 16x16,32x32,48x48,96x96,128x128

   Extend Module
     mpdatset.php --------------- mpdweb at Reserv set
     mpddirettamp.php ----------- mpdweb Extend DirettaMemory Play
     mpdupnp.php ---------------- mpdweb Extend UPnP(DLNA)DMR WebUI
     mpdcliconf.php ------------- mpdweb Extend upmpdcli-qobuz対応設定
     mpdconfig.php -------------- mpdweb Extend ALSA Device to mpd.conf
     mpdminidlnadb.php ---------- mpdweb Extend miniDLNA WebUi
     mpdcheck.php  -------------- mpdweb Extend Setting Check
     mpdradiko.php -------------- Radiko Encode&Bridge
  + ./mpdweblink ---------------  mpdweblink URL Link実行環境
       mpdweblink_readme.txt ----  mpdweblink Readme
       mpdweblink.php -----------  mpdweblink URL選択
       mpdframe.php -------------  Frame Web Browser
       mpdgethtml.php -----------  GetHTML URL Exec
       mpdframe_extend.php ------  Frame Addin Resize (jquery連携用)
       + /setting  --------------  mpdweblink設定
         mpdweblink.xml  --------   mpdweblink設定XML

   + ./shell
       mpdtaskserver    --------- mpdTaskServer開始Shell
       mpdtaskend       --------- mpdTaskServer終了Shell
       mpdtaskserver.pl --------- mpdTaskSserverプログラム本体
       mpdstate.pl      --------- mpd,conf 編集
       mpdmount.pl -------------- mpd Mount開始Shell
       mpdendkick  -------------- Task End Kick Controle ; Task存在確認&終了Kick
       mpdstart.pl -------------- start.d/*.conf Task Kisk
       mpdpatch.pl -------------- patch command(簡易版) (*.diffを適用)
       mpdsetpass.sh ------------ MultiHost Password Search Shell
       mpdextendset.sh ---------- mpdweb拡張機能ListArt/PLSPlaylist使用未使用設定Shell
       mpddayli.sh -------------- mpd D/B Uudate (cron.d/atで動作)
       mpdatset.sh -------------- at 予約セット(setting/mpdatjobs.conf)
       mpdatremove.sh ----------- at 予約削除
       mpdatclean.sh ------------ at 不要予約Clear(過去未実行削除)
     RoonをSDで使う場合のシリーズ
       mpd2roon_watch.sh -------- mpd to Roon Playlist変換 Directory監視
       mpd2roon.sh     ---------- mpd to Roon Playlist変換 Shell
       roonlog_trim.sh ---------- RoonBridgeのLogを削除(新4ファイル残す)
       roonlogs.sh     ---------- RoonBridgeのLogをSharedMemoryに移動
       roonmcnid.sh    ---------- RoonBridgeのrmembid increment(machine-idになるidをincrement)

   + ./init.d
       mpdtask  ----------------- /etc/init.d/用開始設定Shell MpdTaskServer
       mpdmount ----------------- /etc/init.d/用開始設定Shell Mpdweb Mount
       mpdstartup --------------- /etc/init.d/用開始設定Shell Mpdweb StartUp 

   + .service                     init.dを対応していない場合のsystemctl servcie
       mpdtask.service  --------- Service開始Shell MpdTaskServer
       mpdmount.service --------- Service開始Shell Mpdweb Mount
       mpdstartup.service ------- Service開始Shell Mpdweb StartUp 
       mpd2roon.service --------- mpd to Roon Playlist変換Service
       mpdatset.service --------- at予約セットServic (mpdatset.sh:setting/mpdatjobs.conf)
     RoonをSDで使う場合のシリーズ
       roonlogs.service --------- RoonBridgeのLogをSharedMemoryに移動 (roonlogs.sh)

   + ./mount.d ------------------ Mpdweb Mount設定
       Readme.txt --------------- Readme
       mount_1.conf.sample ------ mount sample

   + ./start.d ------------------ Mpdweb StartUp Shell : mpdstartupで起動Shell
       startp1.conf.sample ------ Start時に起動サンプル: Volumio2停止が設定 : startp1.confにRenameして使用
       startp_roonbridge.conf.sample: roonbridgeスタートサンプル:roonbridgeをMPDWEBから起動する場合に使用
       startp_mpd.conf.sample --- mpd.confを戻しStartUp /etc/mpd.conf.now(復旧させたい設定) →/etc/mpd.conf
       startp_mpddayli.conf.sample mpdweb拡張機能 mpd D/B Update cron.d 登録 有効時再起動で登録するが、実行しても良い
   + ./log ---------------------- DebugLog / Patch Temp
       Readme.txt --------------- Readme

  +./viewerjs  : JavaScript image viewer : (c)2018 Chen Fengyuan
     Readme.txt     ------------- viewerjs ライセンス/訳など 本シリーズで作成
     viewerjs.php   ------------- viewerjs/mpdweb Series I/F 本シリーズで作成
     以下Original

  +./pdfjs-2.0.943-dist : PDF JavaScript viewer : Apache License
     PDF.js.txt        ---------- Howto Install 本シリーズで作成
     PDF_Parameter.txt ---------- PDF Parameter 本シリーズで作成
     以下Original

  +./perfect-scrollbar : The MIT License (MIT) Copyright (c) 2012-2017 Hyunje Jun and other contributors.
     perfect-scrollbar_Readme.txt:使用上メモを追加
    以下Originalからdist以下/css以外を削除

  +./jquery-ui-1.12.1 : jquery-ui : (c) jQuery Foundation and other contributors
    以下Originalからthemes以下 サイズを縮小するためbase以外を削除
          mpdclock.php            : Clockデザインに使用のため必須
       以下jqueryがない場合、一部機能リサイズが使用できなくなる
          mpdartlist_extend.php   : 内部拡張Viewerモジュール:リサイズに使用
          mpdweblink\mpdframe.php : mpdweblink URL フレーム :リサイズに使用

  + ./mpdweb_readme : document
     Correction history.txt             : 履歴
     Module.txt                         : モジュール構成
     Readme_install.txt                 : Howto Install
     Readme_mpdconfig.txt               : Howto Setting
     Readme_mpdweb.txt                  : Readme
     Readme_mpdweb_volumio2初期.txt     : mpdweb Volumio2初期 Howto Install
     Readme_mpdweb_volumio2.668以上.txt : mpdweb volumio2.668 以上 Install
     Readme_mpdweb_MoOdeAudioインストールl.txt  : mpdweb MoOdeAudio Install
     付録 Readme_mpdweb_Volumio2 snapcast serverインストール.txt : mpd ストリーミング Install
     付録 Readme_LMS_ラジコ_インストール.txt    : volumio2 ラジコ Install
     付録 Readme_RoonBridge_インストール.txt    : Roon Bridgeインストール
     付録 Readme_NetworkAudiod_インストール.txt : HQPlayer NetworkAudiod インストール
     付録 Readme_moode_DirettaALSAdriverインストール.txt: MoOdeAudio DirettaALSAdriverインストール
     付録 Readme_SDCord拡張.txt                 : SDカードの容量まで拡張
     付録 Readme_mpd_device書き方.txt           : ALSA , mpd.conf 設定方法
     付録 Readme_mpd_DB_UPdate.txt              : mpd D/B Update定時間実行
     付録 Readme_mpd_to_Roon_Playlist変換.txt   : mpd to Roon Playlist 変換
     付録 Volumioを停止するとUpmpdcliが停止する(DLNAからキャストできない).txt
     付録 mpdwebの起動時実行サンプル.txt        : mpdwebの起動時実行サンプルモジュール説明

  + ./tool : 確認用モジュール
     mpdphpinfo.php --------------------- phpinfo+http user/group/PHP Memory確認
     mpdsession.php --------------------- MpdWebシリーズ Session確認
     mpdclient.php  --------------------- Mpd I/F MimeType統計確認
     mpdserver.php  --------------------- Server情報確認
	 mpdtaskservertest.php -------------- Task Server Command実行テスト
     mpdweb.phpと同じディレクトリに移動して使用する

   ※Operation Guideは別途Download(Operation Guide)
   ※インストーラーは別途Download(mpdweb_inst)


 ※使用時,初回設定保存があったとき,以下は自動生成する。
  +./setting --- XML設定ファイル
    mpdweb_file.xml : MPD Host切り替え個人用設定
    mpdmyset.xml    : mpdweb Series Func File Add Library個人用設定
  配布ファイルではないため,バージョンアップ時に上書き対象ではない。
  個人向けにバックアップをお勧め。

3.Librayの自動選択
  ./setting/mpdconfig.xmlの設定 <Shm_Project>
   <Used>off</Used>時 : mpdweb.lib_mpd.php    を使用する
   <Used>on</Used> 時 : mpdweb.lib_mpdshm.php を使用する

4.モジュール名の決定
   mpdweb.php : 本体のモジュール名:mpdweb (拡張子を除いた名称)
   各Librayのモジュール名は..
     {本体のモジュール名}.lib.php        : 共通Library
     {本体のモジュール名}.lib_mpd.php    : mpd Library (Non Shared Memory版)
     {本体のモジュール名}.lib_mpdshm.php : mpd Library (Shared Memory版)
   となる。

