MPDWEB 紹介/特徴

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

2018年9月13日木曜日

mpdweb 1.28 追加機能/修正/設定変更....

1. 共通FunctionにPHPに割り当てMemoryを表示
2. MPD D/B Update中にUpdateするとTimeoutを待ってしまうのを修正
   XML設定ファイル:<Mpd_Update><Para>ignoreでなければ、即終了。 ignore時は強制更新(Update 複数Task)
    ※sync:同期モードは完了を待つが、現プログラムは強制的にsyncにならなくしている。
3. File/DirectoryからのMPD D/B Update設定を別にした。
    短時間また、連続してUpdateを想定し'ignore'をディフォルトにする。
    UpdateしていないときもUpdateされるかも知れないので監視する。
    XML設定ファイル:<Mpd_Update><Para_File>ignore</Para_File>  : File機能でMpd D/B Update時のパラメータ
         <DISP_Config><DispUpdate>on</DispUpdate>   : HeaderにMpd D/B Updateを表示するかの設定
        <JS_Watch><Watch_UpdateIdol>60</Watch_UpdateIdol> : HeaderにMpd D/B Updateを表示する場合のUpdateしていないときの監視時間
    ※監視は避けたいが、Shared Memoryを使用する場合、クリアタイミングを作成しておく。
    UpdateしていないときEventが発生しないので監視時間を設定する
4. MPD D/B Update表示のブリンク方法を変更
    Tag<marquee>は廃止仕様ということなので style:animation にした見え方が若干変わったが機種による違いが目立たなくなった。
    5. File表示で次階層がMusicデータないかチェックを設定でしない設定を許可した。(レスポンス改善となる)
    設定を生かすと空のディレクトリも表示される。
    XML設定ファイル:<LibConf><Lsinfo_Class>off|on (on:チェック、ディフォルト off:はチェックしないので早い)
6. 配布用設定ファイルList機能からAlbumを削除した。(Album一覧は人により、かなりな量になるため)
    XML設定ファイル:<DISP_Config><List_Comb>Artist,AlbumArtist,Date,Genre</List_Comb>
7. Playlist機能Detailsの初期表示:PlayList内で指定Music個数を超えたとき強制ArtOff (AlbumArt表示が多量になると遅いため)
    XML設定ファイル:<DISP_Config><Playlist_Force>
8. 引数なしでNowPlay機能を起動したとき、Album/List(Art)を初期設定値(<Current>list</Current>)にする。
    XML設定ファイル:<Current_First>{on|off}</Current_First>
    ※「7.Playlist機能Detailsの初期表示」同様AlbumArtが多数のとき、起動に時間がかかるので救済処置
9. 配布用設定ファイルAlbumArtの設定を変更XML設定ファイル:<Album_art><path>http://localhost/Music</path>→<path>http://volumio.local:88/Music</path>
    localhoat"に設定時,php実行サーバとPortに付け替えるので変更せずに使用できるケースが多いと判断。
    環境に合わなければ元の設定をコメントアウトしているので戻すか設定を行うようにして下さい。
10. PlayPanelのJump機能を変更。
    Artistをクリック時,Rollover表示→再生ArtistのAlbum表示にJump(同じArtistはJumpしない)
    下段Album/Titleクリック        →再生情報のRollover表示
11. 表示用日付の編集でTimeZoneを使用していなかったので設定できるようにした。"Asia/Tokyo"を固定で使用していた。
    XML設定ファイル:<LibConf><TimeZone>Asia/Tokyo</TimeZone>を追加。
12. 再生Playlistがなく「Common Function」「PlayPenel」Onの状態で各機能画面を表示し,PlayPenel」Offにするとディティールが消える不具合を修正
13. Playlist画面ListのAdd Function機能変更。未設定時,「Add」ボタンを表示していたのを止めた。
    未設定時,ボタンなしを有効にしたかったので初期表示を変更した。(最も軽いのを初期とした)
    XML設定ファイル:<Additional_Func><!--<Playlist>Add.. >--> の設定が今まで同様の設定。
14. File画面HeaderのAdd Function機能変更。未設定時,「Add」ボタンを表示していたのを止めた。
    未設定時,ボタンなしを有効にしたかったので初期表示を変更した。デザイン的にDispFileMusicHeaderと同時表示はないので未設定時、非表示にした。
    XML設定ファイル:<Additional_Func><File></File>.. の設定をしなくも良い
15. Playlist画面ListのDetailボタン表示機能を変更した。更新日時順"Modifi"を追加、タグ表示と切り替えることができる。
    XML設定ファイル:<Playlist_detail>,detail,modifi</Playlist_detail>
16. File画面のDetailボタン表示機能にモードを追加した。File表示時、dtlmod:更新日時(Sortなし)、Musicタグなし
    XML設定ファイル:<DISP_Config><File_detail>,detail,dtlmod,modifi,moddtl</File_detail>と拡張した。
17. mpd D/B Update完了後 NowPlay画面以外で "NeNew"ボタンを表示
    XML設定ファイル:<Mpd_Update><EndDisp>on|off</EndDisp><EndDisp_Current>on</EndDisp_Current>
18. Sesion_idの取得方法を変更した。(前版までは,設定があったが使用していなかった:ロジック都合より)
    変数による設定を行うようにした。%MpdHost%:MPD Host ,  %PHPHost%;PHP Server , %Client%:Reqest Client
    History,各Function(Album/Detail/Art)などをSessionで管理しているが名称を設定する際にバリエーションを可能にした。
    Mpd Serverごと/WebServer(PHP)ごと/クライアントで個別に設定できる。
    MusicData Serverが同一時または個別などでの使用を考えて考慮。
    XML設定ファイル:<php_session><sesion_id>mpdweb-%MpdHost%
19. Statusの表示方法変更。先頭を大文字にした。"play"→"Play","stop"→"Stop"....
    mpdから受信した文字列を直接表示していたが,Jspで判断するとき大文字小文字の区別をしないようにした。(スペルを変えなければOK)
20. 関数名を整理のため変更した。
    edit_albumart→mpd_editalbumart
    edit_music   →mpd_editmusic
    editstatus   →mpd_editstatus
        mpd I/Fでのみ使用できるため mpdの支援Libraryの位置づけとした。
21. Shared Memoryを使用しmpdに対する参照要求について再度要求を抑制できるようにした。
    共通Functionに「Cash Clear(Shared Memory)」を追加した。(Shared Memory有効時に選択できる)
    XML設定ファイル:<Shm_Project><Used>on</Used>
    List機能    :<List>1,/tmp,20000,43200,gzcompress,gzuncompress,9</List>
    AlbumArt参照:<Art> 2,/tmp,20000,43200,gzcompress,gzuncompress,9</Art>
    File機能    :<File>3,/tmp,20000,43200,gzcompress,gzuncompress,9</File>
    Mpd I/F機能 :<Cmd> 4,/tmp,20000,43200,gzcompress,gzuncompress,9</Cmd>
    List対象    :<ListTarget>Artist,AlbumArtist,Date,Genre</ListTarget>
    Mpd I/F対象 :<CmdTarget>list,find</CmdTarget>
    Mpd I/F除外 :<CmdExclude>list "Artist",list "AlbumArtist",list "Date",list "Genre"</CmdExclude>
    有効期限(最終参照時からの期限)までか、Updateされるまで有効。
    今回の大きい改修となる。2つの効果を期待している。
    Updateまで変わらない要求、同じ要求に対してを速度Up
    mpdに対すての負荷軽減。
    但し、phpのShared Memoryは意外と遅い。(Memory速度のRasPi2では速度Upが期待できる。)
    Mpd D/B UpdeteでShared MemoryをClearするが、他タスク,他システムでMpd D/B Updeteした場合に反映ケースがある。
    Clientからアクセス時に監視(デフォルト30秒)しているので、本早く終了した場合アクセスしていない場合は反映しない。
        手動でShared MemoryをClearするか有効期限でClearするかが必要となる。
        モジュール名に対してSharedMemoryのIDが生成されるのでモジュール名を変更した場合は手動で削除する
22. モジュールをライブラリと分けた。(今回から追加の「Module.txt」参照)
    SharedMemory未使用時は従来のモジュールをライブラリとしている。
    SharedMemory対応ライブラリも未使用設定も対応しているあが通過判定が少ないための対応としている。
    ※Ver1.27版まで機能を追加したので本版では各部をブラッシュアップした。
        ブラッシュアップ&Shared Memory使用版となったのでモジュールを分けた(Module.txt参照)
        PlaylistはShared Memory対応となっていないが考案中
        (もし対応の場合Playlist編集などで,対象のShared MemoryをClearするので効果は少ない?)
    が、本版の最終形と考える。