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>を戻すのを忘れていたため。ソースを修正するならパターンを調査し修正した。
2018年3月22日木曜日
2018年3月18日日曜日
mpdweb 1.21 アップしました
1.List表示で前回使用したモードを使用するのを忘れていたためXML設定ファイル:List_Field_{Filed}を使用していなかった部分があった。
$_SESSIONとList_Field_を作成しておいて、忘れていたことが判明したため修正
アップした直後ですがすっかり忘れていました。
$_SESSIONとList_Field_を作成しておいて、忘れていたことが判明したため修正
アップした直後ですがすっかり忘れていました。
2018年3月17日土曜日
mpdweb Ver1 あとがき
修正に際し、本ソフトウェアをWebにしている理由について。(念頭に置いているので照会)
元々HTML,JSPなど書けないし、Linux(UNIX)はCで開発するもとのと思っていた
(今から二十数年前の知識)。
Shell感覚より、PHPでiRemocon(Glamo社)の利用方法として複数機器からコネクト可能なRapperを書いてみて気が付いたことがあった。
Webからの要求はトランザクションなのでリソース、処理時間の効率が良い。
ブラウザはキャッシュの利用がうまい、また機種の制約も少ない共通プラットホームである。
AndroidなどのClientは、mpdとの交信を当然Clientから行っているので、Wifiを利用しているが通信コネクト回数と通信量は機能により抑えることが難しい。(機器性能が解決しますが)
欲しいmpd ClientがWebソフトには、あるのではと思っい探してみた。
いくつかのソフトを試してみたが、あのライブラリを入れろとか知らない人には割と大変だった。(機能はすごいものがあった敬意を表します)
mpdの側近Serverからコネクト回数が減らせるので速度を稼げる。
あれやこれやとライブラリを要求しないで動く機能とソフト作り。
日本語圏内での作成なので、Sort/表示で日本語問題がない。Sortは、読みSortなどはなし、で英語の間にの日本語が入らない。
構造的に1本で書いてしまったが、分割すれば、ライブラリ部を独立し他の人が使える(無断での使用はお控えください)
このような動機です。(実際にはSQLで書けないのは非常につらかった)
バージョン1に入れたい機能は入れました。今後はバク対応をメインとしドキュメントと次の構想となります。
謝意) Volimoio,VoyageMpd,MPDroid,romprよくできたソフトに対して敬意を表します。
Glamo社様かなり前になりますが、イメージが浮かんだ際、UIデザイナにリモコン番号が欲しいと連絡入れたあと、良い回答を頂き、その後対応されました。
この連絡かはわかりませんが、PHPをとりあえず書いてみた切っ掛けです、敬意を表します。
操作編/設定編がカスタマイズされていないのでそろそろ取り掛かる予定。
今後、拡張モジュール(スクロール位置指定,デレクトリ内のイメージビューワ,設定画面)などが欲しいと。
元々HTML,JSPなど書けないし、Linux(UNIX)はCで開発するもとのと思っていた
(今から二十数年前の知識)。
Shell感覚より、PHPでiRemocon(Glamo社)の利用方法として複数機器からコネクト可能なRapperを書いてみて気が付いたことがあった。
Webからの要求はトランザクションなのでリソース、処理時間の効率が良い。
ブラウザはキャッシュの利用がうまい、また機種の制約も少ない共通プラットホームである。
AndroidなどのClientは、mpdとの交信を当然Clientから行っているので、Wifiを利用しているが通信コネクト回数と通信量は機能により抑えることが難しい。(機器性能が解決しますが)
欲しいmpd ClientがWebソフトには、あるのではと思っい探してみた。
いくつかのソフトを試してみたが、あのライブラリを入れろとか知らない人には割と大変だった。(機能はすごいものがあった敬意を表します)
mpdの側近Serverからコネクト回数が減らせるので速度を稼げる。
あれやこれやとライブラリを要求しないで動く機能とソフト作り。
日本語圏内での作成なので、Sort/表示で日本語問題がない。Sortは、読みSortなどはなし、で英語の間にの日本語が入らない。
構造的に1本で書いてしまったが、分割すれば、ライブラリ部を独立し他の人が使える(無断での使用はお控えください)
このような動機です。(実際にはSQLで書けないのは非常につらかった)
バージョン1に入れたい機能は入れました。今後はバク対応をメインとしドキュメントと次の構想となります。
謝意) Volimoio,VoyageMpd,MPDroid,romprよくできたソフトに対して敬意を表します。
Glamo社様かなり前になりますが、イメージが浮かんだ際、UIデザイナにリモコン番号が欲しいと連絡入れたあと、良い回答を頂き、その後対応されました。
この連絡かはわかりませんが、PHPをとりあえず書いてみた切っ掛けです、敬意を表します。
操作編/設定編がカスタマイズされていないのでそろそろ取り掛かる予定。
今後、拡張モジュール(スクロール位置指定,デレクトリ内のイメージビューワ,設定画面)などが欲しいと。
mpdweb 1.2 アップしました
2018-03-16:Ver1.2
昨年末からの修正は当初考えていた機能のブラッシュアップとバグ潰しとなっている。
内部的に見れば、2018-01-27~ステップは増えているがレスポンス改善もしている。
1.「Extention Panel」をセッション間で有効にした。他クライアントでも共有する。一定時間(最大Watch_Time)で合わせる。
他の画面に切り替えても、主導権を得るようにした。ただし、ブラウザ終了時、主導権が放棄できない場合は移譲できない。
楽器練習モードとして、ここまでが計画範囲
2. ステータスラインの表示を設定できるようにした。「List」/「Album」/「Album内容」/「File」/「Search」でも表示できる。
ステータスラインは post時mpdとの通信状態を表示する。
XML設定ファイル名称:<DISP_Config><Status>on|off</Status> 初期Status表示モード : on|off DispCurrentはCurrent_Statusが設定されていれば優先
<Current_Status>on|off</Current_Status> DispCurrentの初期Status表示モード : on|off -->
NowMusic以外でStatus行とPlayPanelを分離したため、<PlayPanel>none時内部エラーのケースを改善した。
※テストしていて面倒になったため機能追加したが、今までと同様な表示をデフォルトにした。
3. 内部的な変更としてPost内(post:cb=)Callback p=実行後に続けて実行 (Ajaxで結果を待たない)を実装。速度アップのため。
4. ボリュームが無効なときProgressバーの色を暗くし使用できないイメージにした。
5. NowMusic画面で再生中をリストから削除すると、再生中ポジションが一旦最後を表示していたのを修正。表示が決まらない状態では空白にした。
6. PlayPanel ArtistがDefaultArtistを使用してなかったのを修正
7. PlayPanel Alubum Artの設定がなかったので他と同様な設定を有効にした。設定がなければ今まで同様
XML設定ファイル名称:<DispImage><ImageRatio_PlayPanel>
内部はFind/Fileの画面に遷移するときReqestProgramを'playpanel'にした。同じ画面の移動で戻りを判るようにしたいため。
8. PlayPanel Alubum ArtをクリックするとAlbum内容を表示、アルバム・メタデータがなければ、Directoryを表示。
9. Alubum内容表示の画面で、「h」Historyボタンをクリック時ヘッダ部が崩れていたので修正。
10. HistoryBoxの表示方法変更Postモードを可能にした。「h」HistoryボタンでPost実行
XML設定ファイル名称:<DispHistory><DispStyle>Init|Post</DispStyle>Init:初期で作成 / Post:Request時Post。設定なしは「Init:初期」となり今まで同様
※History数が初期設定では20個だが多くした場合、初期でClientに送信量が多くなるので考慮した。
11. 「Back」Buttonでの戻り履歴回数後先頭に戻る、戻りURLをURLに回数分埋め込むため長くなるのでリミットを指定
Album内容/File画面からLinkを繰り返すと6~8回でURLが欠けたりし挙動がおかしくなる。ChromeではURLが長すぎるとエラーが発生する。そのためリミットを付けた。
XML設定ファイル名称:<DISP_Config><HistoryBack>回数
12. 各画面[..]「Common Function」でPlaylist Loadで再生したとき、NowMusic画面以外では、一定時間で最新化されていたのを改善し、即時最新化するようにした。
13. NowMusic画面、「mdb D/B Update」Status表示エリアの背景にステータスの延長として色を付けた。(何もないエリアに見えるため)
14. Album内容画面のArtist時Sort指定にDisc(CD枚数)がなかったので設定に追加した。
XML設定ファイル:<Sort_find><Artist>Date,Album,Disc,Track</Artist>
15. Sort機能に大文字/小文字を区別しない、Directory/FIle/Playlistに定冠詞を除外機能を追加
List/Alubm/File/Playlist/で大文字/小文字区別しない。
Playlistの定冠詞除外(Directory/FIleは副産物で実際の順と変わるのでディフォルトでは設定していない)
Search機能 List/Albumで個別にSort設定できるようにした。またSortディフォルトを設定もできる。
Search機能「Album」ごとではAlbumでAlbum順でまとめる必要がある制約があるため設定を分けたほうが自由度があるため
アルバム内容にSortディフォルトを設定できるようにした、SearchSort設定の副産物でDirectory/FIle/PlaylistでSortができるようになった。
今回修正でSortの指定に見直ししたので、XML設定でこの部分を入れ替えをお勧め。
XML設定ファイル名称:
<Sort_listexclude><playlist>The </playlist>
<Sort_find><Default>Date,Disc,Track</Default>
<Album>Date,Album,Disc,Track</Album> <!-- セレクト対象に「Album」があった場合に使用される -->
<Sort_Search_List><Default>Album,Date,Disc,Track</Default>
<Sort_Search_Album><Default>Album,Date,Disc,Track</Default>
mpdからの応答は、現状では設定を変えなくても動作しているが、設定を追加しない場合、新設項目<Sort_Search_List>/<Sort_Search_Album>未指定ではたまたまSortが目的と一致している。
16. 「PlayPanel」に状態色を付けた。play/stop/pauseを色で判別できるようにした。
17. Streaming再生時のEnd-Timeの表示を--:--とした。カウントは30秒とした。(構造的に30秒Max:WatchTimeとの関係が面倒で効果が少ないため)
18. Jsp のLoadを必要なモジュール+Commonとした。
19. StyleのLoadを必要なモジュール+Commonとした。
20. Album画面に「Info.」ボタンを作成した。AlbumArtにOverlayし設定項目を表示。画像上最大、上下左右4個のみ設定できる。
XML設定ファイル:<DISP_Config><Album_info>none</Album_info>を追加
<Album_inf></Album_inf>一連を追加。選択Filed:Queryごとに設定。List表示からの場合、複数条件時、2次セレクトとなる
この機能を追加したことで、一部設定を合わせないと今まで同様な表示にならないことに注意。
Album画面表示時に、AlbumArtist,Artistがない場合、今まではテキスト部分にAlbumArtist,Artist無条件に表示していなが、設定によるようにした。
具体的には、List画面から、Date/Genreで2次QueryにAlbumArtist,Artistが選択されない場合。
XML設定ファイルを入れ替えない場合、今回配布の<Album_inf></Album_inf>をまとめて追記するとほぼ同じになる。
21. Albumヘッダ部のQueryをクリックでRolloverを追加(Info.ボタンで狭くなったので)
22. List~File,SearchでCommonPlayPanel PlayPanelでArtistクリックするとRolloverでArtist/Title/Albumを表示。エリアが狭いため機能を追加した。
23. テーブルの薄っすらした線(border)を消した。作成以来、気になっていたがプロパティがわかったため。
24. PlayPanelが起動時Offのとき、実行せず、postで内容を取得し速度アップに対応した。
25. Playlist Move機能のコメント"or Touch 'No' of To.."のサイズを小さく色も変えた。
26. Playlistの表示方法を変更「Art」で開くとき、Fileでソートし同じJpgを取りに行かなくし、画面表示時に並びを元に戻す。
前版でも連続していれば、取りに行かない。個人の音楽データ持ち方になるが..
27. 処理中マークが早く消えるケースの対応。ネットのタイムアウトまで待てるモードを作成。
Album/File/Playlist/Search機能は引数を設定。Postのみでの場合、消すタイミングが取れないケースが多々あるので、長くしたい箇所が他にあれば個別対応する。
※ポジショニング・オン時は、Sort後に利用可能になるのに対し、オフ時は表示が始まれば、何らかの操作/参照が可能になるので早く時計マークが解除される。
行数が多い程、時計マークが効いていないように見えるが、この条件は変更しない。早く見る/早く操作するを優先している。
28. mpd関数(mpd Libraryと位置付けている)の修正。Art要/不要の動作を修正。不要時の速度が速いのでライブラリとしては変更したが。全体としての動作に変更はない。
29. Searh Album画面でスクロールのストッパーが効いていなかったのを修正
30. List画面2次Query機能,Album機能Albumボタンの切り替え機能の初期値を配布用のXML設定ファイルで変更した。
List2次Query機能 :Date / Genre選択後は DefaultArtist
Album機能Albumボタン: Default:album,list,listexc(見た目と速度を重視)
Query Date :listart,album,list (情報量~見た目~速度):Dateのみ1次Queryで表示した場合、誰のAlbumかなど判り難いため。
Query Genre :list,listexc,album (速度~情報量~見た目):Genreのみ1次Queryで表示した場合、対象数が多い。
一般的と考えてこの設定にした。前の設定に戻しても差し支えない。
XML設定ファイル:<DISP_Config><List_Field_{QueryField}>/<Album_{QueryField}>が対象
31. NowMusic画面Artクリックで外部Link(拡張機能)の下部に曲Titleを表示している。「transform」で文字を修飾していたが、位置が合わないのと、他とデザインが揃わないので止めた。
今まで文字数を固定してたが、画像サイズに合わせて、文字数を増減するようにした。
32. AlbumArt表示形式(Album/File),横方向Art個数により下部テキストのフォントサイズを変動させた。
※ Album画面QueryFiledの設定でList画面複数Query時,2次Query目を使用するのは,
・Date->Artistを選択時,Artistの動作を要求していると考えている。
・Artist->Date,Artist->Genreの選択は利用度は少ない
20,30の2次Queryが指定されたとき、2次を優先しているのは、このような考え。
ちなみに自宅設定はデータ量のため,List機能で1次Query,Albumを使用できなく設定している
設定方法は組み合わせが多いが、副産物が多いので使用に合わせ不要な部分はマスクしたほうが使用し易いと思う。
昨年末からの修正は当初考えていた機能のブラッシュアップとバグ潰しとなっている。
内部的に見れば、2018-01-27~ステップは増えているがレスポンス改善もしている。
1.「Extention Panel」をセッション間で有効にした。他クライアントでも共有する。一定時間(最大Watch_Time)で合わせる。
他の画面に切り替えても、主導権を得るようにした。ただし、ブラウザ終了時、主導権が放棄できない場合は移譲できない。
楽器練習モードとして、ここまでが計画範囲
2. ステータスラインの表示を設定できるようにした。「List」/「Album」/「Album内容」/「File」/「Search」でも表示できる。
ステータスラインは post時mpdとの通信状態を表示する。
XML設定ファイル名称:<DISP_Config><Status>on|off</Status> 初期Status表示モード : on|off DispCurrentはCurrent_Statusが設定されていれば優先
<Current_Status>on|off</Current_Status> DispCurrentの初期Status表示モード : on|off -->
NowMusic以外でStatus行とPlayPanelを分離したため、<PlayPanel>none時内部エラーのケースを改善した。
※テストしていて面倒になったため機能追加したが、今までと同様な表示をデフォルトにした。
3. 内部的な変更としてPost内(post:cb=)Callback p=実行後に続けて実行 (Ajaxで結果を待たない)を実装。速度アップのため。
4. ボリュームが無効なときProgressバーの色を暗くし使用できないイメージにした。
5. NowMusic画面で再生中をリストから削除すると、再生中ポジションが一旦最後を表示していたのを修正。表示が決まらない状態では空白にした。
6. PlayPanel ArtistがDefaultArtistを使用してなかったのを修正
7. PlayPanel Alubum Artの設定がなかったので他と同様な設定を有効にした。設定がなければ今まで同様
XML設定ファイル名称:<DispImage><ImageRatio_PlayPanel>
内部はFind/Fileの画面に遷移するときReqestProgramを'playpanel'にした。同じ画面の移動で戻りを判るようにしたいため。
8. PlayPanel Alubum ArtをクリックするとAlbum内容を表示、アルバム・メタデータがなければ、Directoryを表示。
9. Alubum内容表示の画面で、「h」Historyボタンをクリック時ヘッダ部が崩れていたので修正。
10. HistoryBoxの表示方法変更Postモードを可能にした。「h」HistoryボタンでPost実行
XML設定ファイル名称:<DispHistory><DispStyle>Init|Post</DispStyle>Init:初期で作成 / Post:Request時Post。設定なしは「Init:初期」となり今まで同様
※History数が初期設定では20個だが多くした場合、初期でClientに送信量が多くなるので考慮した。
11. 「Back」Buttonでの戻り履歴回数後先頭に戻る、戻りURLをURLに回数分埋め込むため長くなるのでリミットを指定
Album内容/File画面からLinkを繰り返すと6~8回でURLが欠けたりし挙動がおかしくなる。ChromeではURLが長すぎるとエラーが発生する。そのためリミットを付けた。
XML設定ファイル名称:<DISP_Config><HistoryBack>回数
12. 各画面[..]「Common Function」でPlaylist Loadで再生したとき、NowMusic画面以外では、一定時間で最新化されていたのを改善し、即時最新化するようにした。
13. NowMusic画面、「mdb D/B Update」Status表示エリアの背景にステータスの延長として色を付けた。(何もないエリアに見えるため)
14. Album内容画面のArtist時Sort指定にDisc(CD枚数)がなかったので設定に追加した。
XML設定ファイル:<Sort_find><Artist>Date,Album,Disc,Track</Artist>
15. Sort機能に大文字/小文字を区別しない、Directory/FIle/Playlistに定冠詞を除外機能を追加
List/Alubm/File/Playlist/で大文字/小文字区別しない。
Playlistの定冠詞除外(Directory/FIleは副産物で実際の順と変わるのでディフォルトでは設定していない)
Search機能 List/Albumで個別にSort設定できるようにした。またSortディフォルトを設定もできる。
Search機能「Album」ごとではAlbumでAlbum順でまとめる必要がある制約があるため設定を分けたほうが自由度があるため
アルバム内容にSortディフォルトを設定できるようにした、SearchSort設定の副産物でDirectory/FIle/PlaylistでSortができるようになった。
今回修正でSortの指定に見直ししたので、XML設定でこの部分を入れ替えをお勧め。
XML設定ファイル名称:
<Sort_listexclude><playlist>The </playlist>
<Sort_find><Default>Date,Disc,Track</Default>
<Album>Date,Album,Disc,Track</Album> <!-- セレクト対象に「Album」があった場合に使用される -->
<Sort_Search_List><Default>Album,Date,Disc,Track</Default>
<Sort_Search_Album><Default>Album,Date,Disc,Track</Default>
mpdからの応答は、現状では設定を変えなくても動作しているが、設定を追加しない場合、新設項目<Sort_Search_List>/<Sort_Search_Album>未指定ではたまたまSortが目的と一致している。
16. 「PlayPanel」に状態色を付けた。play/stop/pauseを色で判別できるようにした。
17. Streaming再生時のEnd-Timeの表示を--:--とした。カウントは30秒とした。(構造的に30秒Max:WatchTimeとの関係が面倒で効果が少ないため)
18. Jsp のLoadを必要なモジュール+Commonとした。
19. StyleのLoadを必要なモジュール+Commonとした。
20. Album画面に「Info.」ボタンを作成した。AlbumArtにOverlayし設定項目を表示。画像上最大、上下左右4個のみ設定できる。
XML設定ファイル:<DISP_Config><Album_info>none</Album_info>を追加
<Album_inf></Album_inf>一連を追加。選択Filed:Queryごとに設定。List表示からの場合、複数条件時、2次セレクトとなる
この機能を追加したことで、一部設定を合わせないと今まで同様な表示にならないことに注意。
Album画面表示時に、AlbumArtist,Artistがない場合、今まではテキスト部分にAlbumArtist,Artist無条件に表示していなが、設定によるようにした。
具体的には、List画面から、Date/Genreで2次QueryにAlbumArtist,Artistが選択されない場合。
XML設定ファイルを入れ替えない場合、今回配布の<Album_inf></Album_inf>をまとめて追記するとほぼ同じになる。
21. Albumヘッダ部のQueryをクリックでRolloverを追加(Info.ボタンで狭くなったので)
22. List~File,SearchでCommonPlayPanel PlayPanelでArtistクリックするとRolloverでArtist/Title/Albumを表示。エリアが狭いため機能を追加した。
23. テーブルの薄っすらした線(border)を消した。作成以来、気になっていたがプロパティがわかったため。
24. PlayPanelが起動時Offのとき、実行せず、postで内容を取得し速度アップに対応した。
25. Playlist Move機能のコメント"or Touch 'No' of To.."のサイズを小さく色も変えた。
26. Playlistの表示方法を変更「Art」で開くとき、Fileでソートし同じJpgを取りに行かなくし、画面表示時に並びを元に戻す。
前版でも連続していれば、取りに行かない。個人の音楽データ持ち方になるが..
27. 処理中マークが早く消えるケースの対応。ネットのタイムアウトまで待てるモードを作成。
Album/File/Playlist/Search機能は引数を設定。Postのみでの場合、消すタイミングが取れないケースが多々あるので、長くしたい箇所が他にあれば個別対応する。
※ポジショニング・オン時は、Sort後に利用可能になるのに対し、オフ時は表示が始まれば、何らかの操作/参照が可能になるので早く時計マークが解除される。
行数が多い程、時計マークが効いていないように見えるが、この条件は変更しない。早く見る/早く操作するを優先している。
28. mpd関数(mpd Libraryと位置付けている)の修正。Art要/不要の動作を修正。不要時の速度が速いのでライブラリとしては変更したが。全体としての動作に変更はない。
29. Searh Album画面でスクロールのストッパーが効いていなかったのを修正
30. List画面2次Query機能,Album機能Albumボタンの切り替え機能の初期値を配布用のXML設定ファイルで変更した。
List2次Query機能 :Date / Genre選択後は DefaultArtist
Album機能Albumボタン: Default:album,list,listexc(見た目と速度を重視)
Query Date :listart,album,list (情報量~見た目~速度):Dateのみ1次Queryで表示した場合、誰のAlbumかなど判り難いため。
Query Genre :list,listexc,album (速度~情報量~見た目):Genreのみ1次Queryで表示した場合、対象数が多い。
一般的と考えてこの設定にした。前の設定に戻しても差し支えない。
XML設定ファイル:<DISP_Config><List_Field_{QueryField}>/<Album_{QueryField}>が対象
31. NowMusic画面Artクリックで外部Link(拡張機能)の下部に曲Titleを表示している。「transform」で文字を修飾していたが、位置が合わないのと、他とデザインが揃わないので止めた。
今まで文字数を固定してたが、画像サイズに合わせて、文字数を増減するようにした。
32. AlbumArt表示形式(Album/File),横方向Art個数により下部テキストのフォントサイズを変動させた。
※ Album画面QueryFiledの設定でList画面複数Query時,2次Query目を使用するのは,
・Date->Artistを選択時,Artistの動作を要求していると考えている。
・Artist->Date,Artist->Genreの選択は利用度は少ない
20,30の2次Queryが指定されたとき、2次を優先しているのは、このような考え。
ちなみに自宅設定はデータ量のため,List機能で1次Query,Albumを使用できなく設定している
設定方法は組み合わせが多いが、副産物が多いので使用に合わせ不要な部分はマスクしたほうが使用し易いと思う。
2018年3月16日金曜日
登録:
投稿 (Atom)