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するので効果は少ない?)
    が、本版の最終形と考える。

2018年7月3日火曜日

mpdweb 1.27 機能追加&修正

2018-07-01:Ver1.27 追加機能/修正/設定変更....
1.PlayPanelにCommonPanel Playlistを作成 List/File/Playlist/SearchでPlaypanel Status/Postionをクリックで起動する。
  XML設定ファイル:<DISP_Config><CmnPalelPL_Position>offを新設。設定がない場合のデフォルト on
  <Additional_Func><CommonPL>で拡張設定
  Post復帰後、Jsの関数を実行できるようにした。(セキュリティ的には良くないがローカル使用なので)
  これにより、
  Js内で通常のCallback&Post完了後のCallback(JsでのユーザI/F用)/PHPからのPost完了後Callback(定型処理) (初期作成モード)
  Post時目的の処理後、&cdで連続しPHP Callback(復帰し再ポストしなくてもCallbackできるのでレスポンスの短縮モード)
  Post時目的の処理後、表示処理後、HTML送信後、Js関数を実行することで待ち合わせなしで関数実行する。
  が用意できたことになる。
2.PlayPanelにCommonPanel Playlistを作成したことに伴い、NowMusicのPlaylistにAdd(追加)時もPlaylistを表示するための変更をした。
  XML設定ファイル:<Album_inf><Additional_Func>でPostPlAdd(Addを使用している場合、Callback「AddCB」を新設したため同設定を入れ替えた。
  ※ Callback名を統一していると変更時に対応し易いので合わせるようにする。
3.各機能に配置したAddボタンの機能にAlbum内容に追加。設定により、1曲のみ再生が可能になるのでより簡単に使用する設定ができる。
  XML設定ファイル:<Additional_Func><FildDtl>
  ※File機能ディテール、Playlist機能ディテール以外は実装した。この機能についてはなくても良いと考えている。
4.Search機能で、ディテールの最終位置を検出しているJsを変更した
  CurrentScrollStop()→RequestScrollStop()にすることで、CurrentScrollStop()をNowMusic専用にしロードモジュールを制限した。
5.File機能に追加/修正。使用感から修正
  ・ディレクトリ表示もファイル同様"Detaile"時、Last-Modified(最終更新日時)を表示
   FilePathのRolloverをディレクトリ切り替え後も継続する。Rolloverクリックでオフまで有効。
  ・File階層時のAlbumArtをディレクトリ時のAlbumArtと分けた
   XML設定ファイル:<DISP_Config><File_DtlArt>on|off(ディフォルト)
      <File_Interlock>on</File_Interlock> DispFileのArt ON連動モード: off|on ArtON時DtlArtもONにする
6. Album画面に「Info.」ボタンの設定を変更した。info:表示 no:非表示 none:なし
  XML設定ファイル:<DISP_Config><Album_info>info</Album_info>を追加
7. File画面に「Info.」ボタンの設定を追加した。info:表示 no:非表示 none:なし
  XML設定ファイル:<DISP_Config><File_info>info</File_info>を追加
8. File画面にAddボタンを機能拡張用としてレベルアップした
  変更、XML設定ファイル:<Additional_Func><File></File>と設定した場合ファイルヘッダから該当ボタンを表示しない。
  追加、XML設定ファイル:<Additional_Func> <File_Dir>:ディレクトリラインに機能追加
  <File_Dtl>:ファイルラインに機能追加 <File_Album>:ファイルラインヘッダに機能追加
9. File画面のDetailボタン表示機能を変更した。更新日時順"Modifi"を追加、タグ表示と切り替えることができる。
  XML設定ファイル:<DISP_Config><File_detail>,detail,modifi,moddtl</File_detail>と拡張した。
  切り替え順と、必要なボタンを設定する。
10. <Additional_Func>で$DefaultArtist$が変換しないので修正した。
11. ソート指定にディセンディングを可能にした。指定は{Filed:d|D|a|A} d,D:ディセンディング d,A省略:アセンディング
  ロジック追加において,ロジックを共通化したため設定が各所で同じ書式となった。
  XML設定ファイル:<Album_inf><Artist>%{[0]:filed}%書式:%Enc:{filed}{:A|D}%,%B64:{filed}{:A|D}% A|D:Sort方向
  追加:<Sort_Base><Sort_FieldMode>
  <Sort_Base><FieldLength>
  <Sort_List><{filed}>
  <Sort_Lsinfo><{Playlist|Directory}>
  <DISP_Config><Search_Combo>{Filed}{:}{A|D}</Search_Combo>
12. NowMusicストリーミング時の表示方法を変更。AlbumArt部にタイトルが表示できる場合に表示。
13. デバック用 TblDumpをテスト時見やすいように改善した。
14. CommonPanel Playlist、HistoryBoxでスクロールバーを非表示の設定をできるようにした。
  <Style_config><Scrollbar>off<Scrollbar>
  PC版のスクロールバーで行が崩れるのと情報が減るため。PCでは矢印キー、スクロールバー以外でマウスでの操作は可能。
  タブレットの操作は変わらない。
  方法を考案中。
  V1.27機能アップの概要
    Sortの全機能追加(作成当初は最低ロジックで作成したため)
    次期に向けての追加を全機能に追加した。(<Additional_Func>への対応)
    今後外部モジュールへのリンクもこの機能で対応する予定。

2018年6月3日日曜日

mpdweb 1.26 不具合&修正 &設定変更

1.AlbumArtクリック時の動作を変更。Add&Playとした。
   設定<Album_inf>にAdd,Clear&Addをコメントとして置いたので必要に応じ変更して使用。
2.Function「Clear」時、PlayPanelのStatusが表示していなかったので表示した。
   表示していなかったことが原因でPlay,Stop,Pauseの色が変わらなかったので修正した。
3.AlbumArtクリック時 Evnetを破棄したいときExitと記載をreturnに修正(IEはデバックするかのメッセージを表示する)
4.Search機能でAlbumSearch時QueryにAlubmが二重に指定されていたのを修正
5.各機能に配置したAddボタンの機能を変更した。機能の範囲も広げた。Image部に追加(Find/File)
   動作を設定可能にし、デフォルトをPlayにした。Play:Clear&Add&Playとなっている。
   設定を削除すると今までの機能になる。
   それに伴いXML設定ファイル:<Additional_Func>{Function}</Additional_Func>
6.NowMusic画面の外部起動設定<Extend_Link>の記述方法が[]で囲むようにしていたが他と合わせ%{Filed}%も可とした。
7.曲の再生時間編集方法を追加した。
   XML設定ファイル:<LibConf><SecEdit>設定されていなければ今までと同じ編集。hh:mm:ss
8.JspないURLエンコードを配列化した。
9.Album表示listart/listexc時、Artistの判定をしていなかったので追加
   QueryにArtistが含まれる場合、Query外のArtistを表示、Artistが含まれなければ DefaultArtist を表示
   DefaultArtist外を表示時、区別のため色を変えている。
10.Album表示list時、ヘッダSpeedModeのコメントを入れ有用性が分かり易くした。

2018年5月15日火曜日

mpdweb 1.25 不具合&修正

mpdweb 1.25 不具合&修正アップしました。
1.Album機能でInfo.機能にアクションを追加した。
   <{Filed}>{filed}%} onclick={js} JSPを追記できるようにした。
  それに伴いXML設定ファイル:<Album_inf>を入れ替えた。実行環境で、カスタマイズした場合、onclickを確認。
2.File機能で最後のディレクトリと先頭一致部分があると戻りディレクトリが不正となる不具合を修正
そろそろ次期機能に取り掛かりたいのですが、時間とか調べものとかありなかなか進めません。

2018年4月17日火曜日

mpdweb 1.24 不具合&修正

1.Alubum内容/File画面/Playlist内容で1アクションで再生Playlistに追加できるようにした。
   Addボタンを追加した。Alubum内容/File画面は追加、Playlist内容はClear/追加
2.ディテールからも1アクションで再生Playlistに追加できるようにした。
   AlbumArt/List(listart/listexc:設定名),PlaylistにAddボタンを追加した。Alubum内容/File画面は追加、Playlist内容はClear/追加
3.File画面 HistoryBoxの上が欠けていたのでBoxを下げて修正。

2018年4月2日月曜日

mpdweb 1.23 不具合&修正方法閃いた&ドキュメント修正

1.Sortに大文字/小文字区別しないを同封のsetting/mpdconfig.xmlに追記
ロジックは組まれていたが設定になかったので追加設定。
  XML設定ファイル:<Sort_Base>
2.Album機能でInfo.機能を追加したが、項目ごとに定冠詞、大文字小文字区別に対応していなかったのを変更。
 ロジック/動作の期待値が複雑と止めていたが対応した。
3.NowPlay画面Playlist部でストリーミングのFunction:Link to Contensをクリック時、File画面で表示内容がない状態になっていたのを修正。
4.NowPlay画面Playlist部でAlbum内容表示に飛び、Listボタンを押したとき、List表示でAlubmリストを表示していたのを修正。
  File画面で同様な操作があるが、ArtistかAlbumArtistになるので同じ機能にした。Playlist部ではArtistかAlbumArtistかわからないのでトリッキーになってしまった。
5.XML設定ファイルで、<Extend_Link>を一連を削除した場合、内部でエラーを起こしていたため修正。
6.ドキュメント Readme_mpdconfig.txtを更新
  前版では、機能、設定する必要性から見ての順で記載していたが、mpdconfig.xmlファイルの記載順に改定した。
7.XML設定ファイルで、<Album_art>より余計なものあったので削除
8.Readme_mpdweb_volumio2.txtを同封しました。volumio2にmpdwebをセットアップ用に自身で使用していたものです。
オペマニが未修正となっています。

2018年3月22日木曜日

mpdweb 1.22 不具合&方法がひらめいたので修正

1. Album画面/Find画面/Search画面のSort修正。Info機能でテキスト部に表示したフィールドでSortできるようにした。
  XML設定ファイル<Album_inf>に|sortを記入することでSort対象と判断するようにした。
  XML設定ファイル:<Album_inf><Date>[%DefaultArtist%]|before||noArtist,uncond|sort</Date>
                            <Genre>[%DefaultArtist%]|before||noArtist,uncond|sort</Genre>
2. Album画面/Find画面/Search画面のSort修正。Sortフィールドが存在しないときの2ndチョイスを指定できるようにした。例)AlbumArtist|Artist
  この機能はInfoボタンの拡張と他の設定方法を合わせる部分がある。
  活用するため、mpdライブラリのAlbum一覧を取得するとき、引数にSortフィールドを追加し自由度をあげた。Find/Search機能のライブラリはこの部分は追加していない。
3. Album画面 Artがないとき FunctionBoxの位置がずれていた。
  Infoを表示しているとき、Text表示部でクリックがきかないためのテストで</div>を戻すのを忘れていたため。ソースを修正するならパターンを調査し修正した。