MPDWEB 紹介/特徴

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

2018年10月18日木曜日

mpdweb 1.29 修正/設定変更....

2018-10-13:Ver1.29 修正/設定変更....
今回のバージョンアップは、外部モジュールと連携に対して、起動方法の追加と調整とイメージなど共通ルーチンとしたい部分をバージョンアップためmpdwebにも反映が主となっている。
1. Search機能 AlbumのFunctionで「Add This Search」/「Add and replace」/「Add and replace and play」の単位をQueryからAlbumにした。
   今まではQuery(Input条件)を含めていたが、対象がAlbumなので修正。List時は従来同様
    XML設定ファイル:<Additional_Func><SearchAlbum>
       パラメータを変更し修正機能と同じにした。従来の機能をコメントとして残す
2. <html lang=ja>が固定となっていたので設定できるように修正
   XML設定ファイル:<Html_config><lang>jp</lang>
3. Album Art表示の関数を強化した。現在作成中のディレクトリのイメージファイル表示での仕様を取り入れた。
   各Album Artは、ほとんどがサムネイル的な表示なので、正方形として1:1で表示することを基本にしている。
   ・速度の点で使用するかになるが、正方形でない(設定で比率範囲外)と判断した場合、縦横比をキープし、クリップできるようにした。
    各機能ヘッダに表示する場合は気休め程度にはなる。
   ・NowMusicディテール部の設定はヘッダと共通にしていたが分離した。
   ・画面が崩れるような設定でもプログラム中でFixモードを内部的に設けた。
      NowMusicの外部起動設定の画像表示、Album内容、File機能Musicヘッダ以外は、強制的にイメージサイズを固定してる。
      固定したことで縦横比をオリジナル表示にはできなくした。(クリップし縦横比をオリジナルにすることは可能)
   ・NowMusicの外部起動設定の画像表示Album内容、File機能Musicヘッダの画像表示は、縦横比をオリジナルにしてもボタン位置が正常に配置できるようになった。
      XML設定ファイル:<DispImage><ImageRatio>0.80,1.13,{correct} :correctクリップ時の比率を新設(縦横比をオリジナルを崩す比率)
      <ImageRatio_Current_detail>NowMusicディテール部の設定を新設
      ※配布用XML設定ファイル<DispImage>は今回用に張り替えて使用が望ましい。
4. Album内容表示,File機能ミュージックファイルヘッダのボタン下の背景色を半透明にした。
5. NowMusicの外部起動設定の変数設定を増やした。
      XML設定ファイル:<Extend_Link>変数追加
          %dirname% : MusicFileのDirectory
          %SelfURL% : 自URLL (urlencode済:URLパラメータで使用し戻りを渡す前提)
          <href>{URL},urlencode|"",{Name} <Link>同様 : 同じウィンドウタブに表示
          <frame>{URL} position={position} style={style} position:表示位置 ,urlencode|"",{Name} : (疑似)Frame表示
          <Link>{URL},urlencode|"",{Name}            : 別ウィンドウタブに表示Closeで閉じる
          ※ <Extend_Link>と<Additional_Func>で若干設定方法が異なることに注意
          <Extend_Link>はPostで再生ポイントをトレース&外部情報にリンク、またスライドショー的に使うことに対し
          <Additional_Func>は機能追加に使用する目的となっている。
6. Add Function機能に変数設定を増やした。Album内容、File機能ヘッダにボタンを追加設定できるようにした。
       XML設定ファイル:<Additional_Func>変数追加
          $SelfURL$     : 自URL (urlencode済:URLパラメータで使用し戻りを渡す前提)
          %dirname%     : MusicFileのDirectory(Find)
          <Find_Hd>     : Album内容表示のヘッダ部上段ボタン
          <File_Hd>     : File機能ヘッダヘッダ部ボタン
           <File_AlbumHd>: File機能ミュージックヘッダ部上段ボタン
          ※作成中のディレクトリー内画像ファイル表示にリンクするポイントを確保のため。
7. Album内容機能からList機能に戻るときポジショニングできなかったので修正
8. Album内容機能のヘッダにRoolOverを追加
9. 有効な設定でテストモジュール名となっていた行を修正
          XML設定ファイル:<Additional_Func><CommonPL>Clear onclick=RequestByPost($SERVERMD$...にした
10. Test版となるが追加モジュール
    ・mpdartlist.php : Directory Art List : 画像ファイル表示として作成中
    ・mpdclock.php   : Digital Clock      : Frame起動のテスト用に作成
11. 配布設定での注意
    Album内容/File機能でArtをクリック時,ArtList mpdartlist.php : Directory Art Listに移行
            また各局面で画像ファイルを表示したい局面でも起動可能にしている。
    NowMusicでmpdclock.phpを起動可能にしている。

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をセットアップ用に自身で使用していたものです。
オペマニが未修正となっています。